我如何判断是否有3分
你好我怎么知道三个点是否形成一个角?给它一些宽容怎么样?如果温度不超过80-100度,它仍然是一个角?
谢谢
谢伊 你能澄清一下吗? 假设我有一个包含这3个点的列表,我希望它告诉我它们是否形成90度角,如果仍然在80度到100度之间,就可以了。。我也会把它当成一个rorner:P:P
有很多方法可以完成这项任务,这里有一种:
这是另一个:
(defun corner-p ( p1 p2 p3 )
(equal 0.0 (cos (- (angle p2 p1) (angle p2 p3))) 1e-
)和另一个:
(defun corner-p ( p1 p2 p3 )
((lambda ( v ) (equal (caddr (trans p2 0 v)) (caddr (trans p3 0 v)) 1e-) (mapcar '- p1 p2))
)
谢谢李
1-e8是我害怕的东西。。。。我假设(等于b 1-e8)是我要求的公差,但我如何将其转换为度范围(也称为限制80到100度)?
不客气。
1e-8(0.0000000 1)确实是用于每次比较的公差,但是,该公差将根据所用方法代表不同的量。
例如,第一种方法使用两个向量的向量点积,因此公差将是两个向量的长度和它们之间角度的余弦的因子(因为a·b=|a | | b | cosθ);第二种方法中使用的公差也是两个矢量之间角度的余弦因子(但不取决于矢量长度);最后,在第三种方法中,公差表示点p2和点p3投影到线p1-p2之间的线性距离。
首先,我想说我爱李!!!
如果我来伦敦,我一定会见到你(如果你愿意的话)
第二继续有趣的关系比率。。。。我仍然无法将其简化为一个参数,即。。。
(if (and
(the following 3 points form a corner) (
(the corner not exceed minimum of 80 degrees)
(the corner not exceed maximum of 100 degrees)
)
(princ "the corner is ok")
(princ "cant accept that corner due to limit violation")
)
你说得太好了。
由于余弦函数是周期性的,根在pi/2、3pi/2等处,因此足以测试向量之间角度的余弦是否在给定的根范围内,例如:
(defun corner-p ( p1 p2 p3 tol )
(equal 0.0 (cos (- (angle p2 p1) (angle p2 p3))) (cos (+ (/ pi 2) tol)))
)10度:
5
页:
[1]