375 lines
7.8 KiB
HTML
Executable File
375 lines
7.8 KiB
HTML
Executable File
<!DOCTYPE html>
|
|
<html lang="pt-br">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Figura 1.4: Seno e cosseno de um ângulo</title>
|
|
|
|
<script type="text/javascript" charset="UTF-8"
|
|
src="../scripts/jsxgraph/jsxgraphcore.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="../scripts/jsxgraph/jsxgraph.css" />
|
|
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
|
|
<script async src="https://www.googletagmanager.com/gtag/js?id=G-G6VT93GC1X"></script>
|
|
|
|
<script type="text/javascript" >
|
|
|
|
var head = document.getElementsByTagName('head')[0];
|
|
var js = document.createElement("script");
|
|
|
|
js.type = "text/javascript";
|
|
|
|
|
|
if ( window.location !== window.parent.location ) {
|
|
|
|
//carregado em um iframe
|
|
var url = window.top.location.href;
|
|
|
|
if (url){
|
|
|
|
var arr = url.split('/');
|
|
|
|
var dominio = arr[2];
|
|
|
|
if (dominio == "www.livro.online" || dominio == "livro.online"){
|
|
|
|
console.log('Iframe carregado no domínio de origem');
|
|
|
|
} else {
|
|
|
|
js.innerHTML = `
|
|
|
|
window.dataLayer = window.dataLayer || [];
|
|
function gtag(){dataLayer.push(arguments);}
|
|
gtag('js', new Date());
|
|
|
|
gtag('config', 'G-G6VT93GC1X');
|
|
|
|
`
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
js.innerHTML = `
|
|
|
|
window.dataLayer = window.dataLayer || [];
|
|
function gtag(){dataLayer.push(arguments);}
|
|
gtag('js', new Date());
|
|
|
|
gtag('config', 'G-G6VT93GC1X');
|
|
|
|
`
|
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
|
//não foi carregado em um iframe
|
|
|
|
js.innerHTML = `
|
|
|
|
window.dataLayer = window.dataLayer || [];
|
|
function gtag(){dataLayer.push(arguments);}
|
|
gtag('js', new Date());
|
|
|
|
gtag('config', 'G-G6VT93GC1X');
|
|
|
|
`
|
|
|
|
}
|
|
|
|
head.appendChild(js);
|
|
|
|
|
|
</script>
|
|
|
|
|
|
<style>
|
|
|
|
@media(max-width:768px){
|
|
.wide {display:none;}
|
|
.mobilefont {font-size:0.8em;}
|
|
}
|
|
@media(min-width:768px){
|
|
.tight {display:none;}
|
|
}
|
|
|
|
html {
|
|
|
|
overflow: hidden;
|
|
max-width: 2000px;
|
|
|
|
}
|
|
|
|
.jxgbox {
|
|
|
|
border-color: #85b8ec96;
|
|
|
|
}
|
|
|
|
.wrap600 {
|
|
|
|
|
|
break-inside: avoid-column;
|
|
|
|
overflow: hidden;
|
|
|
|
}
|
|
|
|
#jxgbox {
|
|
|
|
height:0;
|
|
width: 99%;
|
|
padding-bottom: 40%;
|
|
|
|
}
|
|
|
|
.trigonometria_legenda {
|
|
|
|
font-family: gfs_artemisia;
|
|
margin: 12px auto 20px auto;
|
|
max-width: 450px;
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
span.centro {
|
|
|
|
display: block;
|
|
text-align: center;
|
|
margin: 10px 0px
|
|
|
|
}
|
|
|
|
|
|
.trigonometria_legenda p {
|
|
|
|
text-align: center;
|
|
font-size: 12px !important;
|
|
margin-top: 7px !important;
|
|
margin-bottom: 7px !important;
|
|
|
|
}
|
|
|
|
|
|
@font-face {
|
|
|
|
font-family: 'gfs_artemisia';
|
|
src: url('../gfs_artemisia/GFSArtemisia.otf') format('opentype'),
|
|
url('../gfs_artemisia/GFSArtemisia.ttf') format('trutype');
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body{
|
|
|
|
margin: 0;
|
|
padding: 0;
|
|
|
|
}
|
|
|
|
h1 {
|
|
|
|
font-size: 28pt;
|
|
text-align: left;
|
|
margin-bottom: 43px;
|
|
|
|
}
|
|
|
|
h2 {
|
|
|
|
font-size: 14pt;
|
|
text-align: left;
|
|
margin-top: 30px;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
</head>
|
|
<body>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="wrap600 ">
|
|
|
|
<div id="jxgbox" class="jxgbox" ></div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="trigonometria_legenda">
|
|
<span><strong>Figura 1.4</strong>: Seno e cosseno de um ângulo.</span>
|
|
<p>*Arraste o ponto A.</p>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
JXG.Options.renderer = 'canvas';
|
|
|
|
JXG.Options.text.cssDefaultStyle = 'fontFamily:arial';
|
|
|
|
JXG.Options.text.display = 'internal';
|
|
|
|
var board = JXG.JSXGraph.initBoard('jxgbox', {showCopyright: false, boundingbox: [-4, 1.5, 4, -1.5], axis: true, keepAspectRatio: true});
|
|
|
|
|
|
var o = board.create('point',[0,0], {name:"O", size:"1", fixed: true, label:{autoPosition: true, offset:[-15, -15]}});
|
|
|
|
var a = board.create('point',[0.5, Math.sqrt(1 - Math.pow(0.5,2))], {name:"A", size:"1", showInfobox: false});
|
|
|
|
var v = board.create('point',[1,0], {name:"V", size:"1", fixed: true, label:{autoPosition: true, offset:[10, -15]}});
|
|
|
|
c1 = board.create('circle', [o, a]);
|
|
|
|
var p = board.create('point',[a.X(),0], {name:"P", size:"1", showInfobox: false, label:{autoPosition: true, offset:[10, -15]}});
|
|
|
|
var q = board.create('point',[0,a.Y()], {name:"Q", size:"1", showInfobox: false, label:{autoPosition: true, offset:[10, -15]}});
|
|
|
|
var alpha = board.create('angle', [v, o, a], {fillColor:'orange', radius: 0.1, label:{ visible: false, fontSize:"20px", autoPosition: false, offset:[-5, -17]}});
|
|
|
|
var alpha_value = board.create('text', [0.1, 0.17, function() {
|
|
|
|
return "u = "+JXG.Math.Geometry.trueAngle(v, o, a).toFixed(0) + '°';
|
|
|
|
}], {anchor: alpha, fontSize:"17px", cssDefaultStyle:"fontFamily:gfs_artemisia; fontSize:12px;"});
|
|
|
|
|
|
var li2 = board.create('line',[o,a],
|
|
|
|
{straightFirst:false, straightLast:false, strokeWidth:1});
|
|
|
|
|
|
var li3 = board.create('line',[p,a],
|
|
|
|
{straightFirst:false, straightLast:false, strokeColor:'#00ff00', strokeWidth:1, dash:2});
|
|
|
|
var li4 = board.create('line',[q,a],
|
|
|
|
{straightFirst:false, straightLast:false, strokeColor:'#00ff00', strokeWidth:1, dash:2});
|
|
|
|
|
|
|
|
|
|
|
|
var senoTxt = board.create('text', [-1.1, a.Y(), function(){
|
|
|
|
var graus = JXG.Math.Geometry.trueAngle(v, o, a).toFixed(0);
|
|
|
|
var seno = Math.sin(Math.PI*graus/180);
|
|
|
|
seno = Math.floor(seno*100)/100;
|
|
|
|
|
|
return `${seno}`;
|
|
|
|
}], {cssDefaultStyle:"fontFamily:gfs_artemisia; lineHeight: 1.5; fontSize:12px"})
|
|
|
|
|
|
|
|
|
|
var cosTxt = board.create('text', [a.X(), -0.35, function(){
|
|
|
|
var graus = JXG.Math.Geometry.trueAngle(v, o, a).toFixed(0);
|
|
|
|
var cosseno = Math.cos(Math.PI*graus/180);
|
|
|
|
cosseno = Math.floor(cosseno*100)/100;
|
|
|
|
return `${cosseno}`;
|
|
|
|
}], {cssDefaultStyle:"fontFamily:gfs_artemisia; lineHeight: 1.5; fontSize:12px"})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
board.on('move', function(){
|
|
|
|
var an = JXG.Math.Geometry.trueAngle(v, o, a).toFixed(0);
|
|
|
|
var pot = Math.pow(a.X(),2);
|
|
|
|
|
|
if (pot > 1){
|
|
|
|
pot = 1;
|
|
|
|
}
|
|
|
|
var xis = Math.sqrt(pot);
|
|
|
|
if (an > 90 && an < 270) {
|
|
|
|
xis = -xis;
|
|
|
|
}
|
|
|
|
if (an >= 0 && an <= 180){
|
|
|
|
a.moveTo([xis, Math.sqrt(1 - pot)]);
|
|
p.moveTo([a.X(),0]);
|
|
cosTxt.moveTo([a.X(),-0.35]);
|
|
q.moveTo([0,a.Y()]);
|
|
senoTxt.moveTo([-1.1,a.Y()]);
|
|
|
|
} else {
|
|
|
|
a.moveTo([xis, - Math.sqrt(1 - pot)]);
|
|
p.moveTo([a.X(),0]);
|
|
cosTxt.moveTo([a.X(),-0.35]);
|
|
q.moveTo([0,a.Y()]);
|
|
senoTxt.moveTo([-1.1,a.Y()]);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//Comando para deixar responsivo (OBS.: Só isso não basta, precisa o css também estar configurado)
|
|
|
|
|
|
var resize = function () {
|
|
|
|
board.resizeContainer(board.containerObj.clientWidth, board.containerObj.clientHeight, true);
|
|
board.fullUpdate();
|
|
|
|
};
|
|
|
|
window.onresize = resize;
|
|
|
|
|
|
</script>
|
|
|
|
</body>
|
|
</html> |