Реклама i
Стань нашим партнером - зарабатывай с нами!
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

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

Как построить кривую, заданную уравнением

Ответ
Поиск в этой теме
Непрочитано 24.10.2009, 01:53 #1
Как построить кривую, заданную уравнением
Helicopter
 
Регистрация: 24.10.2009
Сообщений: 6

Есть уравнение y=4hx-4hx^2. Требуется с максимальной точностью построить кривую по этому уравнению. Можно ли это сделать в AutoCade или в другой программе и перевести потом в AutoCad? Заранее спасибо!
Просмотров: 22145
 
Непрочитано 24.10.2009, 01:54
#2
Солидворкер
Moderator

Конструктор (машиностроение)
 
Регистрация: 23.10.2006
Россия
Сообщений: 22,998
<phrase 1=


А коэффициент h чему равен? И значения х для опорных точек?
Солидворкер вне форума  
 
Автор темы   Непрочитано 24.10.2009, 01:57
#3
Helicopter


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


Коэффициент h=9,69 мм. Значения по x от 0 до 1. Причем единица соответствует 67,3 мм.
Helicopter вне форума  
 
Непрочитано 24.10.2009, 10:22
#4
Дима_

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


Код:
[Выделить все]
(defun pln (lst c); создает полилинию по списку вершин lst, c - nil/T - разомкн/замкнт или '(с слой цвет).
(entmakex (append
(list (cons 0 "LWPOLYLINE")(cons 100 "AcDbEntity")(cons 100 "AcDbPolyline") (cons 90 (length lst)))
(if (= (type c) 'list)
(vl-remove nil (list
(if (car c) (cons 70 1) (cons 70 0))
(if (cadr c) (cons 8 (cadr c)))
(if (caddr c) (cons 62 (caddr c)))
));end of list & vl-remove
(list (if c (cons 70 1) (cons 70 0)))
);end of if
(mapcar '(lambda (x) (cons 10 x)) lst)
));end of apend & entmakex
);end of pln

(defun c:grafik ( / x h lst)
(setq x 0 h 9.69)
(while (<= x 1)
(setq lst (cons (list x (- (* 4 h x) (* 4 h (* x x)))) lst) x (+ x 0.01))
);end of while
(command "_.zoom" "_o" (pln (reverse lst) nil) "")
);end of grafik
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 24.10.2009, 15:57
#5
Helicopter


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


Честно говоря, я не имею ни малейшего понятия что делать с этим кодом... Если не сложно объясните пожалуйста. Очень нужно!!!
Helicopter вне форума  
 
Непрочитано 24.10.2009, 16:02
#6
AlphaGeo


 
Сообщений: n/a


Цитата:
Сообщение от Helicopter Посмотреть сообщение
Честно говоря, я не имею ни малейшего понятия что делать с этим кодом... Если не сложно объясните пожалуйста. Очень нужно!!!
Как использовать лисп, опубликованный на форуме
 
 
Непрочитано 24.10.2009, 16:07
#7
sbi


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


Цитата:
Сообщение от Helicopter Посмотреть сообщение
Честно говоря, я не имею ни малейшего понятия что делать с этим кодом... Если не сложно объясните пожалуйста. Очень нужно!!!
Это лисп, можно и VBA спец. програмки такие, встроенные на всякий случай, для осмышления.
Честно говоря,я бы строил кривую - отрезками, с определенным шагом 10^-3 или более.
__________________
С уважением sbi

Последний раз редактировалось sbi, 24.10.2009 в 16:14.
sbi вне форума  
 
Автор темы   Непрочитано 24.10.2009, 18:36
#8
Helicopter


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


Вроде разобрался как запустить лисп. Он построил мне параболу. Но эта парабола должна быть 9,69 мм. по оси Y (высота) и 67,3 мм. по X (ширина). Я могу просчитать n-ное количество координат и построить все это дело маленькими черточками, но с микронной точностью сделать это сложно и очень муторно... Попытался разобраться в коде сам, но не смог (о существовании лиспов узнал только сегодня)... Ясно что какой-то цикл считает все значения y(х) с шагом 0,01 пока х не приравняется к 1. Но почему минус стоит перед 4hx:
(setq lst (cons (list x (- (* 4 h x) (* 4 h (* x x)))) lst) x (+ x 0.01))
если уравнение: y=4hx-4hx^2 ? Так же не понял эту строчку: (setq x 0 h 9.69).
Помогите пожалуйста разобаться и всетаки получить параболу заданных размеров!
Helicopter вне форума  
 
Непрочитано 24.10.2009, 23:56
#9
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от Helicopter Посмотреть сообщение
Но почему минус стоит перед 4hx:
(setq lst (cons (list x (- (* 4 h x) (* 4 h (* x x)))) lst) x (+ x 0.01))
Потому что синтаксис такой (ну или как это называется). Сперва функция, потом аргументы. Если перевести на русский, то запись
Код:
[Выделить все]
(- (* 4 h x) (* 4 h (* x x)))
означает: (-вычесть (* 4 h x)из произведения 4*h*x (* 4 h (* x x))произведение 4*h*x*x )
то есть все то же самое, что и в уравнении.
Код:
[Выделить все]
(setq x 0 h 9.69)
означает, что x присваивается значение 0, h присваивается значение 9,69
Если я правильно понял что хочет автор, то нужно в коде поста #4 заменить строку:
Код:
[Выделить все]
:(command "_.zoom" "_o" (pln (reverse lst) nil) "")
на строку:
Код:
[Выделить все]
(command "_.zoom" "_o" (pln (mapcar '(lambda (z) (list (* 67.3 (car z)) (cadr z))) (reverse lst)) nil) "")
Вложения
Тип файла: dwg
DWG 2004
parab.dwg (34.8 Кб, 7718 просмотров)
Do$ вне форума  
 
Автор темы   Непрочитано 25.10.2009, 01:02
#10
Helicopter


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


То, что нужно! Всем огромное спасибо за помощь!
Helicopter вне форума  
 
Автор темы   Непрочитано 10.11.2009, 14:28
#11
Helicopter


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


Подскажите пожалуйста как правильно записать в этом лиспе уравнение вида: -a*(x^3)-b*(x^2)+c*x. Или хотя бы ссылку, где можно посмотреть и разобраться с синтаксисом. Заранее спасибо!
Helicopter вне форума  
 
Непрочитано 10.11.2009, 14:58
#12
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


(- (* c x) (* a x x x) (* b x x))
Do$ вне форума  
 
Непрочитано 10.11.2009, 16:06
#13
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,853


Или
Код:
[Выделить все]
(- (* с x) (* a (expt x 3)) (* b (expt x 2)))
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 10.11.2009, 16:24
#14
Сергей Дубина


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


Квдратные и кубические функции можно изобразить в АвтоКаде без привлечения програмных средств - полилиниями с кубическим или квадратическим сглаживанием. Точность отображения линии настраивается:
Настройка -> Экран -> экранное разрешение -> число сегментов в дугах полилиний
Вложения
Тип файла: dwg
DWG 2007
Пример.dwg (63.8 Кб, 7654 просмотров)
__________________
КазнитьØнельзяØпомиловать:eek:
Сергей Дубина вне форума  
 
Непрочитано 10.11.2009, 19:54
#15
-mavlin-


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


Есть готовая програмка для построения графиков по данным из екселя.
http://dwg.ru/dnl/4177
-mavlin- вне форума  
 
Непрочитано 16.11.2009, 14:56
#16
tsoialexei

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


Построй кривую в Excel, картинку загрузи в автокад и обрисуй
хоть сплайном, что-ли
tsoialexei вне форума  
 
Непрочитано 16.11.2009, 15:19
#17
ETCartman


 
Регистрация: 09.12.2008
Сообщений: 4,649


Цитата:
Сообщение от tsoialexei Посмотреть сообщение
Построй кривую в Excel, картинку загрузи в автокад и обрисуй хоть сплайном, что-ли
Да, автокад не самая крутая программа по части графиков по формуле. Можно в Экселе (ОпенОфисе), можно в maxima
Вложения
Тип файла: zip wxmaxima-cad.zip (864.4 Кб, 171 просмотров)
ETCartman вне форума  
 
Непрочитано 22.10.2012, 15:53
#18
BIzzzzzzON


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


Здравствуйте.

Прошло почти 3 года. Появился ли теперь эффективный способ построения кривых в Автокаде? Интересует также, при невозможности постройки непосредственно в Автокаде, наиболее точный и быстрый способ построить и передать кривую из другой программы в Автокад в dwg, чтобы та, другая программа, не требовала много ресурсов (памяти и времени) на установку и использование. Поделитесь, пожалуйста, своими наработками, если вам приходилось с таким сталкиваться.
BIzzzzzzON вне форума  
 
Непрочитано 22.10.2012, 16:00
#19
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от BIzzzzzzON Посмотреть сообщение
Здравствуйте.

Прошло почти 3 года. Появился ли теперь эффективный способ построения кривых в Автокаде? Интересует также, при невозможности постройки непосредственно в Автокаде, наиболее точный и быстрый способ построить и передать кривую из другой программы в Автокад в dwg, чтобы та, другая программа, не требовала много ресурсов (памяти и времени) на установку и использование. Поделитесь, пожалуйста, своими наработками, если вам приходилось с таким сталкиваться.
У AutoCAD другие задачи, поэтому "родных" средств для построения графиков в нём нет. Для этого предназначены электронные таблицы. Программно можно нарисовать в AutoCAD хоть график, хоть мультик.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 22.10.2012, 20:07
#20
-mavlin-


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


Цитата:
Сообщение от BIzzzzzzON Посмотреть сообщение
Здравствуйте.

Прошло почти 3 года. Появился ли теперь эффективный способ построения кривых в Автокаде? Интересует также, при невозможности постройки непосредственно в Автокаде, наиболее точный и быстрый способ построить и передать кривую из другой программы в Автокад в dwg, чтобы та, другая программа, не требовала много ресурсов (памяти и времени) на установку и использование. Поделитесь, пожалуйста, своими наработками, если вам приходилось с таким сталкиваться.
http://dwg.ru/dnl/7052
-mavlin- вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как построить кривую, заданную уравнением

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как построить среднюю линию между непараллельными? vigold AutoCAD 53 10.03.2023 23:13
Как построить следующее тело?... Shtirlitz AutoCAD 15 10.06.2013 13:09
Как построить правильный 3Dэлипс OrAcOoL AutoCAD 10 02.07.2008 16:29
Мониторы LCD CRT Разное 94 17.06.2008 10:51
Подскажите как построить кривую с помощью команды SPLiNE, к boban Программирование 1 02.11.2003 19:58