Previous | Next --- Slide 16 of 28
Back to Lecture Thumbnails
SnackMixer

If we cannot come up with a effective way of finding implicit surface equation, are there any method except explicitly looping through every surfaces to find the intersection points?

keliu

The example of the implicit surface above is a sphere, so we can find the points where the ray pierces the surface easily by solving a quadratic polynomial. But what if the polynomial is of much higher degrees (e.g. maybe bezier surfaces)? In those cases, will we suffer from precision problems if we keep using analytical solutions (if those analytical solutions exists)?

KrystalTea

I also have similar doubts. What about explicit representations like point cloud and meshes?

heethesh

When you say no solution, you mean no real solution right?

Max

@snackmixer @krystaltea it depends. If you have a piece-wise implicit surface like a triangle mesh, you can still apply these techniques. If you instead had something like a volumetric object represented as a grid (e.g. smoke), then you might instead want to model the intersection by stepping the ray through each grid cell. But on the other hand, you might also model the intersection probabilistically, where you compute the distance the ray makes it into the object before being absorbed/scattering.

@keliu yes, computing higher degree solutions poses more precision problems. I don't think bezier surfaces in particular are unmanageable, though. We tend to stick with defining global surfaces as combinations of relatively low-degree patches, which avoids this problem.

@heethesh yes

am1

Is it just me or is the final solution for t missing the "a" term? Not sure how they canceled it in the denominator?

simply_complicated

@am1 d is a unit vector, so |d| is just 1.

jasonx

also the factor of 2 is factored out from b^2 and 4ac.