乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 117|回复: 12

[编程交流] 逆正弦GRRRR

[复制链接]

2

主题

11

帖子

9

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 17:10:33 | 显示全部楼层 |阅读模式
我有个问题。我需要在lisp中输入反正弦。我试过asin,asine,Arcin,Arcine。。。。。。这方面的实际输入是什么,或者你甚至可以这样做。我的数学方程是
 
2 X反正弦(9\2r)=旋转度
 
在lisp中(setq deg(*(反正弦(/(宽度)(*2半径)))2))
 
用什么代替反正弦?
回复

使用道具 举报

0

主题

39

帖子

39

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-6 17:18:30 | 显示全部楼层
  1. ;;; arcsine (inverse sine) accepts an argument in the range
  2. ;;; -1.0 to 1.0 inclusive, and returns an angle in radians in
  3. ;;; the range (-pi/2) to (pi/2) inclusive.
  4. (defun asin (z /)
  5. (atan z (sqrt (- 1.0 (* z z))))
  6. )
回复

使用道具 举报

2

主题

11

帖子

9

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 17:23:37 | 显示全部楼层
没有workey。。。。或者只有我。
这是我现在放进去的
 
我输入5784作为半径
宽度为108
 
  1. (defun c:rpark ()
  2. (defun asin (z /)
  3. (atan z (sqrt (- 1.0 (* z z))))
  4. )
  5. (setq r1 (getreal "\nEnter radius of arc in inches: "))
  6. (setq w1 (getreal "\nEnter width of parking spaces in inches: "))
  7. (setq deg (* (asin (/ w1 (* 2 r1)))2))
  8. )

 
运行此函数时,返回0.0186725
 
我的手工数学(可能也很粗略:D)
r1*2=11568
w1\11568=。009336
的反正弦。009336 = 0.53
0.53 * 2 = 1.07
 
画出来后,我发现我的数学可能正确,(如果不正确,请告诉我:滚动:)
 
看来有点不对劲
回复

使用道具 举报

0

主题

39

帖子

39

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-6 17:25:55 | 显示全部楼层
你能给我一个你想要完成的事情的草图或屏幕截图吗。。
看起来像自动停车场??
回复

使用道具 举报

0

主题

269

帖子

279

银币

限制会员

铜币
-4
发表于 2022-7-6 17:32:15 | 显示全部楼层
这是比尔·克莱默的一句话:
 
  1. ;Inverse Sine Arcsin(X) = Atn(X / Sqr(-X * X + 1))
  2. ;
  3. (defun arcsin (sn)
  4.   (cond
  5.     ((> (abs sn) 1.0) (prompt " Arc-sine error."))
  6.     ((equal (abs sn) 1.0 0.000000001)
  7.        (* sn (/ pi 2)))
  8.     ((zerop sn)
  9.        0.0)
  10.     (t
  11.        (atan (/ sn (sqrt (- 1 (* sn sn))))))))
回复

使用道具 举报

2

主题

11

帖子

9

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 17:40:00 | 显示全部楼层
 
 
这正是我想要做的。我想自动布局停车沿半径与设置宽度的海湾。你已经有东西了吗?对不起,我没有我正在尝试的屏幕截图。
 
这件事将考验我,因为在写lisp 6年后,我才刚刚回到写lisp。上次做结构图的时候我正在做。现在是建筑,所以我有了新的需求。
回复

使用道具 举报

2

主题

11

帖子

9

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 17:43:16 | 显示全部楼层
  1. (defun c:rpark ()
  2. (defun arcsin (sn)
  3.   (cond
  4.     ((> (abs sn) 1.0) (prompt " Arc-sine error."))
  5.     ((equal (abs sn) 1.0 0.000000001)
  6.        (* sn (/ pi 2)))
  7.     ((zerop sn)
  8.        0.0)
  9.     (t
  10.        (atan (/ sn (sqrt (- 1 (* sn sn))))))))
  11. (setq r1 (getreal "\nEnter radius of arc in inches: "))
  12. (setq w1 (getreal "\nEnter width of parking spaces in inches: "))
  13. (setq deg (* (arcsin (/ w1 (* 2 r1)))2))
  14. )

 
与之前相同0.0186725。。。。。。。。。我一定不明白什么。。。。。反正弦和反正弦是一回事,对吗?当使用5784和108时,我需要达到的数字应该达到1.07度旋转。
 
 
我很沮丧。我已经在这一整天了!!!
回复

使用道具 举报

0

主题

39

帖子

39

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-6 17:50:06 | 显示全部楼层
对不起,我没有东西,
只是一条漫长的路。。
试试CarlB,让我们知道进展如何,
回复

使用道具 举报

0

主题

269

帖子

279

银币

限制会员

铜币
-4
发表于 2022-7-6 17:54:44 | 显示全部楼层
Lisp使用弧度表示的角度。若你们想要以度为单位的答案,乘以180/pi,你们就得到了。
回复

使用道具 举报

0

主题

39

帖子

39

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-6 17:59:43 | 显示全部楼层
你为什么要把半径加倍。。
 
半径基本上是斜边?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-4 16:27 , Processed in 0.712600 second(s), 83 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表