【发布时间】:2011-03-29 03:13:31
【问题描述】:
如您所知,我正在尝试组合一个非常简单的 3d 引擎。我正在用javascript编写它。我认为公式中可能存在错误,但对于我的生活,我找不到它。所以现在我在想可能还有一些我还没有考虑过的东西。错误发生在第 21 行(dx = Math.cos.....)
这是我的代码的相关部分:
// Camera Position in x,y,z
var c = [ 0,0,0 ];
// Viewer position [x,y,z]
var v = [ 0,0,0 ];
// Angle of view [x, y, z]
var a = [ 0.01, 0.01, 0.01 ];
var point = [ 0,0, 50 ];
dx = Math.cos(a[1])(Math.sin(a[2])(point[1] - c[1]) + Math.cos(a[2])(point[0] - c[0])) - Math.sin(a[1])(point[2] - c[2]);
dy = Math.sin(a[0])(Math.cos(a[1])(point[2] - c[2]) + Math.sin(a[1])(Math.sin(a[2])(point[1] - c[1]) + Math.cos(a[2])(point[0] - c[0]))) + Math.cos(a[0])(Math.cos(a[2])(point[1] - c[1]) - Math.sin(a[2])(point[0] - c[0]));
dz = Math.cos(a[0])(Math.cos(a[1])(point[2] - c[2]) + Math.sin(a[1])(Math.sin(a[2])(point[1] - c[1]) + Math.cos(a[2])(point[0] - c[0]))) - Math.sin(a[0])(Math.cos(a[2])(point[1] - c[1]) - Math.sin(a[2])(point[0] - c[0]));
bx = (dx - v[0])(v[2]/dz);
by = (dy - v[1])(v[2]/dz);
【问题讨论】:
标签: javascript 3d