Skip to main content
I am wondering if anyone has any ideas on how I can generate 3D Points (and eventually) a 3D line from a table that has only XY for the starting point. A joined table has the location of the joints in the form of Azimuth (ie 135 degrees, inclination (ie 98 degrees, and distance (in feet.)

 

 

The "catch" is that it appears the data feeds itself concurrently in that from joint 1 to 2 has a azimuth, inclination and distance, joint 2 to 3 has another azimuth, inclination, and distance from joint 2.

 

 

Does anyone have any ideas on how I might go about tackling this issue?

 

 

Thanks,

 

 

 

Matthew Brucker
Hi Matthew,

 

 

I hope the following formulas are correct (please check).

 

Assume the azimuth is measured from Y axis (pointing north) in right rotation, the distance is measured in 3 dimension, the given coordinate is x0, y0, z0, and the question coordinate is x1, y1, z1.

 

 

dist2D = distance * cos(inclination)

 

theta = 90 - azimuth (convert the azimuth to angle measured from X axis in left rotation)

 

x1 = x0 + dist2D * cos(theta)

 

y1 = y0 + dist2D * sin(theta)

 

z1 = z0 + distance * sin(inclination)

 

 

Be aware you will have to convert the unit of angles to radians from degrees when you use "sin", "cos" functions in FME Math Functions.

 

1 degree = PI / 180 radians (PI = 3.14159265...)

 

 

You can see many related images in Google if you search by "azimuth images".

 

Takashi
Hi,

 

 

perhaps download the 2DDirectionExtender from the FME Store. You can right-click it and select "Edit..." to see how it's made.

 

 

Perhaps it is possible to extend it for your use. In either case, it might also give you some ideas.

 

 

David

 

Use 3Daffiner.

 

Its a matrix transfomration conserning 3d rotation around an arbitrary point (joints) and a traslation (arm lenghts)

 

 

Keep data linked trough id's and you'll be fine.

 

 

It does involve Havo/VWO (in Holland) goniometry... 😉 So its no rocketscience.

Reply