Science 版 (精华区)

发信人: qpcwth (独翅鸟), 信区: Science
标  题: 《分形艺术》26
发信站: 哈工大紫丁香 (2001年11月03日18:02:29 星期六), 站内信件

第三章 计算机上作图
3.4 计算机屏幕坐标
 
    自然界本身没有坐标,人类发明了坐标。
    坐标定义了一种参考系,在此参考系下,空间的对称性降低了,出现了上、下、左
、右之分,出现东、南、西、北之分,当然还有人们最熟悉的笛卡尔(R.Descartes,159
6-1650)坐标系下的四象限之分。
    有了坐标系,图形上的点就有了确定的位置。对于平面而言,确定平面上的一个点
需要两个参数,或者叫两个坐标,可以用(x,y)或者(ρ,θ)表示。
    从初中起,人们就熟悉了平面直角坐标,也叫平面笛卡尔坐标,实际上这是人们使
用最多的一种坐标。它的特点是:1)有两个坐标轴;2)坐标轴是相互垂直的。到了高中
,又学了立体几何和立体解析几何,知道了三维笛卡尔坐标,这时的坐标系是立体的,
坐标轴仍然是相互垂直的。
    然而,坐标系未必都是这种模样,高中还学了极坐标,大学还讲了柱坐标和球坐标
,实际上还有许多种可能的坐标。只要给出一种对应关系,就能定义一种坐标系,甚至
不必要求是一一对应。
    了解不同坐标系之间的变换关系,是计算机图形学的必备知识。
    几何学上我们可以轻松地谈论三维几何体、四维几何体以及N维几何体,但在计算机
中,至今人们只能在二维平面上做事情,所有图形不论是多少维的,都要投影到平面上
。至于怎样投影,就需要研究了。对于比二维多一维的三维对象,已有了一整套投影方
案,但对 于更高维的对象,还没有十分通用的投影办法。
    对于用PASCAL语言或者C语言作图而言,屏幕坐标采用平面直角坐标,但坐标原点不
在屏幕中心,而在屏幕左上角。由左上角向右为横轴正向,由左上角向下为纵轴正向。
这样规定主要是为了屏幕滚动方便,因为屏幕总是向上翻。
    如果用户不习惯这种坐标,也可以方便地转换成通常的直角坐标,即纵轴以向上为
正向,横轴不变。只需把纵坐标反射一下,即可相互转换。
    比如,假设计算出来的坐标值为(a,b),为了得到与通常坐标一样的显示结果(即纵
轴向上为坐标增加),则可以用(a,const-b)在屏幕上描点,其中const是一个常数,可以
取300,也可以取200,你可以任意给定一个常数,这要看显示器和显示卡的类型,以及
你本人想将此点大致描在屏幕的哪个位置上。

--
心事浩茫连广宇,于无声处听惊雷

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.229.154]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.007毫秒