C#で角度変換の誤差を無くしたい
- 題名: C#で角度変換の誤差を無くしたい
- 著者: NOBB
- 日時: 2009/05/03 9:59:42
- ID: 24506
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: C#で角度変換の誤差を無くしたい
- 著者: Hongliang
- 日時: 2009/05/03 14:34:04
- ID: 24507
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: C#で角度変換の誤差を無くしたい
- 著者: Hongliang
- 日時: 2009/05/03 14:49:13
- ID: 24508
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: C#で角度変換の誤差を無くしたい
- 著者: オショウ
- 日時: 2009/05/03 22:09:25
- ID: 24509
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: C#で角度変換の誤差を無くしたい
- 著者: オショウ
- 日時: 2009/05/03 22:10:25
- ID: 24510
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: C#で角度変換の誤差を無くしたい
- 著者: NOBB
- 日時: 2009/05/05 20:32:34
- ID: 24513
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
C#で角度変換できる関数を作ろうとしています。
現在デグリー→ラジアンはできました。
ラジアン→デグリーをしようと作ったのですが
どうしても誤差が出てしまいます。
==例==
元の角度は45°32′25″として
DegToRadで「45.54027777....」になります。 //ここまではできました
RadToDegで上記小数表示のものを度分秒の形にすると
どうしても+1秒又は-1秒になってしまいます。
==自作関数==
public static double[] RadToDeg(double radNum)
{
double[] degNum = new double[3];
double dNum;
double mNum;
double sNum;
dNum = Math.Floor(radNum);
mNum = Math.Floor((radNum - dNum) * 60);
sNum = Math.Ceiling((radNum - dNum - (mNum / 60)) * 3600);
degNum[0] = dNum;
degNum[1] = mNum;
degNum[2] = sNum;
return degNum;
}
==ここまで==
どうかお知恵拝借したいと思います
よろしくお願いします
開発環境としては
OS:WinXP Pro
IDE:VS2008
言語:C#.net
.NetVer:2.0