确定三角形3D顶点的dz / dx值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了确定三角形3D顶点的dz / dx值相关的知识,希望对你有一定的参考价值。
我有一个三角形的三维顶点为(x1,y1,z1); (x2,y2,z2)和(x3,y3,z3)。我想知道dz / dx的值。
我一直在研究各种3D几何论坛,但找不到相关的东西。我正在尝试用C ++编写算法。
如果有人可以帮助我,我会很高兴的。
提前致谢。
答案
一般平面方程是:
a*x + b*y + c*z + d = 0
其中a
,b
,c
和d
是浮动数字。所以,首先你需要找到这些数字。但请注意,您可以设置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
作为x
和y
的函数:
z = - (a*x + b*y) / c
然后很容易找到dz/dx
:
dz/dx = - a / c
有一些特殊情况,你需要在你的代码中处理 - 例如,如果所有的点都是共线的,或者你得到了c = 0
。你需要非常小心地覆盖所有角落的情况。
以上是关于确定三角形3D顶点的dz / dx值的主要内容,如果未能解决你的问题,请参考以下文章