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

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

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

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

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

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

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

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

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


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
Сообщений: 611


Есть подозрение, что это лучше делать не в Акаде.
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
Сообщений: 705


Рисуешь линии (отрезки) через вершины углов и _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
Воронеж
Сообщений: 571


Цитата:
Сообщение от Сергей Дубина Посмотреть сообщение
Рисуешь линии (отрезки) через вершины углов и _fillet с нужным радиусом
Сергей Дубина, такое ощущение, что Вы вообще не читали ни один пост из этой темы. А если отрезки не компланарны (а оно так и есть в общем случае) то _fillet работать не будет. А как Вы собираетесь учесть вертикальные кривые для плавного сопряжения линий (отрезков) на равных уровнях
__________________
cadtools
TararykovDG вне форума  
Ответ
Вернуться   Форум 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