谢谢回答,但是实际操作中还是有点困惑,比如下面将三维点转二维点中,得到裁剪坐标后为什么要除以w位的值
var point = [100, 0, 0, 1]; // 这是正面的右上角
// 使用矩阵计算出这一点的裁剪空间坐标
var clipspace = m4.transformVector(matrix, point);
// 将 X 和 Y 除以 W,和 GPU 一样
clipspace[0] /= clipspace[3];
clipspace[1] /= clipspace[3];
// 从裁剪空间转换到像素值
var pixelX = (clipspace[0] 0.5 + 0.5) gl.canvas.width;
var pixelY = (clipspace[1] -0.5 + 0.5) gl.canvas.height;
问 怎么将canvas二维点转世界三维坐标