只需一步,快速开始
使用道具 举报
斜率,判断是否相等,(x1-x2)/(y1-y2)=(x3-x1)/(y3-y1)
斜率判断法这个式子不适用于 y1 = y2 = y3 的情况
三点不共线则成三角形
a. 两边之和大于第三边b. 面积不为零
要考量/排除同一点位值的情况
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=48974
参见几何算法中矢量叉积和折线拐向的问题可以解决
(= (angle pt1 pt2) (angle pt1 pt32))
三点所组成的三角形面积等于零。
X1(y2-y3)+x2(y3-y1)+x3(y1-y2)=0
(< (abs (sin (- (angle pt1 pt2) (angle pt2 pt3)))) diff)
diff为允许误差,其值约为角度的弧度差值
很容易判断,假设p1,p2是一条直线的两点,p3是任意一点,三点之间构成的边长长度分别为L_p1p2,L_p1p3,L_p2p3,(总长)三边之和为L_3p,其中最大的一条边为L_max,则判断如下:
1、如果3点均在一条线上,那么最长的一条边应等于两条短边之和。
(= L_max (* L_3p 0.5))
2、如果点p3在直线p1,p2之间,那么直线的长度L_p1p2必然是最大一条边L_max。
(= L_p1p2 L_max)
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2025-2-23 11:10 , Processed in 0.209674 second(s), 26 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.