HTML and CSS Reference
In-Depth Information
Chapter 14
Law of cosines
a 2 = b 2 + c 2 - 2 × b × c × cos A
b 2 = a 2 + c 2 - 2 × a × c × cos B
c 2 = a 2 + b 2 - 2 × a × b × cos C
Law of cosines in JavaScript
var A = Math.acos((b * b + c * c - a * a) / (2 * b * c)),
B = Math.acos((a * a + c * c - b * b) / (2 * a * c)),
C = Math.acos((a * a + b * b - c * c) / (2 * a * b));
Chapter 15
Basic perspective
scale = fl / (fl + zpos);
object.scaleX = object.scaleY = scale;
object.alpha = scale; //optional
object.x = vanishingPointX + xpos * scale;
object.y = vanishingPointY + ypos * scale;
Z-sorting
//assumes an array of 3D objects with a zpos property
function zSort (a, b) {
return (b.zpos - a.zpos);
}
objects.sort(zSort);
Coordinate rotation
x1 = xpos * cos(angleZ) - ypos * sin(angleZ);
y1 = ypos * cos(angleZ) + xpos * sin(angleZ);
x1 = xpos * cos(angleY) - zpos * sin(angleY);
z1 = zpos * cos(angleY) + xpos * sin(angleY);
y1 = ypos * cos(angleX) - zpos * sin(angleX);
z1 = zpos * cos(angleX) + ypos * sin(angleX);
3D distance
dist = Math.sqrt(dx * dx + dy * dy + dz * dz);
 
Search WWH ::




Custom Search