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