Форум программистов, компьютерный форум, киберфорум
AutoLISP
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/10: Рейтинг темы: голосов - 10, средняя оценка - 4.60
5 / 5 / 0
Регистрация: 04.10.2015
Сообщений: 30
1

Построение соприкасающихся окружностей в Autolisp

02.11.2015, 09:31. Показов 1952. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста с заданием:
Построение параметрических чертежей в среде AutoCAD 2010
Задание: По радиусу R и натуральному числу N построить рисунок из N соприкасающихся
окружностей радиуса R, причем центры этих окружностей должны лежать на окружности с заданным центром.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.11.2015, 09:31
Ответы с готовыми решениями:

AutoLisp (Autocad 2010) Задача по помещению окружностей в центр треугольника
Суть задания: нужно создать такую функцию, которая бы просматривала все элементы на чертеже,...

Программа на AutoLisp: построение треугольников
В среде Автокада средствами Автолиспа построить множество пересекающихся правильных треугольников и...

Autolisp, построение семейства фигур
Никак не могу отладить код готовой программы, то, что должно получится приложил. (defun ID () ...

Программа AutoLisp: построение неправильных невыпуклых пятиугольников
Решил пойти дальше по задачам и встал на вот этом: В среде Автокада средствами Автолиспа...

13
1050 / 944 / 107
Регистрация: 04.11.2012
Сообщений: 974
Записей в блоге: 3
02.11.2015, 19:42 2
Цитата Сообщение от innnochka Посмотреть сообщение
Помогите пожалуйста с заданием
Чем именно, написать скрипт за вас? Начинайте, я уже мысленно вас поддерживаю.
1
5 / 5 / 0
Регистрация: 04.10.2015
Сообщений: 30
04.11.2015, 14:26  [ТС] 3
как соединить окружности?
0
VH
428 / 256 / 23
Регистрация: 23.11.2010
Сообщений: 278
04.11.2015, 21:00 4
Лучший ответ Сообщение было отмечено _sg как решение

Решение

См. чертеж.
Миниатюры
Построение соприкасающихся окружностей в Autolisp  
4
5 / 5 / 0
Регистрация: 04.10.2015
Сообщений: 30
05.11.2015, 17:43  [ТС] 5
И как мне это поможет? Как в формулах вывести все радиусы и смещения? Чтобы они зависили от n и r! частный случай я сама могу изобразить на бумаге)
0
1050 / 944 / 107
Регистрация: 04.11.2012
Сообщений: 974
Записей в блоге: 3
05.11.2015, 18:31 6
Цитата Сообщение от innnochka Посмотреть сообщение
И как мне это поможет?
Это не то что помогает, это уже фактически готовое решение. Расставляете окружности по вершинам правильного многоугольника, сколько вам их там надо. С радиусом равным половине грани многоугольника.
1
5 / 5 / 0
Регистрация: 04.10.2015
Сообщений: 30
15.11.2015, 09:25  [ТС] 7
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(defun c:q1(/ R N)
    (COMMAND "LIMITS" '(0 0) '(320 200))
    (COMMAND "ZOOM" "A")
    (SETQ R (getreal "R= "))
    (SETQ N (getreal "N= "))
    (SETQ p1 (GETPOINT "Укажите стартовую точку на экране"))
    (setq P1B 0)
    (setq RN(/ R (SIN (/ pi n))))
   (command "circle" p1 RN)
   (setq ugol1 0)
   (setq ugol (/ (* pi 2) n))
   (setq j 0)
    (while (< j n)
        (setq pn (polar p1 ugol1 rn))
        (setq ugol1 (+ ugol1 ugol))
        (command "circle" pn R)
        (setq j (+ j 1))
      )
   (command "redraw"))
1
1050 / 944 / 107
Регистрация: 04.11.2012
Сообщений: 974
Записей в блоге: 3
15.11.2015, 12:02 8
Лучший ответ Сообщение было отмечено innnochka как решение

Решение

Зачёт. Подравнял код.
Кликните здесь для просмотра всего текста
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
(defun C:Q1 (/ r n p1 p1b rn ugol j pn)
  (setvar "cmdecho" 0)
  (setq osmode (getvar "OSMODE"))
  (setvar "OSMODE" 0)
  (setq r (getreal "R= "))
  (setq n (getreal "N= "))
  (setq p1 (getpoint "Select the starting point: "))
  (setq p1b 0)
  (setq rn (/ r (sin (/ pi n))))
  (setq ugol1 0)
  (setq ugol (/ (* pi 2) n))
  (setq j 0)
    (while (< j n)
      (setq pn (polar p1 ugol1 rn))
      (setq ugol1 (+ ugol1 ugol))
      (command "_.circle" pn r)
      (setq j (+ j 1))
    )
  (command "_.zoom" "_e")
  (setvar "OSMODE" osmode)
  (setvar "cmdecho" 1)
  (princ)
);(C:Q1)
2
621 / 941 / 150
Регистрация: 10.08.2015
Сообщений: 5,013
15.11.2015, 14:24 9
Цитата Сообщение от Lambdik Посмотреть сообщение
Зачёт.
ну, давайте разберемся, что тут не так
1. Что произойдет, если нужно будет отменить команду?
2. Что произойдет, если исходные данные введены не полностью?
3. Что произойдет, если данные ввести не неверно?
3. Какие ограничения по исходным данным упущены?
4. Как изменить базовый угол в скомпилированной программе при отсутствии исходника?
5. Зачем переменная p1b?
6. Что произойдет при использовании глобальных переменных?
7. В чем разница между испольванием setq в биаргументном и мультиаргументном видах
8. Зачем императивно включать эхо команд?
9. На каком основании применен цикл?
10. Зачем нужно зуммировать чертеж?
11. Зачем использовать англоязычные приглашения в интерактивных функциях?
12. Как правильно организовать пользовательский ввод для разных локалей автокада?
13. Сколько пунктов "3." в этом опроснике
0
5 / 5 / 0
Регистрация: 04.10.2015
Сообщений: 30
15.11.2015, 14:47  [ТС] 10
Этого не требуется никому.
0
621 / 941 / 150
Регистрация: 10.08.2015
Сообщений: 5,013
15.11.2015, 15:27 11
Цитата Сообщение от innnochka Посмотреть сообщение
Этого не требуется никому.
ну, на нет и спроса нет, сдавать не мне, а вам. так что удачи.
а вопросы адресованы не вам, а тому, кто написал код
0
1050 / 944 / 107
Регистрация: 04.11.2012
Сообщений: 974
Записей в блоге: 3
15.11.2015, 17:12 12
Цитата Сообщение от vlisp Посмотреть сообщение
ну, давайте разберемся, что тут не так
Чо ты пристал ко мне? Разбирайся, это же для меня код. Себе я бы написал совсем по другому. А ещё лучше напиши сам, как бы ты сделал.
1
5 / 5 / 0
Регистрация: 04.10.2015
Сообщений: 30
16.11.2015, 13:56  [ТС] 13
Сдала и на отлично)
1
1050 / 944 / 107
Регистрация: 04.11.2012
Сообщений: 974
Записей в блоге: 3
16.11.2015, 14:16 14
Поздравляю! ) Я даже не сомневался.
0
16.11.2015, 14:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2015, 14:16
Помогаю со студенческими работами здесь

Вывести изображение "5 соприкасающихся окружностей вписаны в большую окружность"
Вывести изображение &quot;5 соприкасающихся окружностей вписаны в большую окружность&quot;

Рекурсивное построение увеличивающихся окружностей
Добрый день, помогите разобраться. Надо написать приложение, которое строит ряд увеличивающихся...

Построение 2-х окружностей в комплексной плоскости
Задача просто элементарная Дана &quot;средняя&quot; окружность, она лежит на мнимой оси координат, т.е...

Изобразить на экране построение концентрических окружностей
изобразить на экране построение концентрических окружностей , начиная от большей к меньшей и обратно


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru