Prográmek pro výpočet průsečíků přímka-krychle

[eng]

   V poslední době mě celkem zaujala Danykova 3D rentgenová videa, jako třeba toto:


   I přes problematickou kvalitu mi přisly jako dobrý zdroj dat pro experimentální prográmek pro zpětnou projekci (cone-beam backprojection), což je metoda, jak složit 2D projekce do 3D modelu. Výsledek mého snažení pro jeden z předmětů na videu můžete vidět třeba zde:


   Zpětná projekce je sice v principu dost triviální záležitost, ale zavání lineární algebrou, konkrétně jsem narazil u výpočtu průsečíků virtuálního RTG paprsku (přímka) a voxelového objemu (krychle). Zní to snadno, ale poskládat správně všechny tangenty tak, aby to fungovalo skutečně pro libovolný úhel průchodu přímky krychlí se ukázalo jako dost komplikované. Nakonec jsem si na odladění problému musel napsat malý prográmek, který zde dávám k dispozici i se zdrojáky, kdyby se někdo chtěl podívat.

Takhle to vypadá

   Tento prográmek vlastně nedělá nic jiného, než že posílá paprsky z ohniska do jednotlivých bodů mřížky, která reprezentuje projekci, resp. stínítko při RTG projekci. Části paprsků, které prochází krychlí (oblast, kde je při zpětné projekci rekonstruován 3D model), jsou červeně zvýrazněny. Prográmek také umožňuje měnit pohled kamery.
   Program je jako obvykle napsán v BDS2006 Turbo C++ pod Windoze XP, ale měl by chodit i v novějších verzích.

Program ke stažení: ray_box_intersections.zip (610kB).


(c) 2013, Stanislav Mašláň - Všechna práva vyhrazena.

Poslední úpravy: 18.3.2013 Domů Nahoru