To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.cad.devOpen lugnet.cad.dev in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 CAD / Development / 11020
11019  |  11021
Subject: 
calc_z4.c (Was: Math Problem Again)
Newsgroups: 
lugnet.cad.dev
Date: 
Thu, 22 Oct 2009 22:42:19 GMT
Viewed: 
16756 times
  
In lugnet.cad.dev, Paul Easter wrote:
In lugnet.cad.dev, Ronan Webb wrote:
In lugnet.cad.dev, Tore Eriksson wrote:
You are given three 3d cooridates.

(snip) <
If possible, I would like an Excel spreadsheet, but just the formula will do.

TIA,
/Tore



http://astronomy.swin.edu.au/~pbourke/geometry/planeeq/

(snip) <
Having worked these out (i.e. this has given you the A,B,C,D in
A.x + B.y + C.z + D = 0) just plug in your fourth point's x and y co-ords
(say x4 and y4) into this equation i.e. let x=x4 and let y=y4
This gives you the equation for z4 that you are looking for viz.
A.x4 + B.y4 +C.z4 +D =0 (where now the only thing you don't know is z4)
rearranging this is just
z4=(-D -A.x4 - B.x4)/C


Then again, it's late :)

Hey!  cool!   where was this info when I wrote my calculator program?  It would have made it alot easier. The calculator grew into a slightly different purpose though. it was for helping determine where to trim lines and quads at intersection points.

The last formula had a typo, here it is corrected.
z4=(-D -A.x4 - B.y4)/C

Tore, I will email you the spreadsheet I put this information into.

Paul

Sorry guys, just wanted to store this function in a safer place than my hard
drive. :)
I just don't want to remake it again...!
Feel free to copy/paste/edit/port if you need it!
/Tore


// calc_z4 by Tore Eriksson
// credits to Ronan Webb for the superb formula
double calc_z4(double x1,double y1,double z1,
       double x2,double y2,double z2,
       double x3,double y3,double z3,
       double x4,double y4)
{
double a,b,c,minus_d,z4;
a = y1*(z2-z3) + y2*(z3-z1) + y3*(z1-z2);
b = z1*(x2-x3) + z2*(x3-x1) + z3*(x1-x2);
c = x1*(y2-y3) + x2*(y3-y1) + x3*(y1-y2);
minus_d = x1*(y2*z3-y3*z2) + x2*(y3*z1-y1*z3) + x3*(y1*z2-y2*z1);
z4 = (minus_d - a*x4 - b*y4)/c;
return z4;
}



Message has 1 Reply:
  Re: calc_z4.c (Was: Math Problem Again)
 
(...) You also need a touch of code to catch when c=0 so that z4 is undefined ;) Tim (15 years ago, 23-Oct-09, to lugnet.cad.dev)

Message is in Reply To:
  Re: Math Problem Again
 
(...) Hey! cool! where was this info when I wrote my calculator program? It would have made it alot easier. The calculator grew into a slightly different purpose though. it was for helping determine where to trim lines and quads at intersection (...) (20 years ago, 14-Nov-03, to lugnet.cad.dev)

10 Messages in This Thread:



Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR