xadow 发表于 2022-7-7 14:07:47

如何使用c移动所有圆

我想知道如何移动绘制在同一条线上的所有圆1(圆的中心在同一条线上)

ReMark 发表于 2022-7-7 14:14:46

你必须更清楚地知道你想要的最终结果是什么样子。
 
所有这些圆都散落在图画中了吗?
 
将圆移动到直线上的同一点还是不同点?

xadow 发表于 2022-7-7 14:19:36

假设我画了3个随机的圆,我希望它们在同一条线上,我选择了一个与OX平行的点,并以该线上的中心移动所有的圆
 
另外,我有点忘了说我需要它在lisp中作为代码来完成
这是a创建的3个圆
 
 
(定义C:naghi(/centru1 raza1 centru2 raza2 centru3 raza3 nr)
(setq centru1(getpoint“\n Centru cercului:”)
raza1(获取点“\n Raza cercului:”)
) ;citirea de la tastatura a punctelor necesare pentru a crea un Cerc
(命令“CIRCLE”centru1 raza1)
(setq centru2(getpoint“\n Centru cercului:”)
raza2(获取点“\n Raza cercului:”)
) ;citirea de la tastatura a punctelor necesare pentru a crea un Cerc
(命令“CIRCLE”centru2 raza2)
(setq centru3(getpoint“\n Centru cercului:”)
raza3(获取点“\n Raza cercului:”)
) ;citirea de la tastatura a punctelor necesare pentru a crea un Cerc
(命令“CIRCLE”centru3 raza3)
)
 
我希望他们在同一条线上移动,这条线与公牛平行

ReMark 发表于 2022-7-7 14:22:44


最左边:带有散圆的线。
中间:所有圆移动到直线(中心落在直线上)。圆垂直于直线移动。左右位置未更改。
最右边:所有的圆都移动到了线的中点。
 
现在,你到底想做什么?
 
所有圆都通过中心osnap移动。

xadow 发表于 2022-7-7 14:28:37

我不希望他们有相同的中心,只是每个人的中心在同一条线上
 
midle图片

ReMark 发表于 2022-7-7 14:31:16

我也是这么想的,但我需要你为我们澄清一下。
 
现在,它总是只有三个圆吗?还有更多吗?
 
听起来你需要一个lisp程序来动态地将圆与直线对齐。

xadow 发表于 2022-7-7 14:33:56

首先我想做一个,这样我可以选择多少个圆,然后移动它们,但后来我意识到我必须把它们保存在一个列表中,然后遍历每个圆的列表,我不知道怎么做。这就是为什么我只画了3个圆,每个圆的中心在一个不同的变量中

ReMark 发表于 2022-7-7 14:39:46

三圈,三十圈,三百圈。这真的会有什么不同?

xadow 发表于 2022-7-7 14:43:37

好吧,如果我能画300个圈,并为每一个圈写下代码,我需要1年的时间。
我认为它必须用“while”来做,并把所有的圆圈放在一个列表中

xadow 发表于 2022-7-7 14:47:40

不管怎样,我只想成为这三个圈子里的一个
页: [1] 2
查看完整版本: 如何使用c移动所有圆