You are invited to Log in or Register a free Frihost Account!

# A Math problem:Points in a 3D space (Quite hard)

chasbeen
Ok so I mastered some maths but I have a genuine problem that if anyone can give me some real insight I would be genuinely pleased.

First here are the minimum requirements before you even attempt this (If your still reading we'll begin)

(1)An understanding of 3D spaces described by x, y, z coordinates (So that you could describe where a flying insect was located in the room). The room has a height of X a width of Y and a depth of Z.
(2)A grasp of Trigonometry and Pythagoras

The problem:
(1)You have a circular flat surface in the room (as described above) but it is not even with the floor (Actually it can be at quite an angle).
(2)The centre of the flat surface is a known height from the floor
(3)You have 2 other points on the circular flat surface where the height from the floor is also known and the distance from them to the centre is also known.
(4)At any point someone comes into the room and fixes a very thin pole on to the uneven (to the floor) circular flat surface. The pole touches the centre of the circular flat surface and extends outwards past the edge and as its length is known.
(5)Assume the pole has no diameter but you can still see it.

How do you calculate the height of the end of the thin pole from the floor?
leontius
First you will need to find the equation for the plane (the circle). This can be done as you have 3 known coordinates in the plane.
Then find the angle between that plane and the xy plane (the floor).
Using the angle and distance of the centre of the surface to the xy plane / floor and some trigonometry, you can find out the height of the pole.

So this question actually asks you to also master 3D equations and a bit of matrices. Basic trigonometry will not do. (maybe it's possible but i bet it will be somewhat longer and complicated without using 3D geometry principles.)

EDIT:
plane geometry: http://en.wikipedia.org/wiki/Plane_%28geometry%29
angle of two planes: http://members.tripod.com/vector_applications/angle_between_two_planes/index.html (seems like you need to learn about vectors too!)
chasbeen
Liontius

 Quote: First you will need to find the equation for the plane (the circle). This can be done as you have 3 known coordinates in the plane.

Supposing I found the equation of the plane was (as an example)
47x + 3y - 20z - 180 = 0

It sounds to me that if I have a random 4th point (but for this one I only have "x" and "y")
I simply substitute those 2 x & y values (From the 4th point) into the "equation for the plane" and get the value of z for that point on the plane?

If this is the case, the problem I have is solved.

I'm going to plug away and implement this in the program any further comments you have would be appreciated.
leontius
chasbeen wrote:
Liontius

 Quote: First you will need to find the equation for the plane (the circle). This can be done as you have 3 known coordinates in the plane.

Supposing I found the equation of the plane was (as an example)
47x + 3y - 20z - 180 = 0

It sounds to me that if I have a random 4th point but for this one I only have "x" and "y"
I simply substitute those 2 x & y values (From the 4th point) into the "equation for the plane" and get the value of z for that point on the plane?

If this is the case, the problem I have is solved.

Yes. If you have any triplet values that can substitute x, y, and z in the plane equation, it means that that point (x, y, z) is in the plane.

http://local.wasp.uwa.edu.au/~pbourke/geometry/planeeq/
http://www.jtaylor1142001.net/calcjat/Solutions/VPlanes/VP3Pts.htm
chasbeen
Liontius

I managed to implement it in the project i'm playing with which is half finished.

It will be a more advanced version than this one:
http://www.irunmywebsite.com/raphael/xyz_3d_Platonic_live.html

nilsmo
I know you probably have the answer (it was given in some earlier links) but I'll say anyway how you would find the equation of a plane given three points.

Subtract two pairs of points, getting (a,b,c) and (d,e,f) as your differences. Take the cross product ( http://en.wikipedia.org/wiki/Cross_product ), getting (bf - ec, dc - fa, ae - bd) = (m, n, o).

Call one of the given points (u, v, w). Then the equation of the plane is:

m(x-u) + n(y-v) + o(z-w) = 0.

This equation is true because the cross product obtains a vector perpendicular to the plane, so <m, n, o> must be perpendicular to <x-u,y-v,z-w> meaning the dot product of the two vectors (above) is zero.
chasbeen

I have been a member of Frihost for a few years and it has yielded many benefits.

It's not the first time I have had help resolving technical issues and it's good to know that there are often a few people willing to share their knowledge or just have a joke!

This from last week!
http://www.frihost.com/forums/vt-110623.html
chasbeen
This goes out to the Maths people that helped me solve a problem.

Here is a link to the end result which included the solution to this problem.

When you create a new shape you can place it anywhere in the virtual 3D environment.

You are playing with some software that creates paths. A single path makes up one side of a shape (Eg a cube)

You can join these shapes deforming the paths or leaving them in their original shape.

This is a version 0.1 so expect to find some shortcomings..

Bring your cup of java too.............

http://www.irunmywebsite.com/raphael/3DE_live.html