乐筑天下

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

[编程交流] 三角帮助

[复制链接]

52

主题

156

帖子

104

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
260
发表于 2022-7-5 23:16:02 | 显示全部楼层 |阅读模式
我正在尝试创建一个椽子。用户将输入度数(例如30度)
和椽子厚度(例如90mm)
如何使用cos函数来实现这一点?我知道如果我使用cos 30,它会给我弧度,但我如何将其转换为铅垂线深度。
我知道铅垂线深度是103.92mm,但我需要使用什么公式来获得这个数字?
谢谢你的帮助,我已经努力解决这个问题好几个小时了。
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-5 23:29:56 | 显示全部楼层
你能把你想达到的目标的草图贴出来吗?我不确定你用的是什么专业术语。
 
我想我明白了:
  1. (setq theThick 90.0
  2.      theAngle 30.0)
  3. (/ theThick (cos (* (/ theAngle 180.0) pi)))
回复

使用道具 举报

52

主题

156

帖子

104

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
260
发表于 2022-7-5 23:41:11 | 显示全部楼层
谢谢,看起来是一个很好的公式。我只有一个问题。当我使用代码时,我得到3个数字。
  1. (setq Plumb (/ 90 (cos (* (/ Pitch 180.0) pi)))

当我为音高(30度)键入30时,当我键入!在命令提示下,我得到(-633.304-701.633 0.0)而不仅仅是一个数字。有什么想法吗?
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-5 23:41:57 | 显示全部楼层
你在函数定义中使用这个吗?你能把全部代码发出去吗?
回复

使用道具 举报

52

主题

156

帖子

104

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
260
发表于 2022-7-5 23:57:06 | 显示全部楼层
以下是目前为止的代码:
  1. (defun d2r (a)
  2. (* pi (/ a 180))
  3. )
  4. (defun r2d (a)
  5. (* 180.0 (/ a pi))
  6. )
  7. (defun c:truss ()
  8. (getInput-RoofTruss)
  9. (processInput-RoofTruss)
  10. ;(DrawObject-RoofTruss)
  11. )
  12. (defun getInput-RoofTruss ();/ IP SP TP SH MDF ND
  13. (setq IP (getpoint "\nPick Insertion Point << "))
  14. (setq SP (getpoint IP "\nPick or Enter Width << "))
  15. (setq Pitch    (getint  "\nEnter Roof Pitch << "))  
  16. (setq OverHang (getreal  "\nEnter OverHang << "))  
  17. )
  18. (defun processInput-RoofTruss ()
  19. (setq ANG     (angle IP SP))
  20. (setq ANG     (r2d ANG))  
  21. (setq width (distance IP SP))
  22. (setq  Plumb (/ 90 (cos (* (/ Pitch 180.0) pi)))     
  23.    
  24. (setq  OverHang-P1  (polar IP  (d2r (+ (- ANG 180)  Pitch)) OverHang))
  25. (setq   Plumb  (polar OverHang-P1 (d2r (+ ANG  90)) Plumb))
  26. )
回复

使用道具 举报

52

主题

156

帖子

104

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
260
发表于 2022-7-6 00:01:08 | 显示全部楼层
很高兴得知你自己把它整理好了。
一个好的编程实践是本地化变量,确保它们位于函数的命名空间中,并且不会干扰容器命名空间中具有相同名称的其他变量:
另一个好的做法是指符号命名:为了能够轻松阅读代码,函数通常大写,而变量名以小写字母开头:
  1. 4
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 00:13:00 | 显示全部楼层
也可能是90.0而不是90和180。有时它只是lisp real v的ints中的一个小错误。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 00:16:36 | 显示全部楼层
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 00:02 , Processed in 0.633430 second(s), 68 queries .

© 2020-2025 乐筑天下

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