Большое переименование: замена префикса F на более корректный FP (Floating Point)
This commit is contained in:
parent
c66edd3432
commit
ebb0a73555
31 changed files with 483 additions and 483 deletions
75
BGC/FP64Radians.cs
Normal file
75
BGC/FP64Radians.cs
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
|
||||
/*
|
||||
* Author: Andrey Pokidov
|
||||
* Date: 18 Nov 2024
|
||||
*/
|
||||
|
||||
namespace BGC
|
||||
{
|
||||
public class FP64Radians
|
||||
{
|
||||
public const double PI = 3.14159265358979324;
|
||||
public const double TWO_PI = 6.28318530717958648;
|
||||
public const double HALF_OF_PI = 1.57079632679489662;
|
||||
public const double THIRD_OF_PI = 1.04719755119659775;
|
||||
public const double FOURTH_OF_PI = 0.78539816339744831;
|
||||
public const double SIXTH_OF_PI = 0.523598775598298873;
|
||||
|
||||
public const double DEGREES_IN_RADIAN = 57.2957795130823209;
|
||||
public const double TURNS_IN_RADIAN = 0.159154943091895336;
|
||||
|
||||
public static double ToDegrees(double radians)
|
||||
{
|
||||
return radians * DEGREES_IN_RADIAN;
|
||||
}
|
||||
|
||||
public static double ToTurns(double radians)
|
||||
{
|
||||
return radians * TURNS_IN_RADIAN;
|
||||
}
|
||||
|
||||
public static double ToUnits(double radians, AngleUnit toUnit)
|
||||
{
|
||||
if (toUnit == AngleUnit.DEGREES)
|
||||
{
|
||||
return radians * DEGREES_IN_RADIAN;
|
||||
}
|
||||
|
||||
if (toUnit == AngleUnit.TURNS)
|
||||
{
|
||||
return radians * TURNS_IN_RADIAN;
|
||||
}
|
||||
|
||||
return radians;
|
||||
}
|
||||
|
||||
public static double Normalize(double radians, AngleRange range)
|
||||
{
|
||||
if (range == AngleRange.UNSIGNED_RANGE)
|
||||
{
|
||||
if (0.0 <= radians && radians < TWO_PI)
|
||||
{
|
||||
return radians;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (-PI < radians && radians <= PI)
|
||||
{
|
||||
return radians;
|
||||
}
|
||||
}
|
||||
|
||||
double turns = radians * TURNS_IN_RADIAN;
|
||||
|
||||
turns -= Math.Floor(turns);
|
||||
|
||||
if (range == AngleRange.SIGNED_RANGE && turns > 0.5)
|
||||
{
|
||||
turns -= 1.0;
|
||||
}
|
||||
|
||||
return turns * TWO_PI;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue