我想找一个三维平面方程给3个点。我得到了应用交叉积后的正常值。但是一个平面的方程是法向量乘以另一个向量,我被教做P.OP,我用主参考点代替OP,我希望P是(x,y,z)形式。这样我就可以得到像这样的东西
OP = (1, 2, 3)
我想得到这样的东西:
(x-1)
(y-2)
(z-3)
我能知道怎么做吗? 下面是我的参考代码(注意:plane_point_1_x()、plane_point_1_y()、plane_point_1_z()都是要求用户输入各个点的函数)
"""
I used Point P as my reference point so I will make use of it in this section
"""
vector_pop_x = int('x') - int(plane_point_1_x())
vector_pop_y = int('y') - int(plane_point_1_y())
vector_pop_z = int('z') - int(plane_point_1_z())
print vector_pop_x, vector_pop_y, vector_pop_z
以上都是我所做的,但不知为什么没有成功。我认为问题出在x,y,z部分。
平面隐式方程:
各点p=(x,y,z)满意
<;n,QP>;=0
其中
(请记住,Q p可以计算为p-Q)
一个好办法是:
其中垂直管道表示矩阵的行列式,而
(x1 y1 z1)
、(x2 y2 z2)
和(x3 y3 z3)
是给定的点。如果我没弄错的话,这里有一个很好的解决方案就是错误的类型
尝试了以前的(作者的)版本,但不得不检查。在公式中再加上几个负数,现在看来是正确的。
相关问题 更多 >
编程相关推荐