固定计算机图形学中的旋转

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了固定计算机图形学中的旋转相关的知识,希望对你有一定的参考价值。

private void fixedRotate(int o,int i,double t,double x,double y)
    {
        translate(o, i, -x, -y);
        rotate(o, i, t);
        translate(o, i, x, y);
    }

private void rotate(int o,int i,double t)
    {
        double x1, y1;
        x1 = x[o, i];
        y1 = y[o, i];

        x[o, i] = x1 * Math.Cos(t) - y1 * Math.Sin(t);
        y[o, i] = x1 * Math.Sin(t) + y1 * Math.Cos(t);
    }

所以从translate()方法开始,这一点转到(0,0)点。然后完成旋转并再次转换该点。但是在rotate()方法中,x1和x2总是为0.所以x [o,i] y [o,i]都是0.我可以理解这段代码应该将点返回到同一个地方。但代码工作正常。请解释。提前致谢!

答案

好吧,我明白了。方法中的x和y fixedRotation()means多边形的中心。这意味着如果它是一个正方形,则正方形的中点将转换为中心点(0,0)

以上是关于固定计算机图形学中的旋转的主要内容,如果未能解决你的问题,请参考以下文章

图形学计算机图形学知识点提纲3

图形学中的噪声入门

计算机图形学中的经常使用模型

旋转矩阵

交互式计算机图形学中的 glu 函数和 mat.h 函数有啥区别?

计算机图形学中的种子填充算法c++程序实现