来源:未知 时间:2023-02-14 15:03 作者:小飞侠 阅读:次
[导读] js如何判断平面内有一个三角形abc和一个点p,判断点p是否在三角形内,根据站长搜集到有多种方法判断,下面将一步一步给大家讲解。 1、重心坐标法: 请看下图: 根据点P分别做辅助...
js如何判断平面内有一个三角形abc和一个点p,判断点p是否在三角形内,根据站长搜集到有多种方法判断,下面将一步一步给大家讲解。 1、重心坐标法: 请看下图: 根据点P分别做辅助线到a,b,c, 假设P点在三角形内部话,已P为点的的三个三角形必然要小于等于三角形abc 所以根据面试公式就可以得出 点在三角形内部满足以下等式: Sabc + Sbcp + Sacp <= Sabc 点在三角形外满足以下等式: Sabc + Sbcp + Sacp > Sabc 三角形面积公式有很多种办法:这里用夹角公式比较好,或者三边公式 当然还有别的方法 2、同侧法: 若p在ab的左侧,且p在bc的左侧,且p在ca的左侧,则p在三角形内,否则不在三角形内 判断方法: 如图分别构造红、绿、蓝三组向量,分别进行叉乘,同号为同一侧 t0 = ab CROSS pa t1 = bc CROSS pb t2 = ca CROSS pc t0,t1,t2同号为真,否则为假 3、线性组合法: 向量ab和cb确定整个平面,p可以由这两个向量的线性组合所确定,即: p=t0*ab+t1*cb 当p在a点时,t0=1,t1=0; 当p在c点时,t0=0,t1=1; 当p点在ac线上时,p为a和c的线性组合 所以ac边就困住了p点,让其不能突破这条边,约束条件为t0+t1=1 综上所述: p点在三角形内必须满足:t0<1,t1<1,t0+t1<=1 以上就是js求一个点是否在三角形内还是外全部内容,感谢大家支持自学php网。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com