390 lines
8.3 KiB
HTML
Executable File
390 lines
8.3 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.6: Tangente e cotangente 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: 70%;
|
|
padding-bottom: 40%;
|
|
margin: 0 auto;
|
|
|
|
}
|
|
|
|
.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.6</strong>: Tangente e cotangente 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: [-0.5, 2, 1.5, -0.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.8, Math.sqrt(1 - Math.pow(0.8,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 w = board.create('point', [0,1], {name: "W", fixed: true, showInfobox: false});
|
|
|
|
|
|
|
|
var xAxis = board.create('line', [o,w], {visible: false});
|
|
|
|
var yAxis = board.create('line', [o,v], {visible: false})
|
|
|
|
var t = board.create('perpendicular', [xAxis, w], {name: "t"});
|
|
|
|
var r = board.create('perpendicular', [yAxis, v], {name: "r"});
|
|
|
|
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.08, function() {
|
|
|
|
return "u = "+JXG.Math.Geometry.trueAngle(v, o, a).toFixed(0) + '°';
|
|
|
|
}], {anchor: alpha, fontSize:"17px", cssDefaultStyle:"fontFamily:gfs_artemisia; fontSize:12px;"});
|
|
|
|
|
|
var m = board.create('point', [1,Math.tan(Math.PI*JXG.Math.Geometry.trueAngle(v, o, a).toFixed(0)/180)], {name: "M", showInfobox: false});
|
|
|
|
var n = board.create('point', [1/Math.tan(Math.PI*JXG.Math.Geometry.trueAngle(v, o, a).toFixed(0)/180),1], {name: "N", showInfobox: false});
|
|
|
|
|
|
var prolong = board.create('line',[o,m],
|
|
|
|
{straightFirst:false, straightLast:true, strokeWidth:1});
|
|
|
|
|
|
var rTxt = board.create('text', [1.05, 1.45, "r"], {fontSize:"17px", cssDefaultStyle:"fontFamily:gfs_artemisia; fontSize:12px;"});
|
|
|
|
var tTxt = board.create('text', [1.4, 0.95, "t"], {fontSize:"17px", cssDefaultStyle:"fontFamily:gfs_artemisia; 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 <= 90){
|
|
|
|
a.moveTo([xis, Math.sqrt(1 - pot)]);
|
|
m.moveTo([1,Math.tan(Math.PI*an/180)]);
|
|
n.moveTo([1/Math.tan(Math.PI*an/180),1])
|
|
|
|
n.setAttribute({visible:true});
|
|
|
|
alpha_value.setAttribute({visible:true});
|
|
|
|
alpha.setAttribute({visible:true});
|
|
|
|
m.setAttribute({visible:true});
|
|
|
|
prolong.setAttribute({visible:true});
|
|
|
|
c1.setAttribute({visible:true});
|
|
|
|
o.setAttribute({visible:true});
|
|
|
|
v.setAttribute({visible:true});
|
|
|
|
w.setAttribute({visible:true});
|
|
|
|
r.setAttribute({visible:true});
|
|
|
|
t.setAttribute({visible:true});
|
|
|
|
}
|
|
|
|
|
|
|
|
else {
|
|
|
|
n.setAttribute({visible:false});
|
|
|
|
alpha_value.setAttribute({visible:false});
|
|
|
|
alpha.setAttribute({visible:false});
|
|
|
|
m.setAttribute({visible:false});
|
|
|
|
prolong.setAttribute({visible:false});
|
|
|
|
c1.setAttribute({visible:false});
|
|
|
|
o.setAttribute({visible:false});
|
|
|
|
v.setAttribute({visible:false});
|
|
|
|
w.setAttribute({visible:false});
|
|
|
|
r.setAttribute({visible:false});
|
|
|
|
t.setAttribute({visible:false});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//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> |