Общий вопрос математики

Автор TimSP, 22.07.17, 12:30:15

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

TimSP

Здравствуйте коллеги. Прошу помощи от всех кто может быть в курсе или как то связан с данной темой.

У меня есть необходимость разобраться и реализовать математику расчета эквидистанты к имеющемуся замкнутому дискретному периодическому сплайну (B-сплайну). Либо к массиву точек. (математика построения сплайна позаимствована отсюда https://habrahabr.ru/post/309210/).
В системе компас это реализовано но я не нашел никакой информации как, возможно она закрыта, но очень надо. Очень интересно каким образом строится кусочно заданная кривая? Пишу диссертацию и мне необходим этот расчет.

Буду очень признателен за помощь и любая полученная информация не будет передана третьим лицам без согласия правообладателя.

bull

22.07.17, 12:38:11 #1 Последнее редактирование: 22.07.17, 16:22:10 от bull
тут инженеры, а не разрабы. Вряд ли кто достоверно скажет "как". Только догадки будут. Самое простое, что приходит в голову - разбитие (компасом) на точки на определенном расстоянии, определение нормалей в этих точках, построение точек на заданном расстоянии по нормали, построение сплайна по полученным точкам.

Aleksei

Цитата: TimSP от 22.07.17, 12:30:15
В системе компас это реализовано но я не нашел никакой информации как, возможно она закрыта, но очень надо.

Может быть, вам будет полезна следующая информация.
Есть книга автора математики компасовского ядра Н.Н. Голованова, называется "Геометрическое моделирование". В ней рассматривается теория построения геометрии для реализации в САПР-системах (в том числе всевозможных кривых и поверхностей).

https://edu.ascon.ru/main/news/items/?news=2402

В сети можно найти предыдущее издание 2002 года.
Конкретные алгоритмы программной реализации в геометрическом ядре, вероятно, вряд ли найдете в открытом доступе.
+ Благодарностей: 1

Николай

Строил в Компасе кривую в виде отрезков, но получилось, конечно, не очень. Хорошо получилась эвольвента, где рассчитанные точки соединялись в кривую Безье.И эквидистанта получалась.Только из-за наложения контура при пересечении траектории при построении объёма вручную вылезали "артефакты", по которым на Форуме было небольшое обсуждение.

СВ

Цитата: TimSP от 22.07.17, 12:30:15
...
У меня есть необходимость разобраться и реализовать математику расчета эквидистанты к имеющемуся замкнутому дискретному периодическому сплайну (B-сплайну). ...
В системе компас это реализовано ...
Это реализовано во всех КАДах, что остальные форумы ответили?

TimSP

Мне нужно найти математику, строить эквидистанту/рассчитывать буду в сторонней программе, написанной вручную.

По поводу других форумов, там не очень. Предлагают в основном строить нормали к точкам минимально возможных "отрезков" сплайна и через их концы строить эквидистанту. А в местах разрывов строить B-сплайн. Как вариант конечно, но в CAD системах явно как то по другому считают.

За информацию о книге спасибо, почитаю.

bull

Цитата: TimSP от 23.07.17, 22:59:25Как вариант конечно, но в CAD системах явно как то по другому считают.
Что вас заставляет быть в этом уверенным?

Vin

Может конечно абсурдное предложение, но как вариант, обратиться в Аскон?

Aleksei

Цитата: TimSP от 23.07.17, 22:59:25
Как вариант конечно, но в CAD системах явно как то по другому считают.

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

TimSP

Цитата: bull от 24.07.17, 07:59:08
Что вас заставляет быть в этом уверенным?

При разрушении построенных элементов (эквидистант) они определяются как кусочно заданные на определенных участках или цельные кривые. Похожи на NURBS.

Цитата: Vin от 24.07.17, 08:40:40
Может конечно абсурдное предложение, но как вариант, обратиться в Аскон?
Вот думаю обратиться к автору указанной выше книги)

bull

Цитата: TimSP от 25.07.17, 02:22:21
При разрушении построенных элементов (эквидистант) они определяются как кусочно заданные на определенных участках или цельные кривые. Похожи на NURBS.
Ну так если после того, как определены точки по нормали к исходной кривой, по ним строится NURBS, так и получится. Ведь какой порядок (если следовать моему предположению алгоритма)?
1. разбиение исходной кривой с нужной точностью на точки
2. откладывание по нормали от этих точек новых точек
3. построение сплайна по новым точкам (были ли нормали, соответствуют ли нормали в этих точках исходным или нет, уже не узнать).

Т.е. после разбиения вы и получите сплайн. В простейшем элементе истории его получения нет.

PS Если есть подозрения, предлагайте (или просто отметьте для себя) свои возможные варианты.
+ Благодарностей: 1