Processing 在本例中,什么对象旋转(θ)旋转?

Processing 在本例中,什么对象旋转(θ)旋转?,processing,Processing,我对旋转和平移的用法感到困惑,更具体地说 // The earth rotates around the sun pushMatrix(); rotate(theta); translate(50,0); fill(50,200,255); ellipse(0,0,10,10); 什么是旋转(θ)旋转?旋转和平移的关系是什么 旋转和平移作用于当前坐标系 i、 e.绘图动作(rect()、ellipse()等)将应用于当前坐标系的范围内。旋转和平移将移动坐标系 在您提供的代

我对旋转和平移的用法感到困惑,更具体地说

// The earth rotates around the sun
  pushMatrix();
  rotate(theta);
  translate(50,0);
  fill(50,200,255);
  ellipse(0,0,10,10); 

什么是
旋转(θ)旋转?旋转和平移的关系是什么

旋转和平移作用于当前坐标系

i、 e.绘图动作(rect()、ellipse()等)将应用于当前坐标系的范围内。旋转和平移将移动坐标系

在您提供的代码块之前,当前点已转换到窗口的中心,以便绘制太阳

pushMatrix()保存该位置,然后相对于太阳中心,“一切”(坐标系)以θ旋转,“一切”通过(50,0)平移,有效地将“当前点”移动到正确位置,然后使用椭圆(0,0,10,10)绘制地球

注意:如果不是因为下一个代码块依赖于该平移来正确获得月球位置,那么您可能可以省略平移步骤并使用椭圆(50,0,10,10)来获得相同的视觉结果

)