Skip to content

VisuEngine Test4 intersection of a B-spline surface with a ray #3

Description

@evovch

Главная задача.
Луч задан как начальная точка и направление.
Реализовать нахождение ближайшего от начальной точки пересечения луча с B-сплайн поверхностью.
В качестве разминки сначала можно решить аналогичную задачу для поверхностей Безье.
Данная задача осложнена тем, что пересечений может быть несколько, а найти нужно именно одно ближайшее. Аналитически для произвольной B-сплайн поверхности задача не решается, поэтому необходимо продумать решение с помощью численного метода. Численный метод "сваливается" в какое-то значение в зависимости от начального приближения. На данный момент мне не видится способ выбрать такое начальное приближение и численный метод, чтобы гарантированного получить именно желаемое решение. Поэтому нужно применять хитрости. Похоже, что имеются работы, преодолевающие описанную сложность. Например:
https://www.cs.utah.edu/~shirley/papers/raynurbs.pdf
https://hal.inria.fr/hal-01268109v2/document

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions