Как узнать длину сплайна
Дело вот в чем: создаем, например, любой изогнутый сплайн, дублируем его, пихаем их в Loft Nurbs и создаем поверхность. Потом на эту поверхность кидаем bitmap’ный материал. Но для того, что бы точно знать размеры битмапной картинки необходимо знать длину сплайна, чтобы материал адекватно распределился по нему.
Раньше как-то приходилось делать банер натянутый на радиальную поверхность. Но там выкручивался при помощи Circle и старой доброй геометрии через углы, длину сектора окружности, когда длину текстуры для банера высчитывал в ручную.
Есть и еще куча моментов когда нужно знать длину сплайна.
Блольше чем уверен, что вопрос этот с длинной бородой, как борода старика Хотабыча. Долго мучил ослика, однако в инете гольняк. Или не там искал?
Может есть какие-нибудь далекие закоулки синьки, где можно подчерпнуть эту информацию или есть плагины?
Владислав (sapiens)
Мастер
cinematek
Пользователь сайта
Владислав (sapiens)
Мастер
cinematek
Пользователь сайта
m_arik
Активный участник
Доброго времени суток. Прочитав первые сообщения (перепалку между дядей Владей и cinematek), смеялся минут пять. Потом чуть ли не всплакнул.
Дядя Владя спасибо вам (прошу прощение за выражение) "за адекватную реакцию" //"- . я лично не вижу, чем вы человеку помогли в сообщении."// И спасибо cinematek — значит не я один такой.
Смеялся я по той причине, что вопорс о длине сплайна возникает не только в синиме. На одном форуме по 3D Max одного парня прямо таки загнобили из-за того, что он задает дурацкие вопросы. Дескть "Накой она тебе нужна? Задаешь вопрос, но ради чего?" Парень не смог ответить. С другой стороны, в одном из примеров того-же Макса (http://www.silicontaiga.ru/home.asp?artId=6430) говориться следующее: "Узнайте длину сплайна, который является формой пути для гусеницы. Сделать это просто, достаточно выделить сам сплайн и воспользоваться утилитой Measure (Линейка), находящейся на вкладке Utilities (Сервис) панели управления. Там, в группе Shapes (Формы), будет указана длина сплайна" — длина сплайна требуется для построения размера трака кусеницы, которая будет анимирована по сплайну.
Я далек от 3D Max (пытался изучить, но после синьки он показался мудреным), однако при всем уважении, не может быть такого, что бы MAXON’овцы не предусматрели такой загвоздки. Пытался мурыжить инструмент Measure & Construction в синьке, по аналогу Макса, но не допер.
Буду презнателен, если эта тема не сгинет на страницах форума, а будет дан конкретный ответ. Если "Да", то как, если НЕТ, значит пора писать ноту протеста в MAXON.
СПЛАЙН (команда)

Автор:
Построение гладкой кривой, проходящей через указанные точки или вблизи набора определяющих точек, а также определяемой вершинами в допуске формы и расположения.
найти
Команда СПЛАЙН создает кривые, которые называются неоднородными рациональными B-сплайнами (NURBS) и рассматриваются как сплайны для упрощения.
Сплайны определяются с помощью определяющих точек или управляющих вершин. По умолчанию определяющие точки совпадают со сплайном, а управляющие вершины определяют форму и расположение. Формы и расположения обеспечивают удобный способ для изменения формы сплайна. У каждого способа есть свои преимущества.
Для отображения или скрытия управляющих вершин, формы и расположения установите или снимите флажок "Сплайн" или используйте команды УВПОКАЗАТЬ и УВСКРЫТЬ. Для сплайнов, созданных с помощью управляющих вершин в AutoCAD LT, можно отобразить формы и расположения, выбрав сплайн.
Подсказки различаются в зависимости от того, что выбрано в качестве метода создания (параметр "Метод"): определяющие точки или управляющие вершины (УВ).
Первая точка
Задание первой точки сплайна, являющейся первой определяющей точкой или первой управляющей вершиной, в зависимости от текущего метода.
Дополнительные сегменты сплайна создаются до тех пор, пока не будет нажата клавиша Enter.

Замыкание сплайна путем определения конечной точки для совмещения с первой. По умолчанию замкнутые сплайны являются периодическими, сохраняя непрерывность кривизны (C2) по всему контуру.

Способ
Управление способом создания сплайна: с помощью определяющих точек или управляющих вершин. (системная переменная SPLMETHOD)
Создание B-сплайна 3-го порядка (кубического) путем задания определяющих точек, через которые сплайн должен проходить. Если значение допуска больше 0, сплайн должен быть в пределах заданного расстояния допуска от каждой точки.
Управляющие вершины (УВ)
Создание сплайна путем задания управляющих вершин. Используйте этот метод для создания сплайнов 1-го порядка (линейных), 2-го порядка (квадратичных), 3-го порядка (кубических), и так далее до 10-го порядка. Изменения формы сплайна путем перемещения управляющих вершин часто обеспечивает более точные результаты, чем перемещения определяющих точек.
Объект
Преобразование 2D- или 3D-полилиний, сглаженных квадратичными или кубическими сплайнами, в эквивалентные сплайны. Исходная полилиния сохраняется или отменяется в зависимости от настройки системной переменной DELOBJ.
Запросы на построение сплайнов с помощью определяющих точек
Следующие запросы доступны только для определяющих точек.
Задание узловой параметризации одним из нескольких математических способов, которые определяют, как объединяются кривые компонентов между соседними определяющими точками на сплайне. (системная переменная SPLKNOTS)

- Хорда. (Способ определения длины хорды). Размещение узлов, соединяющих каждую кривую компонента, пропорционально расстояниям между каждой связанной парой определяющих точек. Примером является зеленая кривая на рисунке.
- Квадратный корень. (Центростремительный способ). Размещение узлов, соединяющих каждую кривую компонента, пропорционально квадратному корню расстояния между каждой связанной парой точек сглаживания. Этот метод обычно создает «более мягкие» кривые.
- Равномерно. (Равнопромежуточный способ). Размещает узлы для каждого компонента кривой на равном расстоянии друг от друга независимо от расстояния между точками сглаживания. Этот способ часто создает кривые, удлиняющие определяющие точки.
Задание по касательной в начальной точке сплайна.

Определяет условие касательности в конечной точке сплайна.

Указывает расстояние, на которое сплайн позволяет отклониться от заданных определяющих точек. Значение допуска 0 требует, чтобы результирующий сплайн проходил непосредственно через определяющие точки. Значение допуска для всех определяющих точек за исключением начальной и конечной точек сглаживания, которые всегда имеют допуск «0».

Запросы на построение сплайнов с помощью управляющих вершин
Следующие запросы применимы для управляющих вершин (УВ). (системная переменная SPLMETHOD)
Устанавливает степень полинома для результирующего сплайна. Используйте этот параметр для создания сплайнов порядка 1 (линейный), порядка 2 (квадратичный), порядка 3 (кубический) и так далее до порядка 10.
Объект Сплайн в Автокад
Существует несколько типов сплайнов, но все они обладают аналогичными свойствами.
- Сплайн в AutoCAD разделен на сегменты (подобно полилинии), которые называются «узлами». Если узлы (сегменты) неравномерно распределены вдоль сплайна, то сплайн в Автокад называется неоднородным B-сплайном.
- Для придания формы сплайну AutoCAD используются «определяющие точки» и «управляющие вершины». Определяющие точки по умолчанию лежат на линии сплайна, а управляющие вершины — вне ее.
- Порядок сплайна Автокад определяет, сколько раз его кривизна может меняться в пределах одного сегмента. Кривая первого порядка — прямая линия. Кривая второго порядка имеет постоянную кривизну (дуга). По умолчанию сплайн в Автокад представляет собой сочетание сегментов кривых полиномов 3-степени (также называемых «кубическими кривыми» — могут иметь одно изменение кривизны на сегмент. Кривые четвертого порядка — два изменения и т.д, вы можете довести его значение до 10.
Команда Сплайн
Отвечает за построение сплайна в AutoCAD команда Сплайн. Вызвать которую можно (начать построение сплайна):
- Создать сплайн в Автокад можно из строки меню пункт Рисование — строка Сплайн в раскрывающемся списке две строки с возможностью выбора способов построения: «сплайн Автокад по определяющим точкам» и «сплайн по управляющим вершинам».
- Построить сплайн Автокад вы можете из вкладки «Главная» ленты инструментов — в группе инструментов «Рисование» — две кнопки с возможностью выбора способов построения: «сплайн по определяющим точкам» и «сплайн Автокад по управляющим вершинам»;
- Нарисовать сплайн также можно из классической панели инструментов «Рисование» — кнопка Автокад Сплайн;
- Начертить его вы можете, прописав наименование команды в командной строке «Сплайн».



Построение сплайна AutoCAD по определяющим точкам
Вызываем в Автокад команду Сплайн из командной строки. В командной строке появится запрос:
В командной строке также отображаются текущие настройки сплайна Автокад: «Способ=Определяющие», «Узлы=Хорда». Укажем первую его определяющую точку. По умолчанию отобразится штриховая линия желтого цвета, которая будет следовать от первой определяющей точки до курсора-перекрестия. Программа выдаст запрос:
Если вы хотите задать касание в начальной точке сплайна Автокад, то выберите опцию Касание в начале, т.к. после указания второй определяющей точки эта опция будет недоступна. Укажем координаты второй определяющей точки сплайна щелчком мыши на чертеже. Программа вычертит часть сплайна в Автокад, а также отобразит штриховую линию желтого цвета, которая будет следовать от второй определяющей точки до курсора-перекрестия. Система отобразит запрос:
Зададим следующую определяющую точку сплайна. Программа отобразит запрос:
После указания третьей определяющей точки появилась опция Замкнуть, которая замыкает сплайн.
Можете выбрать опцию Допуск, которая позволяет изменить точность обводки определяющих точек сплайном (не распространяется на крайние точки). Значение допуска 0 строит в Автокад сплайновую кривую, которая проходит точно через все опорные точки. Значение допуска больше 0, строит сплайновую кривую, которая проходит поблизости от опорных точек в пределах допуска.
Опция Касание в конце позволяет задать условие касания в конечной точке сплайна.
Для завершения построения сплайна в Автокад нажмите «Enter».
Как построить (сделать) сплайн в Автокад различными математическими способами
Сплайны в AutoCAD строятся математически точно. Построение сплайна по определяющим точкам содержит опцию «Узлы», которая позволяет выбирать математические способы построения сплайна.
«Хорда». (Способ определения длины хорды) . Размещение узлов, соединяющих каждую кривую компонента, пропорционально расстояниям между каждой связанной парой определяющих точек.
«Квадратный корень». (Центростремительный способ). Размещение узлов, соединяющих каждую кривую компонента, пропорционально квадратному корню расстояния между каждой связанной парой точек сглаживания. Этот метод обычно создает «более мягкие» кривые.
«Равномерно». (Равнопромежуточный способ). Размещает узлы для каждого компонента кривой на равном расстоянии друг от друга независимо от расстояния между точками сглаживания. Этот способ часто создает кривые, удлиняющие определяющие точки.
Построение сплайна AutoCAD по управляющим вершинам
Вызываем команду Сплайн в Автокад, затем выбираем опцию «Способ — УВ/CV». В командной строке отобразится запрос:
Укажем первую точку сплайна Автокад щелчком мыши на чертеже. По умолчанию отобразится штриховая линия желтого цвета, которая будет тянуться от первой точки до курсора-перекрестия. Система выдаст запрос:
То есть нам необходимо указать координаты первой управляющей вершины сплайна Автокад, т.к. первая указанная точка таковой не является. При использовании метода построения сплайна по управляющим вершинам первая и конечная точки сплайна задаются определяющими точками. Зададим управляющую вершину сплайна в Автокад щелчком мыши на чертеже. Как только мы укажем управляющую вершину, отобразится эскиз сплайна, который будет тянуться от первой определяющей точки до курсора-перекрестия. Штриховая линия желтого цвета будет тянуться от управляющей вершины до курсора-перекрестия. Отобразится штриховая линия белого цвета, которая начинается в первой определяющей точке сплайна и проходит через указанную управляющую вершину сплайна до курсора перекрестия. Программа выдаст следующий запрос:
Укажем следующую управляющую вершину сплайна Автокад щелчком мыши на чертеже. Штриховая линия желтого цвета будет тянуться от последней заданной управляющей вершины сплайна до курсора-перекрестия. Штриховая линия белого цвета будет начинаться в первой определяющей точке сплайна и проходить через указанные управляющие вершины до курсора перекрестия. Эскиз сплайна в Автокад также будет тянуться от первой определяющей точки до курсора перекрестия.
Обратите внимание, как строится сплайн в Автокад по управляющим вершинам (частный случай). Штриховая линия белого цвета, соединяющая управляющие вершины, образует ломаную линию. Сплайн вписан в ломаную линию и проходит через конечные вершины ломаной, а также через средние точки промежуточных звеньев ломаной в случае перегиба сплайна на этих участках.
В командной строке появится запрос:
Укажем конечную определяющую точку сплайна щелчком мыши на чертеже. Для завершения команды Автокад Сплайн нажмите «Enter».