点和三角体的位置关系

上传人:飞****9 文档编号:150165969 上传时间:2020-11-03 格式:DOC 页数:2 大小:15.50KB
返回 下载 相关 举报
点和三角体的位置关系_第1页
第1页 / 共2页
点和三角体的位置关系_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《点和三角体的位置关系》由会员分享,可在线阅读,更多相关《点和三角体的位置关系(2页珍藏版)》请在金锄头文库上搜索。

1、假定四面体的四个顶点为: V1 = (x1, y1, z1) V2 = (x2, y2, z2) V3 = (x3, y3, z3) V4 = (x4, y4, z4) 你测试的空间点为: P = (x, y, z) 如果下面的5个行列式有相同的符号,则点P在四面体内:|x1 y1 z1 1| D0 = |x2 y2 z2 1| |x3 y3 z3 1| |x4 y4 z4 1| |x y z 1| D1 = |x2 y2 z2 1| |x3 y3 z3 1| |x4 y4 z4 1| |x1 y1 z1 1| D2 = |x y z 1| |x3 y3 z3 1| |x4 y4 z4 1|

2、|x1 y1 z1 1| D3 = |x2 y2 z2 1| |x y z 1| |x4 y4 z4 1| |x1 y1 z1 1| D4 = |x2 y2 z2 1| |x3 y3 z3 1| |x y z 1|需要注意的一些情况: 如果正好 D0=0, 则该四面体是退化的四面体(比如退化成三角形,此时四点共面)。 如果 Di=0(i 不等于0),则P位于四面体的边界面i上 (边界面i是指和Vi相对应的其它三个顶点形成的面)。 如果Di的符号和D0不同,则Di位于边界面i的外边。 如果所有Di的符号都和D0相同,则P 位于边界面i之内(在四个边界面内,就是在四面体之内)。 等式D0 = D1

3、+D2+D3+D4成立。 这个公式能够扩展到任何维的单纯形 (在2D情况下是三角形,在3D情况下是四面体)。 注意:bi = Di/D0 就是通常的重心坐标。 注意:比较Di 和D0的符号仅是判定P和Vi是否在边界面i的同一边。 /由给定的三个顶点的坐标,计算三角形面积。/Point(java.awt.Point)代表点的坐标。privatestaticdoubletriangleArea(Pointpos1,Pointpos2,Pointpos3)doubleresult=Math.abs(pos1.x*pos2.y+pos2.x*pos3.y+pos3.x*pos1.y-pos2.x*po

4、s1.y-pos3.x*pos2.y-pos1.x*pos3.y)/2.0D);returnresult;/判断点pos是否在指定的三角形内。privatestaticbooleaninTriangle(Pointpos,PointposA,PointposB,PointposC)doubletriangleArea=triangleArea(posA,posB,posC);doublearea=triangleArea(pos,posA,posB);area+=triangleArea(pos,posA,posC);area+=triangleArea(pos,posB,posC);doubleepsilon=0.0001;/由于浮点数的计算存在着误差,故指定一个足够小的数,用于判定两个面积是否(近似)相等。if(Math.abs(triangleArea-area)epsilon)returntrue;returnfalse;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件 > 初中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号