求三角形边长。
(defun c:tt1 ( / i l s )(setq pt1 (getpoint "\n选取点位置:")
pt2 (getpoint "\n选取点位置:")
r 40
l (distance pt1 pt2)
ang (* 0.25 pi))
(princ (setq b (/ (- (* l l) (* r r)) (+ (* 2 r) (* 2 l (cos ang))))))
(entmakex
(append
(list
'(0 . "LWPOLYLINE")
'(100 . "AcDbEntity")
'(100 . "AcDbPolyline")
(cons 90 3)
(cons 62 1)
'(70 . 1)
)
(mapcar '(lambda ( x ) (cons 10 x)) (list pt1 pt2 (polar pt2 (- pi ang) b)))
)
)
(princ)
) 你这三角形是随手画的吗? 是,但应该是一个合理的三角形! 假如是随手画的示意图,根据提供的信息,不可能求出B,因为不规则的三角形只有一个定律,任意两边之和大于第三边,举个例子:三条边100,(50+40),50可以组成三角形,100,(55+40),55也可以组成三角形 本帖最后由 cable2004 于 2014-1-3 16:53 编辑
忘了,还知道B边与A的角度。才有一个解。
本帖最后由 陨落 于 2014-1-3 17:24 编辑
无唯一解,已证明完毕。A、B关系如下。由该关系式,可以画出无数个满足要求的三角形,其中β为B+40边所对的角 cable2004 发表于 2014-1-3 16:39 static/image/common/back.gif
忘了,还知道B边与A的角度。才有一个解。
不管用什么办法,至少三个条件才能解算三角形
页:
[1]