Closed AndyZe closed 5 years ago
I think a reviewer will ask, "Why are the arguments only A,B,C if the plane equation is Ax+By+Cz+D=0?"
D isn't needed because the user specifies a center point for the graphic. So the burden of calculating a point on the plane is shifted to the user.
I thought about doing that calculation here, but it can be tricky. For example, how do you calculate z if C==0?
I think a reviewer will ask, "Why are the arguments only A,B,C if the plane equation is Ax+By+Cz+D=0?"
D isn't needed because the user specifies a center point for the graphic. So the burden of calculating a point on the plane is shifted to the user.
As mentioned above this actually isn't ABCD then.
I thought about doing that calculation here, but it can be tricky. For example, how do you calculate z if C==0?
I don't see the issue here. If C==0 then the plane is parallel to the x/y coordinate plane and it's clearly defined that only one of A,B,C must be non-zero.
ABCD defines a plane with normal vector (A,B,C) and distance |D|/|(A,B,C) from the origin. It's really straightforward to implement this and to compute the center point, i.e. by computing the normalized product: D * (A, B, C) / |(A,B,C)|
You are right, it was not very hard to add D as an argument.
Wrong however about having more than one of A/B/C == 0. It is possible and the first demo datapoint happens to be that case. :P And C == 0 doesn't mean xy plane... it's actually the opposite. Large C ==> parallel to xy plane.
Anyway, I believe all of your changes have been addressed.
You are right, it was not very hard to add D as an argument.
Wrong however about having more than one of A/B/C == 0. It is possible and the first demo datapoint happens to be that case. :P
I mentioned that at least one must be non-zero and the first datapoint is an example for that.
And C == 0 doesn't mean xy plane... it's actually the opposite. Large C ==> parallel to xy plane.
That's true, the plane is parallel to xy if A==B==0 and C!=0.
Issue #119