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

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

Построение криволинейной траектории в пространстве

Ответ
Поиск в этой теме
Непрочитано 29.10.2010, 14:03 #1
Построение криволинейной траектории в пространстве
NickNavi
 
Регистрация: 24.06.2010
Сообщений: 33

Доброго всем времени суток. Поскольку я не программист, то обращаюсь к мастерам сего дела с просьбой подумать над способом программно выполнять довольно специфическую функцию, а именно построение правильной криволинейной траектории в пространстве.
Поясню:
1. В плане имеется оси - прямолинейные участки, сопряженные дугами или сплайнами.
2. Прямолинейные участки имеют различное высотное положение и направление не только в плоскости, но и в пространстве.
3. Соответственно необходимо чтобы эти прямолинейные участки были сопряжены плавно не только в плоскости, но и в пространстве.

Для лучшего разъяснения выложил файл с алгоритмом построения стандартными автокадовскими средствами. Этот метод построения очень многодельный, поэтому я прошу вас помочь мне его упростить.

Вложения
Тип файла: dwg
DWG 2007
Построение.dwg (326.3 Кб, 3260 просмотров)

Просмотров: 13596
 
Непрочитано 29.10.2010, 15:49
#2
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


NickNavi, а можно по-подробней. По каким данным были получены сами прямолинейные участки, сопряженные дугами или сплайнами. Может быть по ним сразу можно построить траекторию или же траекторию можно строить только по уже существующим прямолинейным участкам сопряженными дугами или сплайнами?
__________________
cadtools
TararykovDG вне форума  
 
Автор темы   Непрочитано 29.10.2010, 17:46
#3
NickNavi


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


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

Изначально имеется план где развязка представляет собой прямые участки сопряженные дугами (без клатойд). в ручную определяю высотное положение на характерных участках прямых сегментов трассы и вот с этого момента мне нужно плавное сопряжение их в пространстве.

В идеале это должна быть проекция продольного профиля оси (на участке виража) на вертикальную плоскость, образованной дугой виража (стенка цилиндра) Исходные данные: радиус виража, положение прямолинейных сегментов, радиусы вертикальных кривых.
NickNavi вне форума  
 
Непрочитано 29.10.2010, 19:40
#4
PolBlack

ведущий инеженер-проектировщик слаботочных систем
 
Регистрация: 21.10.2010
Киев
Сообщений: 64
<phrase 1= Отправить сообщение для PolBlack с помощью Skype™


можно задать вопрос по другому: как можно нарисовать пространственную (3D) дугу или круг? как можно выполнить скругление острых углов 3D полилинии?
__________________
Дорогу осилит идущий
PolBlack вне форума  
 
Непрочитано 29.10.2010, 20:41
#5
Taracka


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


Есть подозрение, что это лучше делать не в Акаде.
Taracka вне форума  
 
Непрочитано 29.10.2010, 21:06
#6
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от PolBlack Посмотреть сообщение
как можно нарисовать пространственную (3D) дугу или круг?
Это спираль что ли?
gomer вне форума  
 
Непрочитано 29.10.2010, 22:33
#7
PolBlack

ведущий инеженер-проектировщик слаботочных систем
 
Регистрация: 21.10.2010
Киев
Сообщений: 64
<phrase 1= Отправить сообщение для PolBlack с помощью Skype™


спираль - это стандартный элемент, и его нарисовать не проблема.
а вот дугу...между двумя гранями...
__________________
Дорогу осилит идущий
PolBlack вне форума  
 
Непрочитано 29.10.2010, 23:35
#8
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Дуга - понятие плоское... на сколько я помню из геометрии
gomer вне форума  
 
Непрочитано 30.10.2010, 00:14
#9
PolBlack

ведущий инеженер-проектировщик слаботочных систем
 
Регистрация: 21.10.2010
Киев
Сообщений: 64
<phrase 1= Отправить сообщение для PolBlack с помощью Skype™


Цитата:
Сообщение от gomer Посмотреть сообщение
Дуга - понятие плоское... на сколько я помню из геометрии
ну и что этим хотел сказать? если ее повернуть в пространстве, она не перестанет быть плоской фигурой.
лучше ответь как нарисовать плоскую дугу, таким образом, чтобы начало находилось на оси Х, а конец на оси Z? (нарисовать в плоскости XY и повернуть не отвечает на вопрос топика)
__________________
Дорогу осилит идущий
PolBlack вне форума  
 
Непрочитано 30.10.2010, 01:15
#10
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от PolBlack Посмотреть сообщение
ну и что этим хотел сказать? если ее повернуть в пространстве, она не перестанет быть плоской фигурой.
лучше ответь как нарисовать плоскую дугу, таким образом, чтобы начало находилось на оси Х, а конец на оси Z? (нарисовать в плоскости XY и повернуть не отвечает на вопрос топика)
ни каких проблем - достаточно поиграть с вектором нормали - дуга, действительно плоский объект, но он лежит на некоторой плоскости, которая описана точкой в центре дуги и вектором нормали. Другими словами, при построении дуги программно, можно сразу ее строить в нужной системе координат и нужной плоскости...
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны.
/Сунь Цзы/
Елпанов Евгений вне форума  
 
Непрочитано 30.10.2010, 02:21
#11
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Посмотри как развертки цилиндров делают...
зы... Одной дугой точно не получится.... Спиралью, кажется, тоже...
gomer вне форума  
 
Автор темы   Непрочитано 30.10.2010, 20:35
#12
NickNavi


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


Есть следующая мысль:
Поскольку цилиндрическая поверхность образуется путем движения прямой L, которая перемещается в пространстве, сохраняя постоянное направление и пересекая ка ждый раз некоторую кривую К, называется цилиндрической поверхностью или цилиндром. При этом кривая К называется направляющей цилиндра, а прямая L — его образующей

http://www.znannya.org/?view=yravnen...hnosti_i_linii
(п. 12.7)

Поскольку кривая K в плоскости XY нам известна, то остается спроецировать по ней переменную прямую L (которая вдоль оси Z).
Можно это сделать с определенным шагом (получится апроксимированная 3-х мерная кривая). Перевести в 3D полилинию и сгладить.
NickNavi вне форума  
 
Непрочитано 30.10.2010, 21:52
#13
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Все Вадсон, как говорится - элементарно.

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

В жизни всякое бывает. Иногда ТАКИЕ круги надо выписывать, по необходимости, что диву даешся.

И так, есть две линии. Каждая имеет начало и конец. И как я понимаю, расстояние между концами меньше чем между началами. То-есть взяв четыре координаты точек мы найдем две самые близкие (естественно, точки принадлежащие одной и той же линии не учитываются).
Концы нашли.
Теперь берем и рисуем двухточечный сплайн, где начало сплайна один "конец", окончание сплайна - другой "конец" и направление векторов на концах сплайна определены началами наших двух линий.

Никаких промежуточных точек в сплайне! Только две!

Вот проделайте это руками, а то, что получится, если вам понравится, можно и автоматизировать.
Supermax вне форума  
 
Автор темы   Непрочитано 31.10.2010, 19:02
#14
NickNavi


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


Supermax, огромное вам мерси! способ проще не придумаешь, хотя если в плане посмотреть, есть небольшая разница между дугой и сплайном
NickNavi вне форума  
 
Непрочитано 31.10.2010, 23:02
#15
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


А если представить дороги как две линии? Будут ли соединяющие "дуги" параллельны?
gomer вне форума  
 
Автор темы   Непрочитано 01.11.2010, 11:41
#16
NickNavi


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


Цитата:
Сообщение от gomer Посмотреть сообщение
А если представить дороги как две линии? Будут ли соединяющие "дуги" параллельны?
для меня это не имеет значения т.к. все моделирование пляшет от оси
NickNavi вне форума  
 
Автор темы   Непрочитано 02.11.2010, 13:32
#17
NickNavi


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


При проверке способа Супермакса выяснилось что он не подходит если нужно соединить расходящиеся концы прямых. В данном случае сплайн рисует траекторию сильно отличающуюся в плане от дуги.
Так что тема вновь актуальна.
NickNavi вне форума  
 
Непрочитано 09.11.2010, 08:32
#18
Сергей Дубина


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


Рисуешь линии (отрезки) через вершины углов и _fillet с нужным радиусом
__________________
КазнитьØнельзяØпомиловать:eek:
Сергей Дубина вне форума  
 
Автор темы   Непрочитано 09.11.2010, 09:48
#19
NickNavi


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


Цитата:
Сообщение от Сергей Дубина Посмотреть сообщение
Рисуешь линии (отрезки) через вершины углов и _fillet с нужным радиусом
по подробнее опишите способ.
NickNavi вне форума  
 
Непрочитано 09.11.2010, 09:49
#20
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Цитата:
Сообщение от Сергей Дубина Посмотреть сообщение
Рисуешь линии (отрезки) через вершины углов и _fillet с нужным радиусом
Сергей Дубина, такое ощущение, что Вы вообще не читали ни один пост из этой темы. А если отрезки не компланарны (а оно так и есть в общем случае) то _fillet работать не будет. А как Вы собираетесь учесть вертикальные кривые для плавного сопряжения линий (отрезков) на равных уровнях
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 09.11.2010, 11:23
#21
Сергей Дубина


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


Цитата:
Сообщение от TararykovDG Посмотреть сообщение
А как Вы собираетесь учесть вертикальные кривые для плавного сопряжения линий (отрезков) на равных уровнях
Вот так.
Вложения
Тип файла: dwg
DWG 2007
Чертеж2.dwg (63.1 Кб, 1510 просмотров)
__________________
КазнитьØнельзяØпомиловать:eek:
Сергей Дубина вне форума  
 
Непрочитано 09.11.2010, 11:44
#22
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Цитата:
Сообщение от Сергей Дубина Посмотреть сообщение
Вот так.
Ну и что, там нет никакого сопряжения. Речь идет не о кривой задающей вираж, который Вы реализовали дугой, а о вертикальных кривых для плавного сопряжения прямолинейных учасков на разных уровнях. Если на Вашем чертеже посмотреть на дугу не сверху (как на план), а сбоку (точнее продольных профиль), то она буде выглядеть как отрезок (это не очень отчеливо видно из-за того что на чертеже маленький перепад уровней).
Вложения
Тип файла: dwg
DWG 2000
Чертеж1.dwg (73.1 Кб, 1489 просмотров)
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 09.11.2010, 11:52
#23
Сергей Дубина


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


вот
Вложения
Тип файла: dwg
DWG 2007
Чертеж3.dwg (80.3 Кб, 1460 просмотров)
__________________
КазнитьØнельзяØпомиловать:eek:
Сергей Дубина вне форума  
 
Непрочитано 09.11.2010, 11:56
#24
sbi


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


NickNavi Криволинейная траектория линии в пространстве выполнялась в Акаде, аш четверть века. Страдает USC and hands.
__________________
С уважением sbi
sbi вне форума  
 
Непрочитано 09.11.2010, 11:58
#25
KennyMckormik


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


Мне кажется можно сделать так:
1. поределить угол дуги клотоиды
2. расчитать количество витков соединяющей спирали (п. 1 / 360, если в градусах)
3. построить спираль опираясь: центр спирали - центр дуги; радиус спирали, причем верхний и нижний - радиус дуги; высота спирали - перепад высот между прямолинейными участками.
4. скорриектировать число витков спирали см. п. 2
4а. подкорректировать направление спирали после постраения.
5. разбить спираль и получить spline.
это хорошо только в случае когда прямолинейные участки лежат в параллельных плоскостях

комманда постраения спирали - Helix
__________________
Timeo Danaos et dona ferentes :eek:
KennyMckormik вне форума  
 
Непрочитано 09.11.2010, 12:51
#26
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Сергей Дубина, а как дугами задавать вертикальные кривые, во вложении радиус виража 50, вертикальные радиусы: фиолетовый - 50; красный - 70; синий - 100; зеленый - 150.
Вложения
Тип файла: dwg
DWG 2000
Чертеж1.dwg (78.8 Кб, 1449 просмотров)
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 09.11.2010, 13:09
#27
Сергей Дубина


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


Цитата:
Сообщение от TararykovDG Посмотреть сообщение
Сергей Дубина, а как дугами задавать вертикальные кривые, во вложении радиус виража 50, вертикальные радиусы: фиолетовый - 50; красный - 70; синий - 100; зеленый - 150.
Почему вопрос адресован ко мне?
Кривые в моих примерах произвольны и плавны.
Кстати по координатам какой кривой построены ваши сплайны?
__________________
КазнитьØнельзяØпомиловать:eek:
Сергей Дубина вне форума  
 
Непрочитано 09.11.2010, 13:30
#28
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Цитата:
Сообщение от Сергей Дубина Посмотреть сообщение
Почему вопрос адресован ко мне?
Потому что я с Вам начинал дисскусию об использовании дуг для сопряжения
Цитата:
Сообщение от Сергей Дубина Посмотреть сообщение
Кривые в моих примерах произвольны и плавны.
Вот именно "Кривые произвольны", а если прочитать пост автора #3 там в качестве исходных данных указано
Цитата:
Сообщение от NickNavi Посмотреть сообщение
Исходные данные: радиус виража, положение прямолинейных сегментов, радиусы вертикальных кривых.
Цитата:
Сообщение от Сергей Дубина Посмотреть сообщение
Кстати по координатам какой кривой построены ваши сплайны?
Мои сплайны построены с помощью моей программы (см. вложения). Здесь требуется несколько пояснений. Сама программа мягко говоря еще "сырая", но кому интересно может сам исправить или доработать. Корректное задание входных данных (радиус виража, радиус вертикальных кривых) дается на откуп пользователя.
NickNavi, и все кому интересно пробуйте, делайте замечания
Вложения
Тип файла: lsp 3d_fillet.LSP (6.7 Кб, 99 просмотров)
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 09.11.2010, 15:46
#29
Сергей Дубина


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


Цитата:
Сообщение от TararykovDG Посмотреть сообщение
Вот именно "Кривые произвольны", а если прочитать пост автора #3 там в качестве исходных данных указано
"Проглядел".
1. Посмотрел вашу прогу, исходных точек должно быть не две, а как минимум 4.
2. Мне кажется сам автор, чтобы получить то что хочется, должен помочь с исходной инфой (теорию построения подомных кривых (разверток) на бумаге, и формулы расчета.
__________________
КазнитьØнельзяØпомиловать:eek:
Сергей Дубина вне форума  
 
Непрочитано 09.11.2010, 16:00
#30
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Цитата:
Сообщение от Сергей Дубина Посмотреть сообщение
"Проглядел".
1. Посмотрел вашу прогу, исходных точек должно быть не две, а как минимум 4.
Ну я же говорил, что программа еще мягко говоря на стадии разработки. Правда почему точек должно быть как минимум 4 я не понял. Вообще говоря круговой кривой правильного сопряжения не добиться нужны переходные в виде каких-нибудь клатойд или циклойд, но это вопрос к автору, напомню его слова
Цитата:
Сообщение от NickNavi Посмотреть сообщение
Изначально имеется план где развязка представляет собой прямые участки сопряженные дугами (без клатойд)
здесь речь идет о дугах, но применительно к плану проектируемого объекта.


Цитата:
Сообщение от Сергей Дубина Посмотреть сообщение
2. Мне кажется сам автор, чтобы получить то что хочется, должен помочь с исходной инфой (теорию построения подомных кривых (разверток) на бумаге, и формулы расчета.
Ну вот пусть посмотрет и сделает свои замечания. Я так понял, что у него уже есть расчитанные значения и их нужно только отобразить в 3d модели
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 09.11.2010, 16:42
#31
Сергей Дубина


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


Цитата:
Сообщение от TararykovDG Посмотреть сообщение
Правда почему точек должно быть как минимум 4 я не понял.
Две точки - координаты начала и конца, и еще две для расчета уклонов в этих точках. (поэтому и не получается плавности сопряжения в вашей функции)
__________________
КазнитьØнельзяØпомиловать:eek:
Сергей Дубина вне форума  
 
Непрочитано 09.11.2010, 16:56
#32
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Цитата:
Сообщение от Сергей Дубина Посмотреть сообщение
Две точки - координаты начала и конца, и еще две для расчета уклонов в этих точках. (поэтому и не получается плавности сопряжения в вашей функции)
Возможно Вы правы, спорить не буду, так как не владею должной теорией в этом вопросе. Но все же, о плавности сопряжения в какой проекции Вы говорите, если о плане (вид сверху), то здесь как я уже сказал в посте #30 круговой кривой правильного сопряжения не добиться нужны переходные. Если о продольном профиле то здесь по идеи плавности можно добиться правильным заданием радиусов вертикальных кривых
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 10.11.2010, 08:23
#33
Сергей Дубина


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


Цитата:
Сообщение от TararykovDG Посмотреть сообщение
Если о продольном профиле то здесь по идеи плавности можно добиться правильным заданием радиусов вертикальных кривых
Lisp-ом владею очень плохо, поэтому функцию поправить не смогу. Можно предложить следующее:
1. Подсчитываем уклон в начале и в конце кривой
2. Делим разницу уклонов на количество участков и получаем приращение уклонов
3. Подсчитывается уклон для каждой точки, и высота.
__________________
КазнитьØнельзяØпомиловать:eek:
Сергей Дубина вне форума  
 
Непрочитано 10.11.2010, 10:17
#34
PolBlack

ведущий инеженер-проектировщик слаботочных систем
 
Регистрация: 21.10.2010
Киев
Сообщений: 64
<phrase 1= Отправить сообщение для PolBlack с помощью Skype™


Сергей Дубина, ничего себе простенькое объяснение, как интеграл или дифференциал посчитать.
__________________
Дорогу осилит идущий
PolBlack вне форума  
 
Непрочитано 10.11.2010, 15:12
#35
sbi


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


PolBlack Сделай проще.
__________________
С уважением sbi
sbi вне форума  
 
Автор темы   Непрочитано 11.11.2010, 11:15
#36
NickNavi


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


Цитата:
Сообщение от sbi Посмотреть сообщение
NickNavi Криволинейная траектория линии в пространстве выполнялась в Акаде, аш четверть века. Страдает USC and hands.
Чтобы не быть голословным опишите здесь способ и я его оценю применительно к моей задаче.

TararykovDG Спасибо за программу, начинаю тестировать. О результатах сообщу позже.

Сергей Дубина Ваш способ за своей простотой имеет ряд недостатков.
1. Полученная кривая не совпадает с исходной кривой в плане.
2. При выдавливании свипом на концевых участках дуг полученные солиды не стыкуются с солидами на линейных участках. Приходиться их подкручивать от чего искажается модель и работа становится многодельной.

KennyMckormik Хеликс не даст плавности сопяжения.
NickNavi вне форума  
 
Непрочитано 11.11.2010, 11:26
#37
Сергей Дубина


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


NickNavi А про формулы? Проигнорировал?
В профиле обязательно дуги и прямые, или параболы сойдут?
__________________
КазнитьØнельзяØпомиловать:eek:
Сергей Дубина вне форума  
 
Автор темы   Непрочитано 11.11.2010, 12:36
#38
NickNavi


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


Цитата:
Сообщение от Сергей Дубина Посмотреть сообщение
NickNavi А про формулы? Проигнорировал? В профиле обязательно дуги и прямые, или параболы сойдут?
Я извиняюсь что не дочитал до конца, начал играться с 3D fillet. Согласен с вами что нужно 4 точки брать (а точнее для исходных данных выбирать весь линейный сегмент) иначе при малых вертикальных радиусах кривая начинает вспухать на концах. Кстати она не только вспухает но и "заостряет" сопряжение при больших значениях вертикального радиуса.

Уважаемый TararykovDG в своем примере взял частный случай - прямые в параллельных плоскостях. Если к примеру у верхнего отрезка подвинуть край выше или ниже по Z то плавного сопряжения уже не будет.

Про формулы........В математике не силен, но я определенно представляю способ построения кривой. другой вопрос насколько он может быть реализован. Попробую донести мои мысли не бумаге и выложить сюда.

Про дуги с прямыми или параболы......Хочется универсальности и возможность выбора метода построения. Однако для начала нужно добиться устойчивой работы хотя бы одного способа в общем случае (а не только в частных). Поэтому наверно проще остановиться на профиле состоящим из дуг и отрезка.

---------------------------------------------------------------------------------------------------------------------------------------

Надеюсь что нарисовал понятно. Итак.

TararykovDG частично решил задачу для частного случая [1]. Здесь показана развертка продольного профиля во фронтальной проекции. Как уже говорилось хотелось бы чтобы задача решалась для общего случая [2], где прямые разнесены и по высоте и по направлению.
На мой взгляд задача решается следующим образом

Для начала нужно описание функции сопряжения прямых по траектории BCDE на плоскости. Поскольку цилиндрическая поверхность abcd [3] строится перемещением прямой ab по кривой ad, то можно утверждать что наша пространственная кривая является геометрическим местом точек образованным от перемещения прямой aB вдоль ad (пунктирные линии). aB в совою очередь имеет переменную длину в соответствии с функцией BCDE и в каждой новой точке кривой ad создает координату z для нашей пространственной кривой.
Аналитически это будет результатом решения системы уравнений состоящей из функции BCDE и кривой ad.
Таким образом имея любую кривую в плане [4a] можно обеспечить плавное сопряжение пространственных отрезков вдоль этой кривой [4b].

[img]http://s013.***********/i325/1011/24/4ff849ca76ef.jpg[/img]
[img]http://s39.***********/i085/1011/7f/40d181825851.jpg[/img]

О программе TararykovDG:
1. она работает пока только для частного случая прямых в плоскостях параллельных XY
2. при малых и или слишком больших радиусах не получается плавного сопряжения.
Кривую пучит или сжимает вдоль оси Z
3. она соединяет только сходящиеся концы, а желательно что бы она тоже соединяла и расходящиеся концы плавно [5] а сейчас она соединяет их под острым углом [5 пунктир]

Последний раз редактировалось NickNavi, 12.11.2010 в 11:03.
NickNavi вне форума  
 
Непрочитано 07.12.2010, 10:40
#39
Сергей Дубина


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


Цитата:
Сообщение от NickNavi Посмотреть сообщение
Про формулы........В математике не силен, но я определенно представляю способ построения кривой. другой вопрос насколько он может быть реализован. Попробую донести мои мысли не бумаге и выложить сюда.
Это не формулы, а урок начертательной геометрии.
Выкладываю методику расчета, ничего сложного в ней нет. В профиле - сопряженные параболы. Радиус и координаты центра не вычислял, это сделал TararykovDG.
Я в лиспе не силен, реализовал всё "своими методами". Так что попросите TararykovDG, может он доведет свой лисп по этой методе до конца.
Вложения
Тип файла: zip Расчет кривых.zip (61.4 Кб, 101 просмотров)
__________________
КазнитьØнельзяØпомиловать:eek:
Сергей Дубина вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Построение криволинейной траектории в пространстве



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа в пространстве листа Traum AutoCAD 42 14.08.2014 05:57
Управление слоями в видовых экранах в пространстве листа Zuk AutoCAD 20 27.05.2013 01:58
Работа в пространстве Листа-вопрос новичка. tsurx AutoCAD 27 22.10.2012 13:16
Значение поля(field) в Пространстве Листа и Пространстве Модели различаются. Автокад 2009-2010 wetr AutoCAD 2 06.05.2009 02:33
Построение спирали по криволинейной траектории ASPiter AutoCAD 8 16.02.2009 12:14