09/03/23 02:13:02
>>342 ありがとうございます。処理を見直した結果-3.14~+3.14までを格納するように改めました。
//角度を格納するが強制的に正規化される型
//doubleとしてアクセスできる
public class RegularizedAngle
{
private double InAngle;
public RegularizedAngle()
{
InAngle = 0;
}
public RegularizedAngle(double i)
{
InAngle = 0;
Angle = i;
}
public double Degree
{
get { return StgUtil.RadToDeg(InAngle); }
set { Angle = StgUtil.DegToRad(value); }
}
private double Angle
{
get { return InAngle; }
set
{
//6.28以上だったら6.28で剰余算
if (value > StgUtil.PIx2) value %= StgUtil.PIx2;
InAngle = value;
}
}