/ Forside / Karriere / Uddannelse / Højere uddannelser / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Højere uddannelser
#NavnPoint
Nordsted1 1588
erling_l 1224
ans 1150
dova 895
gert_h 800
molokyle 661
berpox 610
creamygirl 610
3773 570
10  jomfruane 570
linie skærer en bezier patch i et eller fl~
Fra : Jakob Nielsen


Dato : 12-11-04 10:28

Er det ikke muligt at beregne hvor en linie i 3d skærer en bezier patch?
Samtlige løsninger jeg har set virker ved at dele den bezier ned i stadig
mindre stykker og ved et vist niveau beregne eventuel skæring med de
fremkomne flader og linien.
Kan man ikke løse det _præcist_ (og hutigt) til brug i eksempelvis en
raytracer?



 
 
Torben Ægidius Mogen~ (15-11-2004)
Kommentar
Fra : Torben Ægidius Mogen~


Dato : 15-11-04 13:21

"Jakob Nielsen" <a@b.c> writes:

> Er det ikke muligt at beregne hvor en linie i 3d skærer en bezier patch?
> Samtlige løsninger jeg har set virker ved at dele den bezier ned i stadig
> mindre stykker og ved et vist niveau beregne eventuel skæring med de
> fremkomne flader og linien.
> Kan man ikke løse det _præcist_ (og hutigt) til brug i eksempelvis en
> raytracer?

Den rekursive metode er som regel den hurtigste og den mest præcise.

Godt nok er hver Bezier-patch en kubisk funktion, så man kan omskrive
skæringsproblemet til at løse en kubisk ligning (substituer liniens
parameterfremstilling ind i Bezier-patchens ligning og løs den dermed
fremkommende kubiske ligning i en variabel). Men formlen for løsning
af kubiske ligninger er så tilpas kompleks, at det tager lang tid at
løse den (det involverer bl.a. trigonometri), og med den nøjagtighed,
der er for almindelige flydende-kommatal i CPU'er, så bliver din
løsning nemt ret upræcis grundet akkumuleret beregningsusikkerhed.

Raytracers bruger i reglen den rekursive metode.

   Torben

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408943
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste