aws 发表于 2023-4-18 13:26:00

如何判断圆上3点位置关系

如图所示,以p为圆心,作圆。想判断p1,是不是在p2左边(参考点:两点中点p3)

本来想着用angle函数来计算(p 1)(p p2)(p p3),后来发现条件太多了。
论坛朋友还有好的思路吗?

d1742647821 发表于 2023-4-18 13:54:43

向量叉乘能知道转向,基础要补

liuhe 发表于 2023-4-18 13:38:40

;; Clockwise-p-Lee Mac
;; Returns T if p1,p2,p3 are clockwise oriented or collinear
;;顺时针-p-Lee Mac
;; 如果p1、p2、p3为顺时针方向或共线,则返回T               
(defun LM:Clockwise-p ( p1 p2 p3 )
    (<(-(* (- (carp2) (carp1)) (- (cadr p3) (cadr p1)))
            (* (- (cadr p2) (cadr p1)) (- (carp3) (carp1)))
      )
      1e-8
    )
)

自贡黄明儒 发表于 2023-4-18 13:51:54

;|;174.2 [功能] 叉积(外积) By Highflybird
;;1 三角形之倍面积
;;2 p1 p2 p3 逆时针为正。
;;3 三点共线为0
(defun det (p1 p2 p3 / x2 y2)
(setq        x2 (car p2)
        y2 (cadr p2)
)
(- (* (- x2 (car p3)) (- y2 (cadr p1))) (* (- x2 (car p1)) (- y2 (cadr p3))))
)
|;

aws 发表于 2023-4-18 14:53:50

d1742647821 发表于 2023-4-18 13:54
向量叉乘能知道转向,基础要补

这是个定义吗,好难理解这个运算规律,太抽象了

皇上快溜 发表于 2023-4-18 20:38:28

用座标值比大小

陈宫在家吗 发表于 2023-4-19 08:24:03

就是用向量×,我在vba里面写过一个,专门用来判断一个点在一条线的坐标还是右边的。lisp的我不会……

vba的链接如下,楼主可以参考一下。
[讨论学习]判断一个点在一条直线的左侧还是右侧
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=187185&fromuid=7303101
(出处: 明经CAD社区)

aws 发表于 2023-4-19 08:37:54

陈宫在家吗 发表于 2023-4-19 08:24
就是用向量×,我在vba里面写过一个,专门用来判断一个点在一条线的坐标还是右边的。lisp的我不会……

v ...

我思考了一天,终于弄明白这个向量叉乘判断方向的原理了。确实精妙无比

陈宫在家吗 发表于 2023-4-19 10:21:29

aws 发表于 2023-4-19 08:37
我思考了一天,终于弄明白这个向量叉乘判断方向的原理了。确实精妙无比

线代里面的知识吧

aws 发表于 2023-4-19 12:05:50

陈宫在家吗 发表于 2023-4-19 10:21
线代里面的知识吧

向量叉乘,看了抖音视频,有说是大学的知识,也有说是高二的向量知识,反正我是忘的一干二净了。
页: [1]
查看完整版本: 如何判断圆上3点位置关系