/// <summary> /// Calculates the local axis of a 1D entity. /// </summary> /// <param name="coor">Entity coordinates</param> /// <param name="zAxis">Z axis of the 1D entity</param> /// <returns>Axis</returns> public static StructuralAxis LocalAxisEntity1D(double[] coor, StructuralVectorThree zAxis) { var axisX = new Vector3D(coor[3] - coor[0], coor[4] - coor[1], coor[5] - coor[2]); var axisZ = new Vector3D(zAxis.Value[0], zAxis.Value[1], zAxis.Value[2]); var axisY = Vector3D.CrossProduct(axisZ, axisX); var axis = new StructuralAxis( new StructuralVectorThree(new double[] { axisX.X, axisX.Y, axisX.Z }), new StructuralVectorThree(new double[] { axisY.X, axisY.Y, axisY.Z }), new StructuralVectorThree(new double[] { axisZ.X, axisZ.Y, axisZ.Z }) ); axis.Normalize(); return(axis); }