/// <summary> /// Computes the projection from the current X,Y coordinates onto the plane /// crossing point StartX, StartY at Azimuth angle /// </summary> public double ComputeProjection(WellheadProjection p) { // The transform matrix for rotation is // // CosA SinA // -SinA CosA // // or, if multiplied by the vector (X,Y) // Xnew = X*CosA + Y*SinA Projection = (this.Northing - p.WellheadCoordinates.Northing) * p.Cosine + (this.Easting - p.WellheadCoordinates.Easting) * p.Sine; return(Projection); }
/// <summary> /// Compute the point coordinates based on the current Projection value and the /// Wellhead data from the WellheadProjection /// </summary> /// <param name="p">Wellhead projection to fetch the data from</param> public void ComputeCoordinates(double Extent, WellheadProjection p) { this.Projection = Extent; this.ComputeCoordinates(p); }
/// <summary> /// Compute the point coordinates based on the current Projection value and the /// Wellhead data from the WellheadProjection /// </summary> /// <param name="p">Wellhead projection to fetch the data from</param> public void ComputeCoordinates(WellheadProjection p) { this.Northing = this.Projection * p.Cosine + p.WellheadCoordinates.Northing; this.Easting = this.Projection * p.Sine + p.WellheadCoordinates.Easting; }