繁体   English   中英

旋转2D对象C#

[英]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.SinMath.Cos使用弧度,而不是度数。 指定pi的旋转而不是180,你会发现你得到了正确的答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM