坐标系空间转换问题

  最近在学3D管线,从view到screen变换的时候,涉及到顶点坐标空间的转换,是极简单的问题,看下图:
 
  黑色屏幕上存在坐标系0(红色)和坐标系1(黄色),坐标系1空间有一点P(x1,y1),问这个屏幕像素点P在坐标系0下的坐标?
  肉眼就可以看出来答案:是(m+x1,n-y1)。
  难的是严谨的数学推理,一步“因为”一步“所以”的推导出结论。我大概是退化了,花了两个小时才想出来一种思路。

---------------------------------------
已知在坐标系1下,P点坐标(x1,y1),即:P点相对O1点向上偏移y1,向右偏移x1(记做条件1);
已知在坐标系0下,O1点坐标(m,n),即:O1点相对O0点向下偏移n,向右偏移m(记做条件2);
由条件1,,2得:P点相对O0点向下偏移(-y1)+n,向右偏移m+x1,故P点在坐标系0下为(m+x1,n-y1)。
-----------------------------------------

折腾了一上午,觉得我对坐标系的理解太浅,天天在用,翻转它,平移它,细细去想却不知道自己在干什么。点的坐标(x0,y0),本质应是相对于坐标原点的x正向偏x0和y正向偏y0,上面的推导就用的这层原理。

posted on 2013-04-03 20:02  weiweishuo  阅读(249)  评论(0编辑  收藏  举报

导航