【发布时间】:2023-01-09 19:17:14
【问题描述】:
我想在我的几何计算中使用 .NET System.Numerics.Plane 结构,但我发现很难从我拥有的数据创建它的实例。我有一个 Vector3 顶点数组(全部共面)和一个法线,但在我的数据中,一些连续的顶点可能是共线的,所以虽然 Plane.CreateFromVertices() 方法可用,但我必须做额外的工作呈现三个保证不共线的顶点。我相信一定有更有效的方法。
所有其他构建平面的方法似乎都需要(以各种表示形式)从平面到原点的法线和(最短)距离 D。我不知道如何计算 D,而且那里似乎没有太多帮助!
应该可以从一个顶点和平面法线创建一个平面,但是当我在网上寻求帮助时(例如here),所有的解决方案似乎都以标准平面方程(ax + by + cz = k),我也不知道如何从中创建一个 Plane 结构!
我非常感谢在上述三种情况中的任何一种情况下提供帮助,总结如下:
- 如何根据我的数据计算 D
- 如何用一个任意顶点和法线实例化平面
- 如何使用像 ax + by + cz = k 这样的方程来实例化平面
上面的第 2 项将是最有用的。
【问题讨论】: