Determine the 3d position of this vector

Started by
10 comments, last by VildNinja 10 years, 1 month ago

Hello

I have a rather simple mathematic problem to solve. However I am not that mathematically inclined so I'd appreciate if someone could provide advice on how I solve this mathematic problem:

For the following triangle I wish to find the location (X,Y & Z) of the point/vector C. How can I find this position?

295eb89.png

Using simple Pythagoras I can find the length of side Z. But how can I find the position of C? I am attempting to offset/parallel a straight line segment (side X) so I need to calculate the position of C.

Advertisement

First of don't use x, y and z for anything but coordinates.. that's just confusing. Call the sides a, b and c or something else.

The problem is unsolvable with only two initial points, as this will produce a wheel of possible positions of C around A, remember this is 3D, so there exists infinite directions orthogonal to the vector (AB).

If you have an up vector and know that A, B and C are all in the "ground" plane orthogonal to the up vector you can find C:

// by taking the cross product between two vectors you get a direction vector that is orthogonal to both (A - B) and up

v = Cross((A - B), up)

// by normalizing the vector v and multiplying with the length of y you scale the direction to the right length

directin = Normalize(v) * y

// you can now easily find C

C = A + direction

But this is only if A, B and C is in the ground plane.


The problem is unsolvable with only two initial points, as this will produce a wheel of possible positions of C around A, remember this is 3D, so there exists infinite directions orthogonal to the vector (AB).

Hummm I think he must find the 'formula' or the equation representing the C position... it may be defined in function of A, B and its angles/values... right?? I dont know how to get its formula... but I think gretty is trying to achieve it ( the formula, not the real value of C )...

Its righ Gretty?

KrinosX


The problem is unsolvable with only two initial points, as this will produce a wheel of possible positions of C around A, remember this is 3D, so there exists infinite directions orthogonal to the vector (AB).

Hummm I think he must find the 'formula' or the equation representing the C position... it may be defined in function of A, B and its angles/values... right?? I dont know how to get its formula... but I think gretty is trying to achieve it ( the formula, not the real value of C )...

Its righ Gretty?

The formula for finding C is

C = A + (Normalize(Cross((A - B), ??)) * y)

Where ?? is any vector not zero or parallel to (A - B)

C = A + Normalize( Cross( B-A, Cross(A,B) ) ) * y;

Cross(A,B) is a non-unit "up" vector, normal to AB.

B-A is a non-unit vector from A to B.

Cross(B-A, Cross(A,B)) is normal to both AB and "up," i.e., points from A to C, normalized to a unit vector for applying the length of the side (y).

Please don't PM me with questions. Post them in the forums for everyone's benefit, and I can embarrass myself publicly.

You don't forget how to play when you grow old; you grow old when you forget how to play.

C = A + Normalize( Cross( B-A, Cross(A,B) ) ) * y;

Cross(A,B) is a non-unit "up" vector, normal to AB.

B-A is a non-unit vector from A to B.

Cross(B-A, Cross(A,B)) is normal to both AB and "up," i.e., points from A to C, normalized to a unit vector for applying the length of the side (y).

Yes, but that's still assuming that C is also in the plane with the normal "up" gretty didn't specify that.


assuming that C is also in the plane

You're absolutely correct. Missed that.

Please don't PM me with questions. Post them in the forums for everyone's benefit, and I can embarrass myself publicly.

You don't forget how to play when you grow old; you grow old when you forget how to play.

so is this topic answered? because when i see crossproduct little kittens begin to cry in heaven.

Anyway relating to that question. if its 90 degs it seems that C can be on either left or right side according to B position in relation to A. if you have distance between A and C why you dont just add this value to specified vector component?


if its 90 degs it seems that C can be on either left or right side according to B position in relation to A.

In 2D yes, but this is 3D. This means that any point on a circle with the radius y around A is a valid point C.

Also: Vikings cheer in Valhal whenever people mention the cross product! You might as well learn to use it, it is quite useful in vector math :)

Read up: http://en.wikipedia.org/wiki/Cross_product

realize that infinite amount of vectors C fits the definition you have described in 3d. More precisely, all vectors that begin from point A by length y orthogonal to (A-B). This yeilds vectors that create a circle which you can imagine by rotation of the triangle around (A-B) edge.

This topic is closed to new replies.

Advertisement