求助判断斜六面体的对角面

来源:百度知道 编辑:UC知道 时间:2024/06/20 03:56:25
利用python语言
程序要实现将六面体的六个表面找出来,已知六面体(斜的)8个顶点空间坐标。我的做法是先找出所有共面的四点,再判断是否是对角面。现在已解决四点共面的问题,共找到8个面,在判断是否是对角面时又卡壳了。请高手指点思路!!如何判断对角面和表面?

奇怪……似乎之前有人问过类似的问题……(无视这句话吧,哈哈)

判断方法:对剩余的点依次判断,如果有两个点在所的平面的不同侧,则此面为对角面;如果四个点判定完了都么没出现异侧,则为表面。

代码思考中……

============================
想法有了……但是我现在的系统(打游戏专用)没装PYTHON,所以无法验证,回头再DEBUG。

思路如下:
你来看看这贴
http://zhidao.baidu.com/question/50179038.html
还是那句
if (x-x1)*m+(y-y1)*n+(z-z1)*l == 0:
只要将面外的4个点坐标依次代入计算就行了。
如果4个面的到的(x-x1)*m+(y-y1)*n+(z-z1)*l值都大与或小于0,就为同一侧,否则异。
也就是说,4个面外点的(x-x1)*m+(y-y1)*n+(z-z1)*l值,取3个就可一验证。

1、乘机为正:=>4个都是正,表面
2、乘积为负,三个均负,=>4个都是负,表面
3、乘积为负,3个不全负,=>两负两正,对角面。

代码:(前面原始的)
M1 = []
M2 = []
M3 = []
ns =[['5409', '-461.206E-03', '-233.333E-03', '-144.897E-03'], ['5410', '-537.961E-03', '-233.333E-03', '-145.117E-03'], ['5414', '-461.206E-03', '-266.667E-03&