Ste[hen Gray
2014-04-23 08:53:54 UTC
I want to find the center C of a circle in 3D where the plane is defined
by points p1,p2,p3. I wrote this:
p1 = {p1x, p1y, p1z}; (* tell it that p1,p2,p3 are vectors *)
p2 = {p2x, p2y, p2z}; (* center of circle ctr = f p1+g p2+(1-f-g)p3 *)
p3 = {p3x, p3y, p3z}; (* keep the center in the plane of p1,p2,p3 *)
ctr = f p1 + g p2 + (1 - f - g) p3;
eq1 = (ctr - p1).(ctr - p1) - (ctr - p2).(ctr - p2) := 0;
eq2 = (ctr - p1).(ctr - p1) - (ctr - p3).(ctr - p3) := 0;
I get errors of a type I've seen before:
SetDelayed::write: Tag Norm in Norm[{-p1x+f p1x+g p2x+(1-f-g) p3x,-p1y+f
p1y+g p2y+(1-f-g) p3y,-p1z+f p1z+g p2z+(1-f-g) p3z}] is Protected. >>
And a similar one. I don't know what to do about this.
I want to do
Solve[{eq1, eq2}, {f, g}]
by points p1,p2,p3. I wrote this:
p1 = {p1x, p1y, p1z}; (* tell it that p1,p2,p3 are vectors *)
p2 = {p2x, p2y, p2z}; (* center of circle ctr = f p1+g p2+(1-f-g)p3 *)
p3 = {p3x, p3y, p3z}; (* keep the center in the plane of p1,p2,p3 *)
ctr = f p1 + g p2 + (1 - f - g) p3;
eq1 = (ctr - p1).(ctr - p1) - (ctr - p2).(ctr - p2) := 0;
eq2 = (ctr - p1).(ctr - p1) - (ctr - p3).(ctr - p3) := 0;
I get errors of a type I've seen before:
SetDelayed::write: Tag Norm in Norm[{-p1x+f p1x+g p2x+(1-f-g) p3x,-p1y+f
p1y+g p2y+(1-f-g) p3y,-p1z+f p1z+g p2z+(1-f-g) p3z}] is Protected. >>
And a similar one. I don't know what to do about this.
I want to do
Solve[{eq1, eq2}, {f, g}]