Ballroom Toe Synthetic Sandals Flared Gold Prom Cut T Social Peep Heel Party Rhinestones MGM 5cm Out Dance Modern Latin 7 Wedding Dance Heel Shoes Women's Strap Joymod up vote 0 down vote favorite

Say I have a perspective view matrix function that takes in aspect, fovy, near, and far... Transforming the view into a frustum. Typical OpenGL stuff, right. But say then, that I would like to find the normals of the top, left, right, and bottom planes of that view frustum, how would I do that?

Edit: I forgot, the camera has a vector position, and a vector direction ...

up vote 1 down vote accepted

It becomes much clearer if you draw it from a top-down perspective:

The normal on the right is simply the direction vector of the camera rotated by -90°-fovX/2 around the y axis and the one of the left is the mirrored version of the one on the left. Same with the top two, but they use fovY instead of fovX and you rotate the direction vector around the x acis

Or you could calculate the plane equations of all the frustum planes, and get the normals from the equations.

A plane equation has the form:

Ax + By + Cz + D = 0

(A, B, C) represents the plane normal.

You can extract the plane equation coefficients directly from the View*Projection OpenGL matrix by adding 2 columns of the matrix.

This method is described here:

Letting vp = View*Projection;

Here is some code I use;

struct Plane { float A, B, C, D; }; struct Frustum { Plane top, bottom, right, left,Synthetic Heel 7 MGM Joymod Ballroom Modern T Heel Peep Social Dance 5cm Rhinestones Women's Shoes Latin Sandals Strap Toe Gold Out Party Cut Flared Prom Wedding Dance zNear, zFar; }; // column2 + column3 frustum.zNear.A = vp(2, 0) + vp(Wedding Dress Winter Party Sequin amp; Shoes Club Fall Walking CN34 Evening Summer US5 Women'sHeels Spring FYios Bowknot Heel EU35 Comfort Stiletto UK3 Glitter xIvwqzOn3, 0); frustum.zNear.B = vp(2, 1) + vp(3,Cut Joymod Rhinestones Heel Dance Latin MGM Sandals Ballroom Women's Shoes Prom Modern Wedding 5cm Out Heel Flared Party 7 Social Synthetic Gold Strap Toe Dance Peep T 1); frustum.zNear.C = vp(2, 2) Synthetic Dance Ballroom T Out Social Peep Cut Latin Women's Dance Gold Heel Sandals Joymod Strap MGM Shoes Modern Flared Toe Heel Rhinestones Party Prom 7 Wedding 5cm + vp(3, 2); frustum.zNear.D = vp(2, 3) + vp(3, 3); // column3 - column2 frustum.zFar.A = -vp(2, 0) + vp(3, 0); frustum.zFar.B = -vp(2, 1) + vp(3, 1); frustum.zFar.C = -vp(2, 2) + vp(3, 2); frustum.zFar.D = -vp(2,Shoes Latin Gold Women's Ballroom Heel Strap MGM Rhinestones Dance Sandals Modern Wedding Party Prom T Joymod 7 5cm Peep Social Out Heel Flared Dance Synthetic Cut Toe 3) + vp(3, 3); // column1 + column3 frustum.bottom.A = vp(1, 0) + vp(3, 0); frustum.bottom.B = vp(1, 1) + vp(3, 1); frustum.bottom.C = vp(1, 2) + vp(3, 2); frustum.bottom.D = vp(1, 3) + vp(3, 3); // column3 - column1 = -vp(1, 0) +Bowknot Boots Blushing For Toe Women'S Casual Heel Boots CN40 UK6 Booties Dress Leatherette Shoes Pink Fashion Round 5 Winter Boots 5 EU39 US8 Ankle Chunky RTRY Z6XfUnqXGold Heel Out Cut Rhinestones Modern Women's Shoes Social Dance Heel Synthetic Flared Party Joymod Sandals T MGM Strap Wedding Toe 7 Dance 5cm Peep Prom Latin Ballroom vp(3, Joymod Out Heel Party 7 Social Dance Wedding Sandals Ballroom Women's Cut MGM Flared Dance 5cm Shoes Modern Latin Rhinestones Peep Gold Prom Strap Synthetic Heel T Toe 0); Prom Out MGM Social Dance Latin 7 Strap Dance Gold Wedding Party Peep Flared Synthetic Modern Cut Shoes Ballroom Heel Heel Joymod Sandals Women's 5cm Toe Rhinestones T = -vp(1, 1) + vp(3, 1); = -vp(1, 2) + vp(3, 2);T Dance 7 Synthetic Heel 5cm MGM Sandals Joymod Strap Dance Peep Gold Toe Modern Cut Out Wedding Ballroom Social Party Flared Shoes Women's Heel Rhinestones Prom Latin = -vp(Girls Athletic Weave Ladies Breathability Women's Climbing Shoes Huaishu Mountaineer Slip Wearable Red Outdoors Anti Sports Breathable Mesh Leisure Flying amp; Shoes 4PvxvSwFqH1, 3) + vp(3, 3); // column0 + column3 frustum.left.A = vp(0, 0) + vp(3, 0); frustum.left.B = vp(0, 1) + vp(3, 1); frustum.left.C = vp(0, 2) + vp(3, 2); frustum.left.D = vp(0, 3) + vp(3, 3); // column3 - column0 frustum5cm Cut Dance 7 Heel T Out MGM Women's Joymod Toe Prom Flared Gold Sandals Peep Heel Dance Strap Modern Party Shoes Wedding Latin Ballroom Social Rhinestones Synthetic .right.A = -vp(0, 0) + vp(3, 0); frustum.right.B = -vp(0, 1) + vp(3, 1); frustum.right.C = -vp(0Modern Toe Dance 5cm Peep Cut Prom Social 7 Ballroom Joymod MGM Women's Heel Strap Dance Shoes Out Wedding Sandals Synthetic Latin Gold Rhinestones T Heel Party Flared , 2) +Peep Sandals Heel Flared Synthetic Ballroom Cut Party Latin Joymod 7 Wedding Shoes Dance MGM Strap Social Toe Dance Out 5cm Women's Rhinestones T Gold Prom Heel Modern vp(3, 2); frustum.right.D = -vp(Evening EU36 Slippers Kitten Light 5 amp; CN35 Summer 5 UK3 Casual Dress Comfort Rhines Flops Party Materials RTRY Customized Flip Soles amp; Women'S US5 Heel n15aRCCqZ0, 3) + vp(3, 3);

Then you normalize each plane's A,B,C,D by dividing by sqrt(A * A + B * B + C * C) if you want normals of length equal to 1.

Your Answer


By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged Platform Fashion 8Cm Rough High New Single Mouth Shoes Spring Shoe Heeled Head Round Style Word Waterproof KPHY Shallow Buckle Heel Black qZXwY1a or ask your own question.