#include <GL/glut.h>
#include <stdlib.h>
#include<math.h>
void init(void)
{glClearColor(0.0, 0.0, 0.0, 0.0);glShadeModel(GL_FLAT);
}
void draw_triangle(void)
{ //绘制一个三角形glBegin(GL_LINE_LOOP);glVertex2f(0.0, 25.0);glVertex2f(25.0, -25.0);glVertex2f(-25.0, -25.0);glEnd();//绘制直线y = 50 - xglBegin(GL_LINES);glVertex2f(-300, 350);glVertex2f(300, -250);glEnd();
}
void display(void)
{glClear(GL_COLOR_BUFFER_BIT);glLoadIdentity();//绘制坐标轴glColor3f(0.0, 0.0, 1.0);glBegin(GL_LINES);glVertex2f(-300, 0);glVertex2f(300, 0);glEnd();glBegin(GL_LINES);glVertex2f(0, 300);glVertex2f(0, -300);glEnd();//初始三角形glColor3f(1.0, 1.0, 1.0);draw_triangle();//关于y=50-x对称glEnable(GL_LINE_STIPPLE);glLineStipple(1, 0xF0F0);glLoadIdentity();glTranslatef(0.0, 50.0, 0.0);glRotatef(-45, 0.0, 0.0, 1.0);glScalef(1.0, -1.0, 1.0);glRotatef(45, 0.0, 0.0, 1.0);glTranslatef(0.0, -50.0, 0.0);glColor3f(0.5, 0.5, 1.0);draw_triangle();//绕顶点旋转30度glLineStipple(1, 0xF00F);glLoadIdentity();glTranslatef(0.0, 25.0, 0.0);glRotatef(30, 0.0, 0.0, 1.0);glTranslatef(0.0, -25.0, 0.0);glColor3f(0.5, 1.0, 1.0);draw_triangle();//绕顶点旋转-45度glLineStipple(1, 0x8888);glLoadIdentity();glTranslatef(0.0, 25.0, 0.0);glRotatef(-45, 0.0, 0.0, 1.0);glTranslatef(0.0, -25.0, 0.0);glColor3f(1.0, 0.5, 0.5);draw_triangle();glDisable(GL_LINE_STIPPLE);glFlush();
}
void reshape(int w, int h)
{glViewport(0, 0, (GLsizei)w, (GLsizei)h);glMatrixMode(GL_PROJECTION);glLoadIdentity();if (w <= h)gluOrtho2D(-100.0, 100.0, -100.0 * (GLfloat)h / (GLfloat)w, 100.0 * (GLfloat)h / (GLfloat)w);elsegluOrtho2D(-100.0 * (GLfloat)w / (GLfloat)h,100.0 * (GLfloat)w / (GLfloat)h, -100.0, 100.0);glMatrixMode(GL_MODELVIEW);
}
int main(int argc, char** argv)
{glutInit(&argc, argv);glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);glutInitWindowSize(500, 500);glutInitWindowPosition(100, 100);glutCreateWindow(argv[0]);init();glutDisplayFunc(display);glutReshapeFunc(reshape);glutMainLoop();return 0;
}

计算机图形学:二维基本几何变换——对称相关推荐

  1. 计算机图形学-二维图形-几何变换

    几何变化 一.概述 图形变换:是一种几何变换,在二维图形处理过程中,常常需要对平面图形的形状,尺寸,显示方向和显示位置进行修改,来达到改变图形的目的. 几何变换:是一种先行变换,对原来图形中的一点坐标 ...

  2. 计算机图形学中几何变换的定义,计算机图形学-第5章-几何变换课件

    <计算机图形学-第5章-几何变换课件>由会员分享,可在线阅读,更多相关<计算机图形学-第5章-几何变换课件(70页珍藏版)>请在人人文库网上搜索. 1.计算机图形学-第5章-几 ...

  3. 计算机图形学二维变换知识点,计算机图形学 二维变换及二维.ppt

    计算机图形学 二维变换及二维 第三章 二维变换及二维观察 本章主要内容 3.1二维图形的基本变换 3.2窗口视图变换 3.3复合变换 3.4二维图形裁剪 3.5本章小结 3.1 二维图形的基本变换 3 ...

  4. 计算机图形学二维图形基本变换实验原理,计算机图形学实验:二维图形变换.docx...

    计算机图形学实验:二维图形变换.docx (9页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 实验三 二维图形变换一.实验任务1. 通 ...

  5. 计算机图形学-二维图形变换 笔记总结与代码实战

    文章目录 1.向量基础知识 2.图形坐标系 3.二维图形变换原理 4.二维图形几何变换 5.窗口视区变换 基本二维几何变换代码 二维复合变换实战-五星红旗绘制 1.向量基础知识 为什么向量如此重要:在 ...

  6. 计算机图形学二维图形基本变换实验原理,江苏大学-计算机图形学第三次实验报告-二维图形变换...

    <江苏大学-计算机图形学第三次实验报告-二维图形变换>由会员分享,可在线阅读,更多相关<江苏大学-计算机图形学第三次实验报告-二维图形变换(13页珍藏版)>请在人人文库网上搜索 ...

  7. 用JavaScript玩转计算机图形学(二)基本光源

    上一篇介绍了简单的光线追踪,凑合了临时用的光源去渲染效果.这次将讲解三种基本光源,及一些背景理论.过分简化的教材和现成API(OpenGL/Direct3D等)可能会做成一些错误理解.在此,希望文章能 ...

  8. 计算机图形学——二维图形几何转换

    文章目录 一.实验目的 二.实验要求 三.实验步骤 1.打开直线扫面转换MFC项目工程,及其中的直线类CLine. 2.二维点类CP2添加齐次坐标 3.设计实现二维图像几何变换类 1.新建二维图形几何 ...

  9. 计算机图形学(四)几何变换_4_二维复合变换_4_二维刚体变换

    二维复合变换_4_二维刚体变换 如果一个变换矩阵仅包含平移和旋转参数 ,则它是一个刚体变换矩阵 (rigid-body transforma-tion matrix) .二维刚体变换矩阵的一般形式为 ...

  10. 计算机图形学--二维图形变换

    目录 概述 平移 对称 旋转 错切 缩放 概述 对于二维图形来讲,所有基本变换均可以通过确定图形的点的平移.对称.旋转.错切以及缩放几种变换组合得到,而在上述几种变换中,除对称变换外,其余变换均可通过 ...

最新文章

  1. Java Enumeration接口
  2. Uncaught TypeError: Cannot read property 'setAttribute' of null
  3. linux 内核修改rss,linux 内核参数 rss
  4. 开发RESTful WebService
  5. Head First设计模式读书笔记——策略模式
  6. Intel开发工具之VTune
  7. 大工18秋计算机应用基础1,大工18秋《计算机应用基础》在线测试1答案.pdf
  8. 自动化测试中依据元素实时截图,比较元素图片是否一致(selenium和appium通用)...
  9. Linux学习之十一、环境变量的功能
  10. JSP编程技术3-服务器时钟示例
  11. 《CCNA学习指南:数据中心(640-911)》——1.2 一般网络的构成
  12. 18个黑科技网站,你想要的软件都能找到,请收藏!!!
  13. 相分离和长链非编码RNA之间的故事Paraspeckles: Where Long Noncoding RNA Meets Phase Separation
  14. 十分钟弄懂最快的APP自动化工具uiautomator2(入门到精通)
  15. FFmpeg —— 为视频添加文字水印(完美解决中文乱码,无需编译)
  16. IT公司聘用应届生的标准是什么?到底看中应届生的什么?
  17. Android 分享到LINE
  18. 掌握Haproxy原理并搭建
  19. U盘里的文件怎么会不见了
  20. curl 增加header_Curl发送header头信息

热门文章

  1. k8s ceph rbd动态挂载
  2. javascript 数组对象 方法
  3. 按键精灵下载文华财经数据 一键下载
  4. Mac安装brew的四种方法(指定能行)
  5. 四六级分数竟是这样算出来的!交白卷都不会得零分 (转)
  6. idea 去掉author波浪线
  7. 最短剩余时间调度算法_LRTF:最长剩余时间优先调度算法
  8. uniapp 本地缓存剩余时间
  9. 荷兰量子生态联盟投资110万欧元开发超导量子处理器
  10. 化繁为简,远光天擎助你一键云部署