目前我对此总是一记空白。
我有一个立方体(体素),由一个中心点和宽度,高度和深度1定义。 如果我有一个从盒子中心起源的矢量(例如(-0.7,-0.7,-0.7)),我如何计算矢量与盒子外部相交的点?
编辑:框始终与轴对齐。 问题出在3d。
由于
答案 0 :(得分:2)
盒子表面上的任何一点都至少有一个等于0.5或-0.5的坐标,其他所有点都是-0.5 <= c <= p。
因此,找到具有最大绝对值的坐标,然后缩放矢量以使该坐标等于+/- 0.5。
这样的事可能有用:
if (fabs(x) > fabs(y) && fabs(x) > fabs(z))
y *= 0.5 / fabs(x)
z *= 0.5 / fabs(x)
x *= 0.5 / fabs(x)
else if (fabs(y) > fabs(z))
x *= 0.5 / fabs(y)
z *= 0.5 / fabs(y)
y *= 0.5 / fabs(y)
else
x *= 0.5 / fabs(z)
y *= 0.5 / fabs(z)
z *= 0.5 / fabs(z)