Зразок веб-сторінки
І з оператором if
Цикли і масиви
Код
Для векторного добутку
HTML
<body><h1>Елементи обчислювальної геометрії</h1>
<h2>Векторний добуток</h2>
<img src="pic1.png">
<div class="left">
<h4>Координати першого вектора</h4>
<p>ax:<input type="text"id="x1"></p>
<p>ay:<input type="text"id="y1"></p>
<p>az:<input type="text"id="z1"></p>
</div>
<div class="right">
<h4>Координати другого вектора</h4>
<p>bx:<input type="text"id="x2"></p>
<p>by:<input type="text"id="y2"></p>
<p>bz:<input type="text"id="z2"></p>
</div>
<footer>
<button onclick="dobut()">Обчислити</button>
<p id="out1">Векторний добуток:</p>
</footer>
<hr>
<script src="vec.js" ></script>
</body>
JS
function dobut(){var ax,ay,az,bx,by,bz,rezX,rezY,rezZ;
ax=document.getElementById('x1').value;
ax=parseInt(ax);
ay=document.getElementById('y1').value;
ay=parseInt(ay);
az=document.getElementById('z1').value;
az=parseInt(az);
bx=document.getElementById('x2').value;
bx=parseInt(bx);
by=document.getElementById('y2').value;
by=parseInt(by);
bz=document.getElementById('z2').value;
bz=parseInt(bz);
rezX=ay*bz-az*by;
rezY=az*bx-ax*bz;
rezZ=ax*by-ay*bx;
document.getElementById('out1').innerHTML+=" "+rezX+"; "+rezY+"; "+rezZ+";";
}
Для визначення положення точки
HTML
<h2>Взаємне розташування точки і прямої</h2><img src="pic2.png">
<div class="left">
<h4>Координати початку вектора</h4>
<p>P1x:<input type="text"id="x3"></p>
<p>P1y:<input type="text"id="y3"></p>
</div>
<div class="right">
<h4>Координати кінця вектора</h4>
<p>P2x:<input type="text"id="x4"></p>
<p>P2y:<input type="text"id="y4"></p>
</div>
<div>
<h4>Координати точки</h4>
<p>Mx:<input type="text"id="x"></p>
<p>My:<input type="text"id="y"></p>
</div>
<footer>
<button onclick="poloj()">З'ясувати</button>
<p id="out2">Точка знаходиться</p>
</footer>
<hr>
JS
function poloj(){var P1x,P1y,P2x,P2y,Mx,My,rez;
P1x=document.getElementById('x3').value;
P1x=parseInt(P1x);
P1y=document.getElementById('y3').value;
P1y=parseInt(P1y);
P2x=document.getElementById('x4').value;
P2x=parseInt(P2x);
P2y=document.getElementById('y4').value;
P2y=parseInt(P2y);
Mx=document.getElementById('x').value;
Mx=parseInt(Mx);
My=document.getElementById('y').value;
My=parseInt(My);
rez=(P2x-P1x)*(My-P1y)-(P2y-P1y)*(Mx-P1x);
if(rez>0){document.getElementById('out2').innerHTML+=" зліва від прямої"}
else if (rez<0) {document.getElementById('out2').innerHTML+=" справа від прямої"}
else {document.getElementById('out2').innerHTML+=" на прямій"}
}
Для обчислення площі опуклого багатокутника
HTML
<h2>Визначення площі опуклого многокутника</h2><img src="pic3.png">
<div class="left">
<h4>Координата X вершини багатокутника</h4>
<input type="text"id="xx">
<button onclick="DX()">Push</button>
<button onclick="VX()">Pop</button>
<p id="out3"></p>
</div>
<div class="right">
<h4>Координата Y вершини багатокутника</h4>
<input type="text"id="yy">
<button onclick="DY()">Push</button>
<button onclick="VY()">Pop</button>
<p id="out4"></p>
</div>
<footer>
<button onclick="PL()">Обчислити площу</button>
<p id="out5"></p>
</footer>
JS
var X=[], Y=[];function XOut(){
var vershinaX=document.getElementById('out3');
var str='';
for (var i=0; i<X.length; i++){
str += 'X[' + i +' ] = ' + X[i]+'<br>';
}
vershinaX.innerHTML = str;
}
XOut();
function DX(){
var i1 = document.getElementById('xx').value;
X.push(i1);
XOut();
}
function VX(){
X.pop();
XOut();
}
function YOut(){
var vershinaY=document.getElementById('out4');
var str='';
for (var i=0; i<Y.length; i++){
str += 'Y[' + i +' ] = ' + Y[i]+'<br>';
}
vershinaY.innerHTML = str;
}
function DY(){
var i2 = document.getElementById('yy').value;
Y.push(i2);
YOut();
}
function VY(){
Y.pop();
YOut();
}
function PL() {
var S,n;
S=0;
n=X.length;
X[n]=X[0];
Y[n]=Y[0];
for( var i=0; i<n; i++) {
S=S+(X[i]*Y[i+1]-X[i+1]*Y[i])
}
S=S/2;
document.getElementById('out5').innerHTML=S+' кв.од.';
}
Немає коментарів:
Дописати коментар