public void AzimuthOfRadix() { Aver.AreEqual(3, CartesianUtils.AzimuthOfRadix(0, 0, 0, -100, 4)); Aver.AreEqual(0, CartesianUtils.AzimuthOfRadix(0, 0, 100, -100, 4)); Aver.AreEqual(1, CartesianUtils.AzimuthOfRadix(0, 0, 100, 100, 4)); Aver.AreEqual(2, CartesianUtils.AzimuthOfRadix(0, 0, -100, 100, 4)); }
public void WrapAngle() { Aver.AreEqual(314D, Math.Floor(CartesianUtils.WrapAngle(0D, Math.PI * 3D) * 100D)); Aver.AreEqual(314D, Math.Floor(CartesianUtils.WrapAngle(Math.PI, Math.PI * 2D) * 100D)); Aver.AreEqual(157D, Math.Floor(CartesianUtils.WrapAngle(Math.PI, -Math.PI / 2D) * 100D)); Aver.AreEqual(314D + 157D, Math.Floor(CartesianUtils.WrapAngle(Math.PI, Math.PI / 2D) * 100D)); }
public void PerimeterViolationArea() { Aver.AreEqual(0, CartesianUtils.CalculatePerimeterViolationArea(new Rectangle(0, 0, 100, 100), new Rectangle(0, 0, 100, 100))); Aver.AreEqual(100, CartesianUtils.CalculatePerimeterViolationArea(new Rectangle(0, 0, 100, 100), new Rectangle(1, 0, 100, 100))); Aver.AreEqual(100, CartesianUtils.CalculatePerimeterViolationArea(new Rectangle(0, 0, 100, 100), new Rectangle(-1, 0, 100, 100))); Aver.AreEqual(20 * 100, CartesianUtils.CalculatePerimeterViolationArea(new Rectangle(0, 0, 100, 100), new Rectangle(-10, -10, 100, 100))); }
public void FindRayFromRectangleCenterSideIntersection4() { var ray = CartesianUtils.FindRayFromRectangleCenterSideIntersection(new Rectangle(-50, -50, 100, 100), Math.PI + Math.PI / 2); Aver.AreEqual(0, ray.X); Aver.AreEqual(-50, ray.Y); }
public void FindRayFromRectangleCenterSideIntersection1() { var ray = CartesianUtils.FindRayFromRectangleCenterSideIntersection(new Rectangle(-50, -50, 100, 100), 0D); Assert.AreEqual(50, ray.X); Assert.AreEqual(0, ray.Y); }
public void DistancePoints() { Aver.AreEqual(100, CartesianUtils.Distance(new Point(0, 0), new Point(100, 0))); Aver.AreEqual(100, CartesianUtils.Distance(new Point(0, 0), new Point(0, 100))); Aver.AreEqual(141421D, Math.Floor(1000F * CartesianUtils.Distance(new PointF(0, 0), new PointF(100, 100)))); Aver.AreEqual(141421D, Math.Floor(1000F * CartesianUtils.Distance(new PointF(100, 0), new PointF(0, 100)))); Aver.AreEqual(141421D, Math.Floor(1000F * CartesianUtils.Distance(new PointF(100, 100), new PointF(0, 0)))); }
public void Distance() { Aver.AreEqual(100, CartesianUtils.Distance(0, 0, 100, 0)); Aver.AreEqual(100, CartesianUtils.Distance(0, 0, 0, 100)); Aver.AreEqual(141421D, Math.Floor(1000F * CartesianUtils.Distance(0F, 0F, 100F, 100F))); Aver.AreEqual(141421D, Math.Floor(1000F * CartesianUtils.Distance(100F, 0F, 0F, 100F))); Aver.AreEqual(141421D, Math.Floor(1000F * CartesianUtils.Distance(100F, 100F, 0F, 0F))); }
public void MapDirectionToAngle() { Aver.AreEqual(157D, Math.Floor(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.North) * 100D)); Aver.AreEqual(314D + 157D, Math.Floor(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.South) * 100D)); Aver.AreEqual(0D, Math.Floor(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.East) * 100D)); Aver.AreEqual(314D, Math.Floor(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.West) * 100D)); Aver.AreEqual(157D - 79D, Math.Floor(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.NorthEast) * 100D)); Aver.AreEqual(157D + 78D, Math.Floor(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.NorthWest) * 100D)); Aver.AreEqual(314D + 157D + 78D, Math.Floor(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.SouthEast) * 100D)); Aver.AreEqual(314D + 157D - 79D, Math.Floor(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.SouthWest) * 100D)); }
public void AngleToMapDirection() { Aver.IsTrue(Azos.Geometry.MapDirection.North == CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.North))); Aver.IsTrue(Azos.Geometry.MapDirection.South == CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.South))); Aver.IsTrue(Azos.Geometry.MapDirection.East == CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.East))); Aver.IsTrue(Azos.Geometry.MapDirection.West == CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.West))); Aver.IsTrue(Azos.Geometry.MapDirection.NorthEast == CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.NorthEast))); Aver.IsTrue(Azos.Geometry.MapDirection.NorthWest == CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.NorthWest))); Aver.IsTrue(Azos.Geometry.MapDirection.SouthEast == CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.SouthEast))); Aver.IsTrue(Azos.Geometry.MapDirection.SouthWest == CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.SouthWest))); }
public void AngleToMapDirection() { Assert.AreEqual(NFX.Geometry.MapDirection.North, CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(NFX.Geometry.MapDirection.North))); Assert.AreEqual(NFX.Geometry.MapDirection.South, CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(NFX.Geometry.MapDirection.South))); Assert.AreEqual(NFX.Geometry.MapDirection.East, CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(NFX.Geometry.MapDirection.East))); Assert.AreEqual(NFX.Geometry.MapDirection.West, CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(NFX.Geometry.MapDirection.West))); Assert.AreEqual(NFX.Geometry.MapDirection.NorthEast, CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(NFX.Geometry.MapDirection.NorthEast))); Assert.AreEqual(NFX.Geometry.MapDirection.NorthWest, CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(NFX.Geometry.MapDirection.NorthWest))); Assert.AreEqual(NFX.Geometry.MapDirection.SouthEast, CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(NFX.Geometry.MapDirection.SouthEast))); Assert.AreEqual(NFX.Geometry.MapDirection.SouthWest, CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(NFX.Geometry.MapDirection.SouthWest))); }
private void findPlacementCoordinates(out Rectangle body, out Point target) { Point[] anchorPoints = calcAnchorPoints(1, 1); Rectangle brect = inferBodyRectFromText(new Point(0, 0), Text, Font); Rectangle[] bodyRects = calcBodyRects(anchorPoints, brect.Size); body = bodyRects[(int)m_PreferredPlacement]; target = anchorPoints[(int)m_PreferredPlacement]; int minIdx = 0; int minArea = int.MaxValue; int area; for (int i = 0; i < 8; i++) { Screen screen = Screen.FromRectangle(bodyRects[i]); area = CartesianUtils.CalculatePerimeterViolationArea(screen.Bounds, bodyRects[i]); if (((MapDirection)i == m_PreferredPlacement) && (area == 0)) { body = bodyRects[i]; target = anchorPoints[i]; return; } if (area < minArea) { minArea = area; minIdx = i; } }//for body = bodyRects[minIdx]; target = anchorPoints[minIdx]; }
public void AzimuthDeg() { Aver.AreEqual(90D, Math.Floor(CartesianUtils.AzimuthDeg(0, 0, 0, 100))); Aver.AreEqual(0D, Math.Floor(CartesianUtils.AzimuthDeg(0, 0, 100, 0))); }
public void AzimuthRad() { Aver.AreEqual(157D, Math.Floor(CartesianUtils.AzimuthRad(0, 0, 0, 100) * 100)); Aver.AreEqual(0D, Math.Floor(CartesianUtils.AzimuthRad(0, 0, 100, 0) * 100)); }