私はかなり長い間頭を悩ましています。私が若い頃、私は三角法の数学のクラスでもっと注意を払っていたはずですが、ここで私たちは行く:三角法の問題 - 角度を使ってPointFを作成する
私は角度とポイントを持っています。次に、最初の点から200単位離れた角度の方向に2番目の点を配置したいと思います。私はAtan2を使用して角度を取得し、次にcosとsinを使用して3番目のポイントを取得します。しかし... ...私はp3.Yのために罪を計算するときに何かが間違っていると思う。
編集:明確にするために、私はP2を除去し、直接角度を用いる:ここ
PointF p1 = new PointF(20, 20);
double angle = 1.3034851559678624f;
//Create a new PointF in the same direction, 200 pixels away from p1
//{ X = 199,9482, Y = 4,549629 }
PointF p3 = new PointF
{
X = (float)(Math.Cos(Math.PI * angle/180.0) * 200),
Y = (float)(Math.Sin(Math.PI * angle/180.0) * 200)
};
//This is where I would expect 1.3034851559678624 as the first angle
//but I get -4.9073849244837184
double angle2 = Math.Atan2(p3.Y - p1.Y, p3.X - p1.X) * 180/Math.PI;
は、上記の値の視覚的表現です。緑色の線が最初の角度です。
いくつかの点で 'X'値その最終算定基準べきではないのですか? –
私の言葉をそれに取ってはいませんが、私はラジアンでこれらの角度を表現すべきだと思います。 – neeKo
@Damien_The_Unbeliever - どこでXポイントを使用しますか? – BlueVoodoo