public InCone ( |
||
tip | Tip of the cone. | |
direction | double | Cone's direction as radian. |
radius | int | Cone's radius. |
angle | double | Cone's angle as radian. |
return | bool |
public void InCone() { var centerPos = new Position(0, 0); var topPos = new Position(0, 500); var bottomPos = new Position(0, -500); var leftPos = new Position(-500, 0); var rightPos = new Position(500, 0); var up = MabiMath.DegreeToRadian(90); var down = MabiMath.DegreeToRadian(270); var left = MabiMath.DegreeToRadian(180); var right = MabiMath.DegreeToRadian(0); Assert.Equal(true, topPos.InCone(centerPos, up, 600, MabiMath.DegreeToRadian(10))); Assert.Equal(true, bottomPos.InCone(centerPos, down, 600, MabiMath.DegreeToRadian(10))); Assert.Equal(true, leftPos.InCone(centerPos, left, 600, MabiMath.DegreeToRadian(10))); Assert.Equal(true, rightPos.InCone(centerPos, right, 600, MabiMath.DegreeToRadian(10))); Assert.Equal(true, topPos.InCone(centerPos, up, 500, MabiMath.DegreeToRadian(10))); Assert.Equal(false, topPos.InCone(centerPos, up, 500, MabiMath.DegreeToRadian(180))); Assert.Equal(true, topPos.InCone(centerPos, up, 600, MabiMath.DegreeToRadian(180))); Assert.Equal(true, topPos.InCone(centerPos, up, 1000, MabiMath.DegreeToRadian(180))); Assert.Equal(true, topPos.InCone(centerPos, up, 1000, MabiMath.DegreeToRadian(190))); Assert.Equal(true, topPos.InCone(centerPos, up, 1000, MabiMath.DegreeToRadian(-190))); Assert.Equal(true, topPos.InCone(centerPos, up, 1000, MabiMath.DegreeToRadian(9999))); Assert.Equal(true, topPos.InCone(centerPos, up, 1000, MabiMath.DegreeToRadian(-9999))); Assert.Equal(false, topPos.InCone(centerPos, MabiMath.DegreeToRadian(45), 2000, MabiMath.DegreeToRadian(45))); Assert.Equal(true, topPos.InCone(centerPos, MabiMath.DegreeToRadian(68), 2000, MabiMath.DegreeToRadian(45))); }