这是我在这里问过的第一个问题!如果我以某种方式做错了,请提前道歉.
我已经编写了一个程序,它在three.js中堆积了球体.
每个球体以随机生成(在某些边界内)x和z坐标开始,并且y坐标高于地平面.我从每个球体的顶点投射光线,以查看它在与现有网格相交之前可以落下多远.
对于每个球体,我在80个不同的随机xz位置进行测试,看看它可以落到哪里最远,然后将它"放"到那个位置.
这是为了创建像这样的泡泡塔:
但是,我注意到当我使气泡半径非常小并且塔的基本尺寸变大时,会发生这种情况:
如果我将递归从80减去,这种效果就不那么明显了.出于某种原因,three.js似乎认为球体可以在基座正方形的角落处进一步下降.原点恰好位于基地广场的中心 - 也许这是相关的.
当我记录我从raycaster接收到的所有跌落距离时,它们距离广场中心越远,它们确实越大......但仅在小数点后11或12位.
这不是我试图解决的问题(在我选择最大的一个之前,我可以将下降距离舍入到最接近的第10个小数位),但我非常好奇.有谁知道为什么会这样?以前有人遇到类似的东西吗?
编辑:
我编辑了我的代码以移动所有内容,使原点不再位于基本方块的中心:
所以我的思考是正确的......这种现象与距离原点的距离有关,而不是与球落在其上的表面有什么关系?