乐筑天下

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

[编程交流] 使用等级库定义圆弧

[复制链接]

20

主题

63

帖子

43

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-5 20:08:01 | 显示全部楼层 |阅读模式
大家好
我需要一个命令,可以绘制具有给定长度,半径,中心角的圆弧,是否存在这个命令在autolisp或visual lisp?我在下图中表达了我的意思。
请帮帮我
210803gcc7mc4vtcfkuhe6.jpg
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 20:18:48 | 显示全部楼层
命令行
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 20:21:33 | 显示全部楼层
有趣的数学问题。我不知道lisp,但如果我们设置这些斜线,使平分线垂直,那么这些光线应该旋转:
ACOS(d2/(2*rad1*SIN(ang4/2.0)))
回复

使用道具 举报

8

主题

1133

帖子

1164

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 20:28:07 | 显示全部楼层
 
是的,它很容易建造。但由于OP想要一个一键式的解决方案,我一直把头放在栏杆下。
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 20:30:54 | 显示全部楼层
 
有老战士。有勇敢的战士。没有胆大的老战士。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 20:35:27 | 显示全部楼层
忽略的是,你有3个变量,但d和角度是独立的,只有一个可以使用,但op要求所有3个只有一个解决方案,如图所示,角度d变化
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 20:41:57 | 显示全部楼层
我不认为2.1(d2)是为了成为和弦。如果是和弦,则ang4和d2不能变化。
 
我认为d2是基于系统旋转角度的弦投影。因此,例如,如果d2需要为1.5,系统将需要进一步旋转。
 
顺便提一下,我的第一个方程确实存在使用ASIN而不是ACOS的错误。
210805x5o5mel5efeto71f.jpg
回复

使用道具 举报

8

主题

1133

帖子

1164

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 20:48:18 | 显示全部楼层
在OP的另一个线程中(自删除后),中心角度似乎有所不同。半径和两条平行垂直线是恒定的。由于中心角可能在49.4584度和20.1573度(约)之间变化,我想知道是否会有进一步的信息。
 
但有了这条线索中的信息,只有一个解决方案。
 
由于无法访问约束,我想知道是否有一个简单的解决方案可以使用它们。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 20:56:21 | 显示全部楼层
 
同意-这是我的推导:
 
210809jm5g5qe5mgskstkg.png
 
不过,当然有4种可能的解决方案——圆的每个象限一个。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 21:00:24 | 显示全部楼层
快速编写的LISP解决方案:
[code](defun c:myarc(/a b c d r x)(initget 1025)(setq c(getpoint“\n指定中心:”)(initget 1095)(setq r(getdist”\n指定半径:“c))(initget 1027)(setq b(getangle“\n指定夹角:”)(initget 1093)(setq d(getdist“\n指定水平距离:”)a(acos(/d 2 r(sin(/b 2)))x(/pi 2))(重复2)(重复2(entmake(list’(0。“ARC”)(cons 10 c)(cons 40 r)(cons 50(+x a(/b-2)))(cons 51(+x a(/b 2)))))(setq a(-a))(setq x(+pi x)))(princ));;反余弦-李;;参数:-1
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 09:02 , Processed in 0.904729 second(s), 75 queries .

© 2020-2025 乐筑天下

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