Find Points on a Plane I have the equation for a plane $Ax + By + Cz + D = 0$ and I have a known point on the plane $(a, b, c)$. How can I find two more points on the plane?
What I need is a generic algorithm that produces two arbitrary points when the plane is not known in advance.
Background: I have some CAD software that can create planes based on three points. I have the equation only, so I need to go from equation to points and pass to the CAD software. I don't know in advance what the equation will be so it needs to work for all possible equations.
Thanks!
 A: Choose one of $A,B,C$ that is not $0$. Without loss of generality, assume that's $C$. You can choose $(a+1,b,c+\mu)$ and $(a,b+1,c+\nu)$. To have them on the plane, just plug them into the equation:
$$A(a+1)+Bb+C(c+\mu)+D=0\\Aa+Bb+Cc+D+A+C\mu=0\\\mu=-A/C$$
Similarly, $\nu=-B/C$.
For numerical calculation purposes, choose to add to the dimensions where the coefficients are closer to 0 in absolute value. In the above case, I assumed $|A|\le |C|$ and $|B|\le|C|$. That way you don't divide by a number close to 0.
A: Set any two of your variables $x,y,z$ to zero and solve for the other. For example, if $x=0$ and $y=0$ then the equation gives $z=-D/C$. So if $C\ne0$ then a point on your plane is $(0,0,-D/C)$. This approach gives three possible points on your plane, assuming the coefficients $A, B, C$ are not zero.
A: Choose one of $A$, $B$ or $C$ that’s non-zero (for numerical stability, the one with the greatest absolute value). For illustrative purposes, I’ll assume that it’s $A$. Working in homogeneous coordinates, the plane is the null space of $\mathbf \pi = [A,B,C,D]^T$, i.e., the solution space of $\mathbf \pi^T\mathbf v=0$. By inspection, we can find the basis $[B,-A,0,0]^T$, $[C,0,-A,0]^T$ and $[D,0,0,-A]^T$ for this space. By hypothesis, $A\ne0$, so the last of these is a finite point on the plane with inhomogeneous Cartesian coordinates $(-D/A,0,0)$. The other two basis vectors are points at infinity that correspond to two independent directions parallel to the plane, so you can add them to the finite point to obtain two more points on the plane, $(B-D/A,-A,0)$ and $(C-D/A,0,-A)$. (Of course, any linear combination of these homogeneous coordinate vectors also lies on the plane.) If $A=0$, you can perform a similar purely-mechanical construction with $B$ or $C$ instead. 
