【发布时间】:2014-02-03 21:12:53
【问题描述】:
我一直在拼命尝试在我的体素引擎中创建一个球体工具。我知道创建球体的一般功能:
public bool getPoint (int x, int y, int z) {
return (x*x+y*y+z*z < r*r) ? true : false;
}
此函数将创建一个球体,假设原点位于 (0, 0, 0)。然而,我希望能够创建一个具有自定义原点(或用户定义)的球体,例如原点位于 (10, 10, 10)。如何修改此函数以将原点移动到不同的位置?
【问题讨论】:
-
简短版:在进行数学运算之前从您的坐标中减去 10。您正在应用负世界平移来补偿真正移动的对象。这与“创建”球体无关,也与体素理论无关。