确定三角形 3D 顶点的 dz/dx 值

Determining dz/dx value from Triangle 3D Vertices

我有一个三角形的 3D 顶点作为 (x1,y1,z1) ; (x2,y2,z2) 和 (x3,y3,z3)。 我想知道 dz/dx.

的值

我一直在寻找各种 3D 几何论坛,但找不到相关的 things.I 我正在尝试用 C++ 编写算法。

如果有人能帮助我,我会很高兴。

提前致谢。

一般平面方程为:

a*x + b*y + c*z + d = 0

其中 abcd 是浮点数。所以,首先你需要找到这些数字。但是注意,你可以设置d = 0,因为所有a, b, c系数相同而d不同的平面都是相互平行的。所以,你得到一个线性方程组:

a*x1 + b*y1 + c*z1 = 0
a*x2 + b*y2 + c*z2 = 0
a*x3 + b*y3 + c*z3 = 0

求解系统后,您将获得这三个系数 - 然后您可以将 z 表示为 xy:

的函数
z = - (a*x + b*y) / c

然后很容易找到 dz/dx:

dz/dx = - a / c

有一些特殊情况,您需要在代码中注意这些情况 - 例如,如果您的所有点都共线,或者您得到 c = 0 怎么办?您需要非常小心地涵盖所有极端情况。