没有合适的资源?快使用搜索试试~ 我知道了~
图形学实验报告-PB16050567陈炜1
需积分: 0 0 下载量 101 浏览量
2022-08-04
14:13:32
上传
评论
收藏 2.11MB PDF 举报
温馨提示
试读
18页
1、平移: 2、缩放: 3、旋转: 1、实验文档分析: 2、光源设置: 3、数据读取与存储: 4、模型绘制: 1、纹理坐标的中心并不一定对准纹理元素的中心,我们
资源详情
资源评论
资源推荐
图像绘制:
实验结果截图:
int p;
p = 1 - r;
Paint(x, y);
while (x < y)
{
x++;
if (p >= 0)
{
y--;
p += 2 * x - 2 * y + 1;
}
else
{
p += 2 * x + 1;
}
Paint(x, y);
}
void Paint(int x,int y)
{
glBegin(GL_POINTS);
glVertex2d(x, y);
glVertex2d(-x, y);
glVertex2d(x, -y);
glVertex2d(-x, -y);
glVertex2d(y, x);
glVertex2d(-y, x);
glVertex2d(y, -x);
glVertex2d(-y, -x);
glEnd();
glFlush();
}
与旋 转类似的,在 OpenGL 中,只需要在绘图之前使用 glscale()函数,将类似的矩阵压到 OpenGL 当前的矩阵堆栈
中,也就相当于乘上了这个矩阵。
3、旋转:
与二维旋转类似,三维旋转可以分为以下几个步骤(假定用户提供的是旋转轴所在直线上的的两个点的坐标):
①将图形在 xy 平面上平移,直到旋转轴穿过坐标原点,矩阵:
②将直线旋转到 z 轴,此过程可分为两步:
(1)绕 x 轴旋转,
(2)绕 y 轴旋转:
③将图形绕 z 轴旋转
④做②的逆运算
⑤做①的逆运算
在 OpenGL 中,提供了绕任意向量旋转的函数 glrotate(),可以完成绕经过原点的任意 向量的任意角度的旋转,也就是
生成②到④运算的复合 矩阵并压入矩阵栈中。 我们在实际应用中只需要把旋转轴移动到原点,然后调用 glrotate()函
数,然后做移动的逆运算即可。
实验结果:
剩余17页未读,继续阅读
虚伪的小白
- 粉丝: 24
- 资源: 321
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 2023-04-06-项目笔记 - 第一百五十四阶段 - 4.4.2.152全局变量的作用域-152 -2024.06.04
- 松哥解协议松哥解协议松哥解协议松哥解协议松哥解协议
- 618节日618节日618节日
- tensorflow-gpu-2.9.1-cp37-cp37m-win-amd64.whl
- tensorflow-gpu-2.9.0-cp37-cp37m-win-amd64.whl
- tensorflow-gpu-2.9.0-cp39-cp39-win-amd64.whl
- lcd daimalcd daima
- 电影领域-推荐算法-个性化内容-观影决策-电影推荐小程序.zip
- 电气控制PLC考试题库
- 如何使用MATLAB简介
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0