所以我对SVG坐标系有点困惑。我正在做一个将SVG对象转换为多边形(然后在OpenGL中显示)的项目。我有所有的代码,这些代码取直线、圆圈、路径(用曲线近似)等,并将它们转换为每一个对象的一组点。到目前为止一切都很好。
我现在正处于实现转换的阶段。我已经编写了我所有的矩阵函数并准备就绪,但是我对平移(x,y)和任何以0,0为中心的操作(主要是旋转和缩放)之间的关系感到困惑。
假设我们在0,0有一个对象。rotate(45, 100, 100)
相当于translate(100, 100) rotate(45) translate(-100, -100)
,但是如果我将物体移动到100,100,并且旋转仍然在0,0,那不意味着旋转的中心实际上发生在-100,-100相对于物体的原始位置吗?
我想我的问题是translate
是如何影响物体的坐标系的?在某些情况下,它用于在不移动对象的情况下将0,0移动到指定的点,而在另一些情况下,则用于移动对象。
我对坐标系的理解是完全错误的吗?
https://stackoverflow.com/questions/11183888
复制