hirofuro,
TL;DL Your way will not work, end of the story.
Explanation, the trigonometrical functions mission is to calculate:
1. Hotspots positions in 2D.
2. Calculate the normal vector values for each connection.
About the 0,0,0 origins, is to make scripting and vector calculations easier.
The trouble is you're trying to break the MEP objects' programming schema, without understanding how the schema was implemented to make it work.
Advise, follow the schema.
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.