三个平面的交点3D - C#

时间:2013-02-20 13:46:36

标签: c# algorithm intersection plane

有没有人有任何C#算法来找到三个平面的交点(每个平面由三个点定义:(x1,y1,z1)(x2,y2,z2)(x3,y3,z3),每个平面不同) 。 由等式ax + by + cz + d = 0定义的平面,其中:

A = y1 (z2 - z3) + y2 (z3 - z1) + y3 (z1 - z2)

B = z1 (x2 - x3) + z2 (x3 - x1) + z3 (x1 - x2)

C = x1 (y2 - y3) + x2 (y3 - y1) + x3 (y1 - y2)

D = -(x1 (y2 z3 - y3 z2) + x2 (y3 z1 - y1 z3) + x3 (y1 z2 - y2 z1))

非常感谢!

1 个答案:

答案 0 :(得分:0)

它非常繁琐,因为在很多情况下,这些平面可以是平行的,也可以是某些配置,它们不会在一个点上相交。

然而,当他们这样做时,可以在这里找到公式:

http://geomalgorithms.com/a05-_intersect-1.html

我认为这对你来说不够;但也许它会让你开始。