Я хочу проверить пересечение луча с полем вокселей.
Я мог наивно проползти через поле вокселя, вычислив пересечение лучевого бокса с краем текущего вокселя, а затем проделывая то же самое для следующего воксела, пока я что-то не наткнусь. Но разве нет более быстрого способа проследить через воксельное поле? Я думал о чем-то вроде линейного алгоритма Брезенхема в 3D, что-то, что может быстро дать мне все ячейки пересекаются данной линией. Кто-нибудь делал это раньше?
Из-за определенных ограничений и того факта, что эти трассировки лучей возникают не так часто, я не хочу строить октодерево или любую другую структуру данных.
2 ответа
Вот реализация Брезенхэма в 3D. Это в Matlab; если вы не говорите, то можете увидеть здесь реализацию C < / а>.
Я считаю, что алгоритм октодерева делает то, о чем вы просите.
Похожие вопросы
Связанные вопросы
Новые вопросы
c#
C# (произносится как «see Sharp») — это высокоуровневый мультипарадигменный язык программирования со статической типизацией, разработанный Microsoft. Код C# обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, которое включает в себя .NET, .NET Framework, .NET MAUI и Xamarin среди прочих. Используйте этот тег для ответов на вопросы о коде, написанном на C#, или о формальной спецификации C#.