Перейти к публикации

Получить уравнение поверхности по 3D модели поверхности


Рекомендованные сообщения

Добрый день.

 

Есть ли возможность построить поверхность в CAD системе (например в NX) и получить математическую функцию, которая ее описывает?

 

Если судить по аналогии с 2d графиками, то можно построить многочлен, который будет описывать эту кривую. Соотвественно я думаю есть возможность сделать это и для многомерного случая.

 

Ссылка на сообщение
Поделиться на других сайтах


Наставить точек, сделать аппроксимацию.

Если судить по аналогии с 2d графиками, то можно построить многочлен, который будет описывать эту кривую.

С какой-то точностью...

 

Ради чего вся затея?

Ссылка на сообщение
Поделиться на других сайтах

это будет либо функция, которая задается алгоритмически (неявно)

либо система уравнений, количество которых равно n-1 узловых точек тем более в трех координатах

 

что-то типа такого https://www.ram.ewi.utwente.nl/aigaion/attachments/single/190

 

но как вы собираетесь получить исходную регулярную сетку для интерполяци??? 

треугольники в виде stl-формат не прокатят

 

если это просто лоскут поверхности, то еще можно что-то попытаться

а если сложнее -- то трудоемкость задачки резко возрастает

 

 

еще как вариант -- не восстанавливать исходную поверхность,

а попробовать прочитать их из файлов (типа stp, sat,...)

 

тут с периодичностью в месяц задаются вопросы по поводу форматов этих файлов

возможно у кого-то есть готовые скрипты

Ссылка на сообщение
Поделиться на других сайтах

https://reference.wolfram.com/language/ref/Fit.htmlможно попробовать поподбирать из некоторого множества функций... :)

https://reference.wolfram.com/language/ref/NonlinearModelFit.html

Изменено пользователем Fedor
Ссылка на сообщение
Поделиться на других сайтах

Добрый день.

 

Есть ли возможность построить поверхность в CAD системе (например в NX) и получить математическую функцию, которая ее описывает?

 

Запишите в нейтральный формат (STEP) и посмотрите глазом на геометрическую подложку граней. STEP -- очень читабельный формат, Вы без труда обнаружите там все базовые типы поверхностей (плоскости, цилиндры, сферы, конусы и торы). С поверхностями свободной формы дело немного тоньше. Так, в файле STEP Вы можете найти B-поверхность (NURBS), но это еще не значит, что в оригинальной САПР данная поверхность формировалась именно как сплайн. В случае с CAD-ами на ядре Parasolid это может быть процедурно заданная поверхность типа rolling ball blend, напимер. Процедурные поверхности аппроксимируются для записи в нейтральные форматы, поэтому изначальная форма их задания останется нам неизвестной.

 

Если нет желания просматривать STEP-файлы вручную, загрузите их в консоли OpenCascade (open source геометрическое ядро) и проинспектируйте средствами этой библиотеки. Для себя я писал небольшое приложение, которое читает нейтральные форматы и позволяет интерактивно узнать тип поверхности для любой грани. Если есть нужда, могу поделиться.

Ссылка на сообщение
Поделиться на других сайтах
  • 5 недель спустя...
Для себя я писал небольшое приложение, которое читает нейтральные форматы и позволяет интерактивно узнать тип поверхности для любой грани.

 

На днях реанимировал это небольшое приложение. Можете скачать его отсюда: http://quaoar.su/files/asitus/asitus-0.1.0.exe

Кликаете грань (или ребро), и приложение показывает поверхность (кривую), ее тип и ребра в пространстве криволинейных координат. Умеет читать формат STEP.

 

asitus0.1.0.png

 

Приложение поддерживаю в основном для отладки геометрических алгоритмов.
 

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

Если кто-то заинтересовался, указанное приложение оформлено в виде open source проекта здесь: https://bitbucket.org/Quaoar/analysissitus/overview

Ссылка на сообщение
Поделиться на других сайтах
  • 5 лет спустя...

@Quaoar Здравствуйте! Очень заинтересовала Ваша, работа, можете поделиться еще раз, ежели это возможно конечно?

Спасибо!

Ссылка на сообщение
Поделиться на других сайтах
  • 8 месяцев спустя...

Возможно, зная координаты всех точек можно построить уравнение, больше скажу, поскольку абсолютного ничего не бывает программа спросит какая точность нужна и теоретически может выдать бесконечное множество решений. Эта задача постоянно решается при сжатии изображений, музыки и вообще чего угодно. Когда есть большой набор данных а вы хотите описать его аналитически.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...