我有几百分。连接它们给了我几百架飞机。我需要控制法线向量的方向,这样我总是从建筑物外面看这个平面。
以下是一些观点。
XYZ=[1,26.7801084079290,10.9279762852855,5.90125567150161;
1,26.7801084079290,10.6329762852855,5.90125567150161;
1,26.7801084079290,10.6329762852855,7.78125567150161;
1,26.7801084079290,10.9279762852855,7.78125567150161;
1,26.7801084079290,10.9279762852855,5.90125567150161;
2,31.2001083983270,10.9279762852855,5.89675567150161;
2,31.2001083983270,10.6329762852855,5.89675567150161;
2,31.2001083983270,10.6329762852855,7.77675567150161;
2,31.2001083983270,10.9279762852855,7.77675567150161;
2,31.2001083983270,10.9279762852855,5.89675567150161;
2,31.2001083983270,10.9279762852855,5.89675567150161;]
用最小二乘法拟合平面给出了以下参数
1 1 0 0 26.78 % [plane number, n, d]
2 1 0 0 31.2
绘制这些点
当我从建筑物的外部到内部看时,2号飞机是可以的。但是我如何改变飞机1的方向。它向我展示了建筑物内部的正常方向。它应该是对方的方向。
注意:我有数百个平面,所以我需要一些系统的方法来使这些平面法线朝正确的方向发展。
%-----------------------被修改---------------------- --------------------------------%
%用于顺时针和防锁 %我得到了相同的结果
XYZ=[1,26.7801084079290,10.9279762852855,7.78125567150161;
1,26.7801084079290,10.6329762852855,7.78125567150161;
1,26.7801084079290,10.6329762852855,5.90125567150161;
1,26.7801084079290,10.9279762852855,5.90125567150161;
2,26.7801084079290,10.6329762852855,5.90125567150161;
2,26.7801084079290,10.6329762852855,7.78125567150161;
2,26.7801084079290,10.9279762852855,7.78125567150161;
2,26.7801084079290,10.9279762852855,5.90125567150161; ]
答案 0 :(得分:1)
您可以确定一个点是否在具有一般方程式的D项的平面后面
N.P0 + D0 = 0 => D0 = - N.P0 (dot product)
其中P0是平面内的一个点,N是法线
如果你用其他点(P1)进行计算得到(D1),如果D1> D0意味着P1落后于P0。
如果建筑物凸起,P1很容易被煅烧。
其他方法是确保生成平面的点按顺时针顺序(或逆时针方向)