Большая реорганизация проекта

This commit is contained in:
Andrey Pokidov 2025-02-11 19:38:07 +07:00
parent 233c027d46
commit f3b0232dd4
35 changed files with 705 additions and 593 deletions

63
BasicGeometry/TurnFP64.cs Normal file
View file

@ -0,0 +1,63 @@

/*
* Author: Andrey Pokidov
* Date: 18 Nov 2024
*/
namespace BasicGeometry
{
public class TurnFP64
{
public static double ToRadians(double turns)
{
return turns * RadianFP64.TWO_PI;
}
public static double ToDegrees(double turns)
{
return turns * 360.0;
}
public static double ToUnits(double turns, AngleUnit toUnit)
{
if (toUnit == AngleUnit.RADIANS)
{
return turns * RadianFP64.TWO_PI;
}
if (toUnit == AngleUnit.DEGREES)
{
return turns * 360.0;
}
return turns;
}
public static double Normalize(double turns, AngleRange range)
{
if (range == AngleRange.UNSIGNED_RANGE)
{
if (0.0 <= turns && turns < 1.0)
{
return turns;
}
}
else
{
if (-0.5 < turns && turns <= 0.5)
{
return turns;
}
}
double rest = turns - Math.Floor(turns);
if (range == AngleRange.SIGNED_RANGE && rest > 0.5)
{
rest -= 1.0;
}
return rest;
}
}
}