kailuan2zhong 发表于 2011-12-16 16:56:29

polar函数已知方位角可求出下一点坐标,那么反过来能求方位角吗?

polar 通过已知点p1 方位角ang,和距离dist,就能够求出下一点坐标p2,那么,如果已知p1. ang. dist. p2的话 能不能求出ang?

Andyhon 发表于 2011-12-16 17:00:41

(angle pt1 pt2)

vormittag 发表于 2011-12-16 17:04:21

当然能,因为你说的:“已知p1 ang dist p2……"

开个玩笑了。如果已知p1 p2 可以用(angle p1 p2)

nxchenjk 发表于 2011-12-16 20:47:22

太可以了。已知两点求方位角源码送上。
(defun c:FANGW ()
(princ "\n1.保留三位后计算 2.原始计算")
(princ "\n请选择计算类型<")
      (princ "1")
      (setq typ0(getint">:"))
      (if (= nil typ0)(setq typ0 1))

(if(= 1 typ0)
    (progn
      (setq poit1 (getpoint "\n请输入起始点:")
          poit2 (getpoint "\n请输入方向点:")
      )
      (setq x1 (atof(rtos (cadr poit1) 2 3))
          y1 (atof(rtos (car poit1) 2 3))
          x2 (atof(rtos (cadr poit2) 2 3))
          y2 (atof(rtos (car poit2) 2 3))
      )      
    )
)
(if(= 2 typ0)
    (progn
      (setq poit1 (getpoint "\n请输入起始点:")
          poit2 (getpoint "\n请输入方向点:")
      )
      (setq x1 (cadr poit1)
          y1 (car poit1)
          x2 (cadr poit2)
          y2 (car poit2)
      )
    )
)
(setq ha2 "")
(setq dx (- x2 x1))
(setq dy (- y2 y1))

(if (= dy 0)
    (progn
      (if (> dx 0)
        (setq ang (angtos 0 1 5))
        (setq ang (angtos PI 1 5))
      )
    )
)
(if (= dx 0)
    (progn
      (if (> dy 0)
        (setq ang (angtos(/ PI 2)1 5))
        (setq ang (angtos(* PI 1.5)1 5))
      )
    )
    (progn
      (setq d (/ dy dx))
      (setq alf (atan d))
      (if (> d 0)
        (progn
          (if (> dx 0)
          (setq ang (angtos alf 1 5))
          (setq ang (angtos(+ alf PI)1 5))
          )
        )
        (progn
          (if (> dx 0)
          (setq ang (angtos(+ alf (* PI 2))1 5))
          (setq ang (angtos(+ alf PI)1 5))
          )
        )
      )
    )
)
(princ "\n 方位角为:" )(princ ang)(princ)
)

kailuan2zhong 发表于 2011-12-16 21:21:43

Andyhon 发表于 2011-12-16 17:00 static/image/common/back.gif
(angle pt1 pt2)

谢谢,            

kailuan2zhong 发表于 2011-12-16 21:22:53

vormittag 发表于 2011-12-16 17:04 static/image/common/back.gif
当然能,因为你说的:“已知p1 ang dist p2……"

开个玩笑了。如果已知p1 p2 可以用(angle p1 p2)

太上火了,又思考了会儿,我把方位角的概念弄错了,怪不得老转不过来,看来有必要恶补下数学了

kailuan2zhong 发表于 2011-12-16 21:23:25

nxchenjk 发表于 2011-12-16 20:47 static/image/common/back.gif
太可以了。已知两点求方位角源码送上。
(defun c:FANGW ()
(princ "\n1.保留三位后计算 2.原始计算")


很厉害 ,这是把angle给重新定义了一次吧
页: [1]
查看完整版本: polar函数已知方位角可求出下一点坐标,那么反过来能求方位角吗?