我有一个法向量,一个平面方程(ax + by + cz = d)
如何计算四个任意点来创建四边形?我想过只使用x,y和z截取,但这种方法不起作用。
我想我将不得不在numpy http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.linalg.solve.html
中使用方程组这篇文章概述了c ++中的一种方法,但我不确定它是否可行 How do I get three non-colinear points on a plane? - C++
答案 0 :(得分:0)
这就是我要做的事情:
解决同质系统ax + by + cz = 0
。该解决方案将为您提供两个线性独立的解决方案A = (x0, y0, z0)
和B = (x1, y1, z1)
。
找到一个特定的解决方案(假设d != 0
)。为此,请选择与a
不同的系数b
,c
或0
。例如,如果a != 0
特定解决方案为P = (d/a, 0, 0)
。
在齐次平面中选择4个点,例如0
,A
,B
和A + B
,并将特定解{{1}与它们相加}}
A + P,B + P,A + B + P,P