MeshLab - Кривизна сетки в определенном направлении

Я знаю, что кривизна поверхностной сетки рассчитывается с использованием максимального (k1) и минимального (k2) значений или так называемых кривизны главного направления, а затем получается средняя или гауссова кривизна.

Меня интересует искривление в определенном направлении, игнорируя все другие направления. Я могу получить это, если я возьму образец поверхностной сетки, то есть создаю поперечные сечения в этом конкретном направлении, а затем вычислю кривизну изогнутой линии.

Есть ли способ получить кривизну поверхностной сетки в определенном направлении?

Спасибо за помощь,

Марко


person justone    schedule 04.03.2020    source источник
comment
У вас есть два варианта: вычислить кривую поперечного сечения с помощью некоторого процесса интерполяции сетки, затем подобрать соприкасающуюся параболу или вычислить соприкасающийся параболоид и найти кривизну поперечного сечения.   -  person Yves Daoust    schedule 05.03.2020


Ответы (1)


Я знаю, что кривизна поверхностной сетки рассчитывается с использованием максимального (k1) и минимального (k2) значений или так называемых кривизны главного направления, а затем получается средняя или гауссова кривизна.

Это не совсем так, это теоретический способ вычисления кривизны.

На практике сначала вычисляются средние (H) и гауссовские (G) кривизны на каждой вершине (с использованием положения вершин Лапласа-Бельтрами и добавления углов вокруг вершины).

Затем модуль k1 и k2 вычисляется как 'k1 = H + sqrt (H ^ 2-G)' и 'k2 = H - sqrt (H ^ 2-G)'

Затем ориентация k1 и k2 путем решения системы уравнений наименьших квадратов на основе формулы Эйлера над кривизной в направлении ребер (что известно)

Таким образом, вы можете использовать тот же подход: вычислить кривизну в направлении каждого ребра и оценить кривизну в желаемом направлении по методу наименьших квадратов.

person Rockcat    schedule 07.10.2020