/// <summary> /// Evaluate the local coordinate system of this surface. /// By convention, the z-axis of the local coordinate system will point normal to the /// surafce and the x-axis will be orientated as closely as possible to global X, unless /// the x-axis lies within a certain angular limit of z, in which case the global Y axis /// will be used instead. /// </summary> /// <param name="orientation">The orientation angle. The rotation of the X and Y axes of the coordinate /// system around the Z axis, relative to default reference orientation.</param> /// <returns></returns> public CartesianCoordinateSystem LocalCoordinateSystem(Angle orientation) { return(LocalCoordinateSystem(0, 0.5, 0.5, orientation, Angle.FromDegrees(1))); }
/// <summary> /// Evaluate the local coordinate system of this surface. /// By convention, the z-axis of the local coordinate system will point normal to the /// surafce and the x-axis will be orientated as closely as possible to global X, unless /// the x-axis lies within a certain angular limit of z, in which case the global Y axis /// will be used instead. /// </summary> /// <param name="i">The index of the face on which to evaluate the local coordinate system</param> /// <param name="u">A normalised parameter defining the first coordinate of a point on this surface. /// Note that parameter-space is not necessarily uniform and does not equate to a normalised length. /// 0 = span start, 1 = span end.</param> /// /// <param name="v">A normalised parameter defining the first coordinate of a point on this surface. /// Note that parameter-space is not necessarily uniform and does not equate to a normalised length. /// 0 = span start, 1 = span end.</param> /// <param name="orientation">The orientation angle. The rotation of the X and Y axes of the coordinate /// system around the Z axis, relative to default reference orientation.</param> /// <returns></returns> public CartesianCoordinateSystem LocalCoordinateSystem(int i, double u, double v, Angle orientation) { return(LocalCoordinateSystem(i, u, v, orientation, Angle.FromDegrees(1))); }