gpt4 book ai didi

c++ - 判断一个点是否在 3D 空间的三角形内

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

我有一个由 3 个 3D 顶点表示的 3D 三角形。

我正在寻找一种必须满足以下要求的算法:

  1. 一个点位于三角形定义的同一平面上,
  2. 该点位于所述三角形的边界内

例如:

enter image description here

最佳答案

定义基 vector b=AB, c=ACn = b x c( vector 积),其中 A、B、C - 三角形顶点的坐标
在此基础上表示点P坐标,求解linear equation system (未知 t、u、v)。 Gaussian elimination method适合这里。

t * b.X + u * c.X + v * n.X = P.X
t * b.Y + u * c.Y + v * n.Y = P.Y
t * b.Z + u * c.Z + v * n.Z = P.Z

根据你的图片,如果

0 <= t <= 1
0 <= u <= 1
and
t + u <= 1

关于c++ - 判断一个点是否在 3D 空间的三角形内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29195120/

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