我使用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
答案 0 :(得分:3)
Math.Sin
和Math.Cos
使用弧度,而不是度数。指定pi
而不是180的轮换,你会发现你得到了正确答案。