gpt4 book ai didi

c++ - 在 3D 三角形中查找左/右顶点到一个点

转载 作者:行者123 更新时间:2023-11-30 04:11:24 24 4
gpt4 key购买 nike

给定一个 3D 三角形和它的一条边上的一个点,我想找出该边的哪个顶点在该点的左侧,哪个在右侧。

请看下图:

在此图像中,顶点 v2v3 始终如图所示定位。 v3v2之间也有一条线段。问题在于顶点 v0v1,它们可能以交换顺序给出。我想知道 v0 是在 v3 的“左边”还是“右边”,这样我就可以强制 v0 始终位于它的左边和 v1 总是在它的右边。

由于这个问题是在 3D 中,我不确定如何有效地计算顶点的相对位置。我是先将其简化为二维问题(如果是,如何简化)还是有其他方法?

最佳答案

如评论中所述,“左”和“右”(或 v0v1 的任何其他顺序)取决于某些引用。您提到您知道三角形的法 vector (称为 N)- 可用于此类引用。

假设法 vector 指向示例图像中的观察者。然后,计算 v2 - v3v0 - v3 的 vector 积。这将指向与正常相同的半空间(意味着 v0 是“向左”),或者指向相反的半空间(意味着 v0 是“向右”)。

因为 N 垂直于三角形的平面,如果 vN小于90度;换句话说,如果 vN 的点积为正。

这些共同为您提供了所需的订购标准。

关于c++ - 在 3D 三角形中查找左/右顶点到一个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20243612/

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