Silverlight计算机图形学概念理解-笛卡尔坐标系

现在面试Silverlight的时候,很多都提到了计算机图形学,我当时一点都不会,虽然面试通过,但是还是想去接触一下计算机图形学。
而计算机图形学是一个很复杂的东西,涉及到高等数学的所有知识:微积分,线性代数,立体几何,概率,而且还涉及到物理方面的一些知识。所以比较复杂,其实我们没必要搞的很复杂,但是稍微理解一下,比如:矢量,颜色,光线等,然后把关于坐标计算的那一块学好就可以了。

所谓笛卡尔坐标系 就是正交线性坐标系 他是一个数学概念, 并没有规定如何去画.

就传统教学而言, 二维笛卡尔坐标系往往被绘制成y向上,x向右, 两轴成直角. 这源自古老的建筑学以及三角测绘法。建筑的高度应该是从地面向上算的。你可以想象若是y从房顶向下(于是坐标系随着房高浮动),或者从地面向下(于是地窖坐标是正数,而主体会是负数)会是多么不自然。
但这并不是必须的。俯视图如何定向都没有关系;事实上,连轴是不是叫做x, y都没有规定, 又谈何xy的正反向呢?         
当我们看看初等物理时,就会发现我们需要先指定参考系;又常常在笛卡尔坐标系下绘制 电压-时间,        路程-加速度 图像.       
在空间几何中, 你就会看到任意方向绘制的3维笛卡尔坐标系. 其中x,y, z任意两轴可以任意指定方向,不过一般满足Z的方向为 X <B>x </B>Y <B>[注2]</B>        .当然这是为了叉乘运算的方便.

至于计算机为什么采用y向下的坐标系呢? 这同样是有传统的: CRT显示器的扫描方式是从上到下按行扫描<B>[注3]</B>, 第一行在最上面, 往下依次数.        同样,为了便于显示,显卡中的渲染缓存也是这样布置画面的,大部分位图格式譬如bmp, jpg亦如此。他的另一个好处是: 与我们的阅读习惯相同。我们知道,早期的电脑主要用于处理文本, 而文本无论在显示器上还是在存储器内, 都是从上到下逐行排布的。你同样可以想象,上面这几处若是把y轴反过来朝上会造成多大麻烦,所以图形学传统上采用这种y轴向下的坐标系              

事实上只要你从头到尾都使用这个坐标系, 他没什么不合适的. 去除你心中根深蒂固的老坐标系把( 事实上本身就不存在... )               
, Silverlight的所有概念都是以y向下的坐标系为基础的. 它和Math对象配合非常完美
当然, y轴向上还是向下是有区别的, 它意味着x运算(或者说潜在的z轴)反向了,于是所谓顺时针和逆时针的意义变得不同:你用计算平面正反向, 或者进行矢量运算判断上下的时候要注意这一点.
posted @ 2009-09-24 18:33  书奎  阅读(948)  评论(0编辑  收藏  举报