为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
九州编程 2022-01-09 14:38:41
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。据我所知,这段代码应该将点返回到同一个地方。但是代码运行良好。请解释。提前致谢!
查看完整描述

1 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

好吧,我想通了。方法中的 x 和 yfixedRotation()表示多边形的中心。这意味着如果它是一个正方形,则正方形的中点被转换为 center(0,0) 点


查看完整回答
反对 回复 2022-01-09
  • 1 回答
  • 0 关注
  • 408 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信