2017-01-16 10 views
0

Я ищу простой способ вычислить минимальное расстояние точки до поверхности nurbs с помощью matlab. Я ищу ближайшую точку => не ортогональную проекцию. Я читал о концепции выборки, чтобы начать, а затем повторить нонтон, но в то время, когда это превышает мои полномочия matlab. Спасибо за помощь.Расстояние от точки до поверхности NURBS

+0

«ближайшая точка => не ортогональная проекция», что вы имеете в виду? Тем не менее, у меня такое ощущение, что оно слишком велико, так как вы просите целый алгоритм. Вам нужно провести какое-то исследование самостоятельно! –

+0

@AnderBiguri, 1D эквивалент: вертикальное расстояние от точки к линии относительно расстояния от точки до ближайшей точки на линии. Это ортогональная проекция против ближайшей точки. Для поверхности вы можете представить одно и то же. – Wolfie

+0

Это то же самое, не так ли? Ближайшее расстояние от линии до точки является ортогональным от линии, проходящей через точку. Это верно и в 3D. По крайней мере, в евклидовом пространстве –

ответ

0

Я ищу ближайшую точку => не ортогональную проекцию.

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

Поверхность NURBS параметризована два параметров у и против. Вы также можете вычислить, как позиция изменяется как u соотв. v изменений. Для этого вы вычисляете частичные дифференциалы. Вы должны получить пару касательных векторов, которые охватывают касательную плоскость. Теперь вы хотите, чтобы разница между точкой на плоскости и точкой в ​​пространстве была ортогональна к обоим этим векторам, т. Е. Имела точечный продукт нуль. Это значит, вы будете получать два уравнения, одно для направления у и один для v направления, которые помогут вам найти параметры у и v вам нужно.

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

 Смежные вопросы

  • Нет связанных вопросов^_^