gpt4 book ai didi

algorithm - 如何找到 3D 空间中的点是否位于半球内?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:43:22 26 4
gpt4 key购买 nike

Tip of the hemisphere - (x,y2,z)
Mid point of the circle in the hemisphere - (x,y,z)

由于 x、y、z 和 y2 可以在 3D 空间中的任何位置,半球可以指向任何方向,所以我在方向部分上挣扎。我无法解决类似于圆锥体、球体或截锥体的问题。

最佳答案

让我们称您的观点为 (a,b,c)。请注意,半球是半空间和球体的交集。所以我们只测试与 AND 结果的交集。先测试点是否在半空间的右侧:

dy = y2-y;

if (b-y)*dy<0 then
return no intersection

这利用了这样一个事实,即只有当测试点位于错误的半空间时,尖端到中心的距离与点到中心的距离才会有不同的符号。

然后检查球体。这是从尖端到中心的距离推断的:

squareDistance = (x-a)²+(y-b)²+(z-c)²;
if squareDistance > dy² then
return no intersection
else
return intersection

关于algorithm - 如何找到 3D 空间中的点是否位于半球内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24571859/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com