Plane + Frustum Intersection


I need some help to find the intersections, I mean (x,y,z) of the points, between a plane and my frustum.

Thank you.

A plane is infinite, and a frustum is made up of 6 infinite planes.
What x,y,z points are you after?

You’re right.
The 6 infinite planes of the frustum define a finite volume.
Now, suppose I have a box (ok, not an infinite plane), what I need is (when the box intersects the frustum) the (x,y,z) of the points which define the volume of the part of the box inside the frustum.
Do you see what I need ?

Ulf Assarsson and Tomas Möller, “Optimized View Frustum Culling Algorithms”

Thank you for your answer dUckmAnn, BUT I am not looking for a fast test inside/outside, what I need is the exact points of intersection.

The intersection between a frustum plane and your plane will either yeild, nothing, a line, or a plane.

Intersection between a plane and a frustum will give nothing, or a polygon.

This requires basic knowledge of linear algebra.


Yes V-Man, that’s what I am looking for.
Have you got an algorithm ?
A piece of source code ?
An url ?

Look up line intersection with a plane on google - then think a little about how this will help you solve your problem.

I don’t have code that specifically does this, but line to plane intersection will give you the vertices of the polygon:
www.GameTutorials.comhad some demoes with source. His code is very simple but gives you an idea of the math. The problem with his code is that there is nothing about the precision of floats, and I don’t know if it’s entirely correct.

You will be surprised of how short the code is.


Thanks V-man.
I think that will help me.