Как нарисовать правильную синусоиду?
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как нарисовать правильную синусоиду?

Как нарисовать правильную синусоиду?

Ответ
Поиск в этой теме
Непрочитано 23.07.2009, 17:17 #1
Как нарисовать правильную синусоиду?
alexeyL
 
Регистрация: 23.07.2009
Сообщений: 3

Подскажите, как нарисовать правильную синусоиду в AutoCAD'е 2002.
Подозреваю, что без Lisp'a или VBA не обойтись. Но ни на том, ни на другом для AutoCAD'a ничего не писал. Если кто-нибудь поделиться примерчиком - думаю разберусь (программировать время от времени приходится, правда не на лиспе и не на бэйсике).

--
Спасибо.
Просмотров: 17048
 
Непрочитано 23.07.2009, 23:05
#2
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Ну разбирайся:
Код:
[Выделить все]
(setq x 0 tmp nil)
(command "_zoom" "_o" (entmakex (append 
(list (cons 0 "LWPOLYLINE")(cons 100 "AcDbEntity")(cons 100 "AcDbPolyline") (cons 90 100) (cons 70 0))
(mapcar '(lambda (x) (list 10 x (sin x))) (repeat 100 (setq tmp (cons (setq x (+ 0.1 x)) tmp))))))"")
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 23.07.2009, 23:18
#3
sbi


 
Регистрация: 27.04.2008
SPB
Сообщений: 3,285
Отправить сообщение для sbi с помощью Skype™


По точкам, как в школе, все просто. Рисуешь окружность, делишь на N частей, развертываешь окружность ну и т.д.
__________________
С уважением sbi
sbi вне форума  
 
Автор темы   Непрочитано 24.07.2009, 12:51
#4
alexeyL


 
Регистрация: 23.07.2009
Сообщений: 3


Цитата:
Сообщение от Дима_ Посмотреть сообщение
Ну разбирайся:
Код:
[Выделить все]
(setq x (+ 0.1 x))
"(+ 0.1 x)" - что это за зверь?
alexeyL вне форума  
 
Непрочитано 24.07.2009, 12:54
#5
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692


Цитата:
Сообщение от alexeyL Посмотреть сообщение
"(+ 0.1 x)" - что это за зверь?
x=x+0,1
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 24.07.2009, 12:58
#6
T-Yoke

Артиллерист - вертолётчик. Дипломированный инженер-механик. Technologist
 
Регистрация: 29.11.2004
Где-то около Москвы
Сообщений: 16,753
Отправить сообщение для T-Yoke с помощью Skype™


Цитата:
Сообщение от alexeyL Посмотреть сообщение
Подскажите, как нарисовать правильную синусоиду в AutoCAD'е 2002.
Подозреваю, что без Lisp'a или VBA не обойтись. Но ни на том, ни на другом для AutoCAD'a ничего не писал. Если кто-нибудь поделиться примерчиком - думаю разберусь (программировать время от времени приходится, правда не на лиспе и не на бэйсике).
--
Спасибо.
Я рисовал пружину в MDT2002 (сжатия или растяжения неважно, главное нужные шаги и диаметр проволоки брать минимальный), взрывал её, чтобы автокад видел как обычный 3D-Солид и всталял в автокад. Потом делал проекцию на плоскость.
Можно сказать идеальная синусоида получалась
Хотя возможно существуют и менее замороченные способы. Но такой меня устраивал.
__________________
«Артиллерия не токмо грохот, но и наука!» Пётр I
T-Yoke вне форума  
 
Непрочитано 24.07.2009, 13:09
#7
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,917
<phrase 1=


Как все сложно,
ps по посту 3
sinus.dwg
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 24.07.2009, 13:23
#8
terewe


 
Регистрация: 06.05.2008
Сообщений: 229


Инженерным калькулятором находите значения sin(0-90) можно через 10 градусов. Отмечаете точки на координатной оси (по ординате -1, 0, +1; по абсцисе 0-360 град). Сначала отмечаете 9 точек до 90 градусов, объединяете сплайном, а дальше зеркалите. Как по старинке
__________________
-Сэр, мы окружены!!!
-Это великолепно!!! Теперь мы можем атаковать в любом направлении!!!
terewe вне форума  
 
Непрочитано 24.07.2009, 14:30
#9
sbi


 
Регистрация: 27.04.2008
SPB
Сообщений: 3,285
Отправить сообщение для sbi с помощью Skype™


Цитата:
Сообщение от zenon Посмотреть сообщение
Как все сложно,
ps по посту 3
Вложение 23994
Вот, если бы уважаемый alexeyL построил бы sin на эллипсе, то наверяка стал бы Коперником.
__________________
С уважением sbi
sbi вне форума  
 
Непрочитано 24.07.2009, 14:56
#10
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от AlexV Посмотреть сообщение
x=x+0,1
Цитата:
Сообщение от alexeyL Посмотреть сообщение
"(+ 0.1 x)" - что это за зверь?
не путайте (+ 0.1 x) возращает х+0.1, а х=х+0.1 это (setq x (+ 0.1 x))

Короче все по порядку
(setq x 0 tmp nil); присваивает х=0, tmp=nil (на случай повторного запуска)
(command "_zoom" "_o"; масштабирование экрана по объекту
(entmakex (append ; создать объект из суммы списков
(list (cons 0 "LWPOLYLINE")(cons 100 "AcDbEntity")(cons 100 "AcDbPolyline") (cons 90 100) (cons 70 0)); разомкнутая полилиния со 100 вершинами
(mapcar ;преобразовать список с помощью
'(lambda (x); анонимная функция с аргументом х
(list 10 x (sin x))); вернет список: 10 - dxf код вершины, x, sin(x)
(repeat 100 (setq tmp (cons (setq x (+ 0.1 x)) tmp))))))""); список из 100 чисел от х с приращением в 0.1 (в обратном порядке)
__________________
Когда в руках молоток все вокруг кажется гвоздями.

Последний раз редактировалось Дима_, 24.07.2009 в 15:13.
Дима_ вне форума  
 
Автор темы   Непрочитано 28.07.2009, 18:31
#11
alexeyL


 
Регистрация: 23.07.2009
Сообщений: 3


По посту #7

Zenon, за аттачмент спасибо, но Ваш [FONT=Courier New]sinus.dwg[/FONT] не открывается. Может еще раз или в другое место можно выложить?
------------------------------------------------------------------------------------------------------

По посту #10

_Дима, а на экран то как все посчитанное вывести?
alexeyL вне форума  
 
Непрочитано 28.07.2009, 23:42
#12
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


а он вообщето и выводит, даже зумирует во весь экран - скопируй код, вставь в командную строку и enter.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 12.08.2009, 08:52 Синусоида
#13
tsoialexei

ГИП, технолог по холодильному проектированию
 
Регистрация: 07.08.2006
Новосибирск
Сообщений: 97
Отправить сообщение для tsoialexei с помощью Skype™


например:
в Excel составил таблицу "x" - "sin(x)"
в Мастере диаграмм получил график
нажал PrintScreen
открыл Autocad
вставил
подогнал по высоте и ширине
и срисовал поточечно
tsoialexei вне форума  
 
Непрочитано 25.02.2015, 13:58
#14
user277418


 
Регистрация: 21.04.2010
Сообщений: 450


Цитата:
Сообщение от Дима_ Посмотреть сообщение
Короче все по порядку
(setq x 0 tmp nil); присваивает х=0, tmp=nil (на случай повторного запуска)
(command "_zoom" "_o"; масштабирование экрана по объекту
(entmakex (append ; создать объект из суммы списков
(list (cons 0 "LWPOLYLINE")(cons 100 "AcDbEntity")(cons 100 "AcDbPolyline") (cons 90 100) (cons 70 0)); разомкнутая полилиния со 100 вершинами
(mapcar ;преобразовать список с помощью
'(lambda (x); анонимная функция с аргументом х
(list 10 x (sin x))); вернет список: 10 - dxf код вершины, x, sin(x)
(repeat 100 (setq tmp (cons (setq x (+ 0.1 x)) tmp))))))""); список из 100 чисел от х с приращением в 0.1 (в обратном порядке)
как построить такую же синусойду только по формуле?
y = (a0/ 4) [1 + sin( Pi x / s - Pi /2)]
a0= 550 mm
s = 190 mm
user277418 вне форума  
 
Непрочитано 25.02.2015, 19:44
1 | #15
art_rrc


 
Регистрация: 28.01.2013
Минск
Сообщений: 375


Цитата:
Сообщение от user277418 Посмотреть сообщение
как построить такую же синусойду только по формуле?
y = (a0/ 4) [1 + sin( Pi x / s - Pi /2)]
a0= 550 mm
s = 190 mm
Вот что у меня получилось...
Xe[95;2000]
ОБНОВЛЕНО! (при правке забыл перепрекрепить файл)
Вложения
Тип файла: dwg
DWG 2010
Чертеж1.dwg (108.9 Кб, 2347 просмотров)

Последний раз редактировалось art_rrc, 25.02.2015 в 20:22.
art_rrc вне форума  
 
Непрочитано 26.02.2015, 14:00
#16
sbi


 
Регистрация: 27.04.2008
SPB
Сообщений: 3,285
Отправить сообщение для sbi с помощью Skype™


Цитата:
Сообщение от user277418 Посмотреть сообщение
как построить такую же синусойду только по формуле?
y = (a0/ 4) [1 + sin( Pi x / s - Pi /2)]
a0= <a href="http://cityadspix.com/tsclick-CQBE4NP0-MKIGQL0P?url=http%3A%2F%2Fwww.pleer.ru%2F_72225_sennheiser_mm_550_x_travel.html&sa=mh&sa1=&sa2=&sa3=&sa4=&sa5=&bt=20&pt=9&lt=2&tl=3&sa=mh&sa1=&sa2=&sa3=&sa4=&sa5=&sa=mh&sa1=&sa2=&sa3=&sa4=&sa5=&im=MjgyNS0wLTE0MjQ5NDg0MzEtMTk3Mzk0Njk%3D&fid=NDQ1NzU2Nzc1&prdct=3a0c380b3a0f3904&kw=550%20mm" target="_blank" alt="Sennheiser MM 550-X Travel" title="Sennheiser MM 550-X Travel" style="">550 mm</a>
s = 190 mm
Приведите формулу в нормальный вид. Угол в тригонометрии измеряется в градусах (не в мм алкоголя ) и радианах.
Если Вы имеете ввиду радианы то: sin(3.14*X/190- 3.14/2)= sin(0,0165*Х), Х в рад. и т.д

----- добавлено через ~2 мин. -----
Цитата:
Сообщение от user277418 Посмотреть сообщение
как построить такую же синусойду только по формуле?
y = (a0/ 4) [1 + sin( Pi x / s - Pi /2)]
s = 190 mm
Приведите формулу в нормальный вид. Угол в тригонометрии измеряется в градусах (не в мм алкоголя ) и радианах.
Если Вы имеете ввиду радианы то: sin(3.14*X/190- 3.14/2)= sin(0,0165*Х), Х в рад. и т.д

----- добавлено через ~40 мин. -----
....
__________________
С уважением sbi
sbi вне форума  
 
Непрочитано 04.03.2015, 13:56
#17
user277418


 
Регистрация: 21.04.2010
Сообщений: 450


Цитата:
Сообщение от art_rrc Посмотреть сообщение
Вот что у меня получилось...
Идеально совпало

Какие значения в коде от _Димы Вы изменяли? Я оооочень далек от программирования
user277418 вне форума  
 
Непрочитано 04.03.2015, 15:23
#18
art_rrc


 
Регистрация: 28.01.2013
Минск
Сообщений: 375


Цитата:
Сообщение от user277418 Посмотреть сообщение
Идеально совпало

Какие значения в коде от _Димы Вы изменяли? Я оооочень далек от программирования
Честно признаться, я тему даже не читал.. Просто забил быстренько формулу в VBA.. результат выложил..
art_rrc вне форума  
 
Непрочитано 04.03.2015, 15:26
#19
user277418


 
Регистрация: 21.04.2010
Сообщений: 450


Цитата:
Сообщение от art_rrc Посмотреть сообщение
Честно признаться, я тему даже не читал.. Просто забил быстренько формулу в VBA.. результат выложил..
))) в таком случае, что такое VBA?
user277418 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как нарисовать правильную синусоиду?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как нарисовать шестерню? Jerald AutoCAD 72 03.08.2009 10:12
Юмор 2007 Огурец Разное 1172 29.12.2007 11:16
ЮМОР 2006 =) Perezz!! Разное 1122 04.01.2007 00:46
Как нарисовать вертикальные линии в мультилинии Snow AutoCAD 1 26.09.2003 12:43