• Advertisement
Sign in to follow this  

ray-plane collision

This topic is 1858 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, I want to make my raytracer able to trace triangles, not only spheres as it currently does.

So I must first check if the ray hits the plane.

Leaving aside the triangle for now,
I have:

Vector3 a = {0, 0, 0}; // a point of the plane
Vector3 n = {0, 1, 0}; // the plane's normal
n.normalize();

Vector3 e = {0, -1, 0}; // the starting point of the ray
Vector3 d = {0, 1.0f, 0}; // the ray's direction
d.normalize();

float t = (dot(a, n) - dot(e, n)) / dot(d, n);

So, the collision point would be e + t * d.
Also, if dot(d, n) = 0, the ray and the plane are parallel.

Is that correct?

Share this post


Link to post
Share on other sites
Advertisement
yes this is correct, since dot product is distributive you can write t = dot(a-e.n) / dot(d,n)

ddos

edit: http://en.wikipedia.org/wiki/Line-plane_intersection -> Algebraic form Edited by DDoS

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement