Re: A simple Solve gives me errors
- To: mathgroup at smc.vnet.net
- Subject: [mg132631] Re: A simple Solve gives me errors
- From: Alexei Boulbitch <Alexei.Boulbitch at iee.lu>
- Date: Thu, 24 Apr 2014 04:03:35 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-outx@smc.vnet.net
- Delivered-to: mathgroup-newsendx@smc.vnet.net
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}] Hi, It is just == instead of := and everything works. Try 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; Solve[{eq1, eq2}, {f, g}] But the returned result is very long. Nave fun, Alexei Alexei BOULBITCH, Dr., habil. IEE S.A. ZAE Weiergewan, 11, rue Edmond Reuter, L-5326 Contern, LUXEMBOURG Office phone : +352-2454-2566 Office fax: +352-2454-3566 mobile phone: +49 151 52 40 66 44 e-mail: alexei.boulbitch at iee.lu