[英]Rotating 2D object C #
我使用visual studio 2010開始使用C#
該程序有三個textBox和一個旋轉2D點的按鈕我得到這些textBox coordenadaX,coordenadaY和angle需要計算並顯示新的2D點有以下代碼:
private void button1_Click(object sender, EventArgs e)
{
float x = float.Parse(textX.Text);
float Y = float.Parse(textY.Text);
double angulo = float.Parse(textAng.Text);
rotate(x, Y, angulo);
}
private void rotate(float cordX, float cordY, double angle)
{
double s = Math.Sin(angle);
double c = Math.Cos(angle);
double newX = cordX * c - cordY * s;
double newY = cordX * s + cordY * c;
lblResult.Text = ("" + newX + " : " + "" + newY);
}
}
例如,用戶報告:coordenadaX = 10,coordenadaY = 10,Angle = 180正確的答案將是新的2D點: - 10:-10
Math.Sin
和Math.Cos
使用弧度,而不是度數。 指定pi
的旋轉而不是180,你會發現你得到了正確的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.