Best way to define a plane

I figure an origin, and a normal vector. But this leaves me 1 degree of freedom about the normal axis. So I guess I could use another vector to anchor it , one that lies in the plane? And btw Im talking about a reference plane to sketch on or create other reference geometry from so it will have a selectable wire bounding box that lies in the plane. So I’ll need to know its rotation about the normal so I know what orintation to render its bounding frame.


Mathematically speaking, that won’t work, but really it sort of does. The problem is that vectors are inherently relative, so what you’re describing would parameterize a sequence of planes through the origin; you could, of course, specify an translation as well, which would then be two vectors and a point. But you can do the same thing if you just specify three points on the plane with associated parameter values (u,v). So have the (0,0) (1,0) and (0,1) points specified
in 3-space or 4-space.

Let me try to explain what im trying to do a little better. I have a coordinate system which is driven by the model view matrix. The only action performed on this CS is rotation with the mouse. Pan and zooms are performed using the projection matrix & gluOrtho().
Ok now my world need 3 default reference planes, Front, Top & Right, that intersect at the CS. I have a CPlane class coded. It contains private data members like m_pt[12] that defines the selectable rectangle that lies in the plane, m_type that Ive defined as either PLN_DEFAULT,PLN_ANGLE ,PLN_THRU_3PT, PLN_PAR_THRU_PT, PLN_THRU_LINE_PT and public functions like Render(), Hide(), Select(), and the one that promted this post, SetPosition().

So If I wanted to create the default Front plane, I’d need to call SetPosition(), but Im trying to figure out what would be the best params to send it. You mentioned a point and two vectors. This makes sence to me. The point would be the ref planes origin, one vector would lie in the ref plane X direction and the other in its Y direction. I could then ectract its normal thru the cross product of those two vectors. Seems to me that you can define a plane with a coor sys and a vector.The plane will always be perpendicular to the vectors direction.

I have lots of reading to do…