我最近一直在试验 HTML5 画布,并遇到了这个 3d 示例,其背后的代码相对较少。我希望找到一个很好的 3d 渲染介绍,但我在理解代码背后的几何图形时遇到了比我预期的更多的麻烦。我设置了一个 JSbin并复制了他网站上用来玩的代码。我一直在理解
deltaX=1/Math.cos(theta);
后来用于:
if (deltaX>0) {
stepX = 1;
distX = (mapX + 1 - x) * deltaX;
}
else {
stepX = -1;
distX = (x - mapX) * (deltaX*=-1);
}
我最好的猜测是它用于cos(x) = adjacent/hypotenuse
直角三角形中的关系,但我不明白三角形适合的位置,如果有的话。