13648893846 发表于 2017-10-7 21:12:15

如何将实数型角度转化为弧度

在输入角度时能否输入实数型角度例如:
                方位角=56度1分42.02秒输成:56.014202
                方位角=138度23分3.77秒输成:138.230377
                方位角=222度51分48.95秒输成:222.514895
                方位角=316度6分23.20秒输成:316.062320
                                  即可实现角度转换成弧度

gaomingabc456 发表于 2017-10-8 08:35:09

(defun   c:jzh ()   ;;;;;角度转弧度
(setq a (getstring "\n 请输入角度值<例:36°12′45″输入361245>----A:"))
(cond
    ((= (strlen a) 5)
   (setq ad (substr a 1 1 ))
   (setq am (substr a 2 2 ))
   (setq as (substr a 4 2 ))
   )
    ((= (strlen a)6)
   (setq ad (substr a 1 2 ))
   (setq am (substr a 3 2 ))
   (setq as (substr a 5 2 ))
   )
    ((= (strlen a) 7)
   (setq ad (substr a 1 3 ))
   (setq am (substr a 4 2 ))
   (setq as (substr a 6 2 ))
   )
    )
(setq a1 ( atof ad ))
(setq a2 ( atof am ))
(setq a3 ( atof as ))
(setq ar (+ a1 (/ a2 60) (/ a3 3600)))
(setq ard (/ (* ar pi) 180))
(print ard)
(setq ard1 (rtos ard 2 6))
(setq msg (strcat "\n" a"的弧度值:" ard1))
(alert msg)
(princ)
)

xyp1964 发表于 2017-10-8 18:41:07

;; num2rad 度分秒数值转弧度 (num2rad 138.230377)
(defun num2rad (num / a b e)
(setq        a   (fix num)
        num (- num a)
        num (* num 1e+2)
        b   (fix num)
        num (- num b)
        num (* num 1e+2)
        e   (+ a (/ b 60.) (/ num 3600.))
)
(* (/ e 180.0) pi)
)

gaomingabc456 发表于 2017-10-8 08:38:13

(defun   c:hzj ()      ;;;;;弧度转角度
(setq a (getreal "\n请输入弧度值----A:"))
(setq ard (/ (* a 180) pi))
;(setq ard (angtos a 0 4))
(print ard)
(prin1)
)

evayleung 发表于 2017-10-7 21:19:11

n*pi/180不就行了么?

13648893846 发表于 2017-10-7 22:11:11

不行吧!试过了

13648893846 发表于 2017-10-8 13:31:29

gaomingabc456 发表于 2017-10-8 08:38
(defun   c:hzj ()      ;;;;;弧度转角度
(setq a (getreal "\n请输入弧度值----A:"))
(setq ard (/...

谢谢大神无私奉献源码

13648893846 发表于 2017-10-8 20:28:44

xyp1964 发表于 2017-10-8 18:41
;; num2rad 度分秒数值转弧度 (num2rad 138.230377)
(defun num2rad (num / a b e)
(setq        a   (fix num ...

大神能给一下num函数吗

pengfei2010 发表于 2017-10-11 10:26:14

13648893846 发表于 2017-10-8 20:28
大神能给一下num函数吗

你这个问题问的 我给满分

13648893846 发表于 2017-11-24 16:57:21

gaomingabc456 发表于 2017-10-8 08:35
(defun   c:jzh ()   ;;;;;角度转弧度
(setq a (getstring "\n 请输入角度值----A:"))
(cond


能否改成输入36.1245
页: [1] 2
查看完整版本: 如何将实数型角度转化为弧度