/ / Przecięcie promienia woksela - c #, matematyka, promień, woksel

Skrzyżowanie Ray voxel - c #, matematyka, ray, woksel

Chcę przetestować przecięcie promienia z polem wokseli.

Mogłem naiwnie czołgać się przez pole wokseliobliczanie przecięcia promienia z krawędzią bieżącego woksela, a następnie robienie tego samego dla następnego woksela, aż coś uderzę. Ale czy nie jest szybszy sposób na prześledzenie pola woksela? Myślałem o czymś podobnym Algorytm liniowy Bresenhama w 3D, coś, co może szybko dać mi wszystkie komórki, które przecina dana linia. Ktoś to zrobił wcześniej?

Z powodu ograniczeń certy i faktu, że te promienie nie zdarzają się tak często, nie chcę budować ośmiu ani żadnej innej struktury danych.

Odpowiedzi:

3 dla odpowiedzi № 1

Tutaj jest implementacja Bresenham w 3D. Jest w matlab; jeśli nie mówisz, że widzisz C wdrożenie tutaj.


0 dla odpowiedzi nr 2

Wierzę, że algorytm ośmiokrotny robi to, o co prosisz.