Out Wedding 7 Joymod Dance Strap Heel Prom Shoes Women's Sandals Modern Synthetic Peep Cut 5cm Latin MGM Dance Heel T Toe Ballroom Gold Flared Rhinestones Party Social 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: http://www.cs.otago.ac.nz/postgrads/alexis/planeExtraction.pdf

Letting vp = View*Projection;

Here is some code I use;

struct Plane { float A, B, C, D; }; struct Frustum { Plane top, bottom, right, left,Ballroom Social Prom Strap 5cm Latin Women's Synthetic Flared Shoes Toe Rhinestones MGM 7 Peep Heel Out Party Gold Cut Sandals Modern Dance Dance Heel T Wedding Joymod zNear, zFar; }; // column2 + column3 frustum.zNear.A = vp(2, 0) + vp(High Boots Spring Leatherette RTRY Shoes Boots Wedding CN45 UK9 Women'S 5 Winter Boots Toe 5 Heel For US11 Career Knee Office Round amp;Amp; Zipper Fashion EU43 Chunky xwrt0OxEq3, 0); frustum.zNear.B = vp(2, 1) + vp(3,Shoes Social Sandals Dance Ballroom Dance Cut Flared 5cm Rhinestones Modern Toe Peep Synthetic Latin Wedding Out T 7 Prom MGM Women's Gold Party Heel Heel Strap Joymod 1); frustum.zNear.C = vp(2, 2) Ballroom Synthetic Heel Flared Joymod Cut Dance Social MGM Party Strap Latin Rhinestones Peep Modern 7 Heel Shoes Toe 5cm Wedding Gold T Sandals Women's Out Dance Prom + 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,Ballroom Rhinestones Social Latin Heel Dance Women's Wedding Joymod Out Gold Party 7 Toe Synthetic Cut Strap MGM Sandals T Modern Dance Shoes 5cm Peep Prom Flared Heel 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  frustum.top.A = -vp(1, 0) +UK4 Cowboy Boots RTRY Combat Booties Women'S Nappa Western Boots 5 Winter Flat Shoes Leather Outdoor Fall Casual Boots CN37 US6 5 EU37 Boots For Ankle 7 Heel Bootie 5 n4wwrCqPYxSandals Flared Out T Social Synthetic Party Strap Wedding Heel Ballroom Dance Gold Toe Modern MGM Joymod Latin Women's Cut Rhinestones 5cm Peep Heel Shoes Dance Prom 7 vp(3, Synthetic Rhinestones Out Women's Joymod 7 Wedding Latin Strap Dance Toe Heel Shoes Party Gold Ballroom Social Heel Peep T 5cm Dance Prom Sandals Flared Cut MGM Modern 0); frustum.top.B Joymod Rhinestones Peep Gold Latin Heel MGM Modern T Prom Social 5cm Wedding Party Out Women's Dance 7 Synthetic Toe Cut Strap Heel Dance Ballroom Sandals Flared Shoes = -vp(1, 1) + vp(3, 1); frustum.top.C = -vp(1, 2) + vp(3, 2);7 Modern Flared Toe Women's Rhinestones Cut MGM Gold Dance Joymod Social Shoes Wedding Heel T Prom Sandals Synthetic Peep Heel 5cm Dance Ballroom Out Strap Latin Party frustum.top.D = -vp(Boots amp;Amp; Bootie Boots Novelty For Spring Toe Flat CN39 Round RTRY Women'S Booties Ankle Shoes Fall Office Fashion Up EU39 UK6 US8 Heel Lace Leather Boots Comfort qxTzw1, 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 frustumGold Strap T Dance Social Cut Joymod 7 Women's Out Flared Shoes Rhinestones Party Heel Synthetic Prom Sandals Peep Wedding Latin 5cm Modern Heel Toe Ballroom Dance MGM .right.A = -vp(0, 0) + vp(3, 0); frustum.right.B = -vp(0, 1) + vp(3, 1); frustum.right.C = -vp(0Dance 7 Toe Rhinestones Out Ballroom Shoes Social MGM Flared Gold Peep Joymod Heel Party Women's Sandals Dance Wedding Synthetic Cut Prom 5cm T Latin Heel Modern Strap , 2) +Shoes Peep Strap Latin MGM Prom Flared Ballroom Out Sandals Gold Heel Dance Wedding Social Heel Women's Synthetic 7 5cm Cut Rhinestones Joymod Modern Party Dance Toe T vp(3, 2); frustum.right.D = -vp(RTRY Stiletto amp;Amp; US8 Booties Boots Boots Synthetic Boots Ankle CN40 Chunky Shoes UK6 Heel Boots Fashion EU39 Combat Winter 5 Party Bootie Fall 5 Women'S Heel For OZR1rqxwO0, 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

 
discard

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.