明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1002|回复: 25

[提问] 请教用angle获取的角度值为科学技术法、如何转换为常规角度

[复制链接]
发表于 2024-1-9 16:23 | 显示全部楼层 |阅读模式
2明经币
本帖最后由 xiaocainiao 于 2024-1-9 18:57 编辑

请教一下各位大神!

我用以下代码得到的弧度结果非常大、已经是科学计数法了
  1. (defun c:tt ()
  2.   (setq pt1 (getpoint"\n指定第一点"))
  3.   (setq pt2 (getpoint pt1 "\n指定第二点"))
  4.   (setq ang (angle pt1 pt2))
  5.   (print ang)
  6.   (princ)
  7. )
而实际图中这两点的弧度为0

我想问一下、怎么将这个angle后的弧度结果转换成0~2pi之间、

测试文件已经上传了、求各位大神指点

附件: 您需要 登录 才可以下载或查看,没有账号?注册

最佳答案

查看完整内容

Command: (setq Val 9.31323e-13) 9.31323e-013 Command: (equal val 0 1e-9) T Command: (equal val 0 1e-13) nil Command: (equal val 0 1e-12) T Determines whether two expressions are equal (equal expr1 expr2 [fuzz]) Arguments expr1 The expression to be compared. expr2 The expression to compare with expr1. fuzz A real number defining the maximum amount by which expr1 a ...
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2024-1-9 16:23 | 显示全部楼层
Command: (setq Val 9.31323e-13)
9.31323e-013

Command: (equal val 0 1e-9)
T

Command: (equal val 0 1e-13)
nil

Command: (equal val 0 1e-12)
T


Determines whether two expressions are equal

(equal expr1 expr2 [fuzz])
Arguments

expr1
The expression to be compared.

expr2
The expression to compare with expr1.

fuzz
A real number defining the maximum amount by which expr1 and expr2 can differ and still be considered equal.

When comparing two real numbers (or two lists of real numbers, as in points), the two identical numbers can differ slightly if different methods are used to calculate them. You can specify a fuzz amount to compensate for the difference that may result from the different methods of calculation.
回复

使用道具 举报

 楼主| 发表于 2024-1-9 18:19 | 显示全部楼层
本帖最后由 xiaocainiao 于 2024-1-10 08:55 编辑
Andyhon 发表于 2024-1-9 18:14
Command: (setq Val 9.31323e-13)
9.31323e-013

谢谢、这样对比看懂了、但是不明白angle的结果会有误差、我是在开启正交的情况下捕捉的两点
回复

使用道具 举报

发表于 2024-1-9 18:36 | 显示全部楼层
;; 規整化角度在 0-2pi
(defun p-angle-normal (a / $2pi $4pi $pi/2 $pi/4 $pi3/2)
        (setq $pi/4  (/ pi 4.)
                $pi/2  (/ pi 2.)
                $pi3/2 (* $pi/2 3.)
                $2pi   (* pi 2.)
                $4pi   (* pi 4.)
        )
  (setq a (rem a $2pi))
  (if (< a 0)
    (setq a (+ a $2pi))
  )
  a
)
回复

使用道具 举报

发表于 2024-1-9 18:37 来自手机 | 显示全部楼层
角度=弧度n*180/π
回复

使用道具 举报

 楼主| 发表于 2024-1-9 18:41 | 显示全部楼层
xj6019 发表于 2024-1-9 18:36
;; 規整化角度在 0-2pi
(defun p-angle-normal (a / $2pi $4pi $pi/2 $pi/4 $pi3/2)
        (setq $pi/4  (/ pi ...

你好、我刚试了一下、这个函数对我这种情况貌似不太管用、余数的结果还是原样
回复

使用道具 举报

 楼主| 发表于 2024-1-9 18:52 | 显示全部楼层
wzg356 发表于 2024-1-9 18:37
角度=弧度n*180/π

我现在得到的是弧度、但是这个弧度值太大了、我想把他转换成0~2pi以内
回复

使用道具 举报

发表于 2024-1-9 18:59 来自手机 | 显示全部楼层
弧度—(fix(弧度 /2π))*2π
回复

使用道具 举报

 楼主| 发表于 2024-1-9 19:05 | 显示全部楼层
wzg356 发表于 2024-1-9 18:59
弧度—(fix(弧度 /2π))*2π

fix不是实数转整数吗、和这个弧度没有啥直接关系吧
回复

使用道具 举报

发表于 2024-1-9 19:26 来自手机 | 显示全部楼层
xiaocainiao 发表于 2024-1-9 19:05
fix不是实数转整数吗、和这个弧度没有啥直接关系吧

初中知识啊,减掉n个圆周
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-28 14:14 , Processed in 0.499115 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表