寒林清远
发表于 2009-4-14 15:43:00
<p>我能明白楼主的意思:</p><p>楼主是希望找到一个判断点的位置的参数,在一条直线的一侧还是另一侧,是不是?</p><p>如果是这样的话,我有个办法:</p><p>假设直线倾角为a,选取的点为p0,直线上任一点---假设就为起点p1吧,判断sin[(angle p1 p0)-a]是否大于0即可判断出p0是在直线的上侧还是下侧了。</p>
aytxq
发表于 2009-4-16 17:15:00
<p>謝謝提供思路。回去好好學習一下.</p>
aytxq
发表于 2009-4-17 13:02:00
<p>我想了好久。最重要的是要得到任意物件的幾何中心才能完成任意方向的選擇吧。</p>
highflybir
发表于 2009-4-17 14:51:00
<p>如果楼主自己都不清楚判别法则,别人怎么能帮助你呢?</p><p>几何中心?可是质心? 重心?或者boundingbox的中心? 所以楼主对这个问题的描述不够详细。</p>
wuzheng80425
发表于 2016-9-26 17:09:42
从别人那里拷过来,希望对你有帮助
(defun c:ABCD()
(setq PA(getpoint "\n 第一点:")
PB(getpoint PA "\n 第二点:")
PC(getpoint PB "\n 方向:")
an1 (angle PA PB)
an2 (angle PC PB)
an3 (abs (- an1 an2))
)
(if (< an1 an2)
(setq keyang (- (* pi 2) an3))
(setq keyang an3)
)
(if (< keyang pi)
(setq finalang (+ an1 (/ pi 2)))
(setq finalang (- an1 (/ pi 2)))
)
(setq pe (polar PA finalang 600)
pf (polar PB finalang 600)
)
(command "pline" PA PB pf pe "C")
(prin1)
)