# Torus face analyse

Question asked by Alexandre Gragnano on Jul 29, 2015
Latest reply on Apr 23, 2016 by Alexandre Gragnano

I have a piece of torus face (from a more complex body) to analyse like this: I would like to calculate the neutral axis length with:

• The surface TorusParams (TorusParams Property (ISurface)) which give me:
• a center point (x, y, z)
• an axis vector (x, y, z)
• a major radius (R on image)
• a minor radius (r on image)
• The extremity curves (CircleParams Property (ICurve)) which give me:
• the extremity points of neutral axis (x, y, z)
• other informations...

To calculate this length:

• I calculate an angle (rad) but the angle can be:
• small: angle
• large: 2*PI - angle
• To determine the angle to use, I calculate:
• the [center, extremity1] vector (x, y, z)
• the [center, extremity2] vector (x, y, z)
• the cross product of the vectors (x, y, z)
• the dot product with the torus axis vector
• if the dot product is positive (same direction):
• the torus turns in a clockwise direction
• if the dot product is negative (opposite direction)
• the torus turns in an anti-clockwise direction

My problem is:

• The torus axis is based on a starting and ending point (extremity1 or extremity2) but I don't know which one.

How can I find it?