gluOrtho2D的作用

计算机图形学(第四版)P32页对gluOrtho2D(x1,x2,y,1y2)的描述如下:
         区域的x坐标值从x1到x2,y坐标值从y1到y2,只要是在该矩阵内定义的对象,都会出现在显示窗口中。任何坐标范围外的内容都不会显示出来。
其实就是在说:若不调用gluOrtho2D(),窗口会显示-1<x<1,-1<y<1这个区域。如果调用gluOrtho2D(x1,x2,y,1y2),则窗口会显示x1<x<x2,y1<y<y2这个区域。
例如:
不调用gluOrtho2D这个函数,画一条在-1<x<1,-1<y<1这个区域内的线:

	glBegin(GL_LINES);
		glVertex2i(-1, -1);
		glVertex2i(1, 1);
	glEnd();

在这里插入图片描述
可以很正常的显示,但如果调用书中

	glBegin(GL_LINES);
		glVertex2i(180, 15);
		glVertex2i(10, 145);
	glEnd();

这样的一条直线显然在-1<x<1,-1<y<1全部为空。
在这里插入图片描述

故需要调用gluOrtho2D来改变窗口显示的坐标,使得其涵盖这条线即可:

	gluOrtho2D(0.0, 200, 0.0, 150.0);

在这里插入图片描述
即可正常显示,当然只想显示部分细节也是可以的,如:

	gluOrtho2D(100, 200, 0.0, 150.0);

在这里插入图片描述

还有一点需要注意的是,由于窗口的size固定后,不同的 gluOrtho2D导致横纵坐标密度不同,会在窗口显示中影响直线看起来的斜率。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值