A 3d plane is typically defined as a,b,c,d. Are a,b,c actually the x,y,z coordinates of a 3d vector, with d defining the rotation of the plane, something like axis-angle rotation data?
|
|
|
The four-variable representation of a plane is the coefficients in the equality ax + by + cz = d This can be seen as N = (a, b, c) being a normal vector and d being a distance from the coordinate origin (in units of N), and we can also write this equation as N·P = d, where P = (x, y, z). This representation does not allow defining a specific “origin of the plane” — mathematical planes don't have origins. If you change the = to < or >, you describe a "half-space", which can be used for things such as an infinite floor in a physics engine; the opposite half-space is obtained by negating both N and d. |
|||||||||
|
|
"Typically" is a quite subjective word, in my experience there are different way to describe a plane in a 3D space that are more common because of the properties that such constructions show. About your question, there is away to use 4 real values to determine a plane in a 3D space. As you pointed out, a,b,c may be the components of a vector that is perpendicular to the desired plane. If N =(a,b,c) is our perpendicular vector, you may find a point in your plane that is P = d N for some d real and positive. Here you say that d is the distance from the origin in term of N; if N is a unit vector, then d is the distance between the origin and your plane in the way that the term "distance" is commonly meant. Surprisingly you can define any possible oriented plane bacause you can use a negative values of d; doing so you loose the direct meaning of d as distance until you put it in an absolute value (|d|). |
|||||
|
|
As far as I know a plane is usually defined by a position, for telling us where the origin is, and a normal pointing upwards from the plane to tell us what orientation we have. It's common practice to use two vectors for this. With four variables you don't have enough variables to define a plane that doesn't have an origin at (0,0,0) or not enough variables to account for all rotations. The minimum we would need for a plane in 3D euclidean space with an origin that's not at (0,0,0) and can be oriented in anyway we want is 5. Imagine the unit sphere, we need 3 variables to define where the origin of the unit sphere is (X,Y,Z). Then we need two variables to define where the 'up' of the plane is. We can do this by using the vector described by going from the origin of the sphere towards it's surface given a latitude and longitude. How you would reconstruct a plane with only four variables I don't know. Maybe you're working in a narrow domain (the plane is always at (0,0,0) and the four variables are a quaternion?) or the variables aren't scalars? In what context are you using this a,b,c,d? |
|||||
|
