计算机图形学
opengl实现
诶你爱我吗
不努力学习会变成猪哦
展开
-
计算机图形学(六)——MFC实现鼠标橡皮筋技术画圆
鼠标橡皮筋技术画圆就是采用圆心和圆周上任一点画圆技术(简称C+P方法),首先用鼠标左击选择圆心位置,然后移动鼠标,圆随鼠标移动而扩大或缩小,当再次单击鼠标左键时,确定圆周上的一点,从而画出相应的圆。直线、矩形等基本图形都可以采用橡皮筋技术。效果图如下:代码步骤1.建立MFC工程文件;2.向视图类中添加自定义的成员变量用鼠标右键单击视图类,选择“Add Member Variable…”...原创 2019-12-27 15:48:16 · 3847 阅读 · 6 评论 -
计算机图形学(五)——opengl实现MFC界面下的三维球体的绘制
先上效果图通过坐标的控件可以控制球体的移动,可以设置是否有光照及实体图,还可控制球的大小和球面级数1.球体的绘制void Cm03qiuView::DrawGeometry(){ //在此处画球体 GLfloat r = (GLfloat)m_nRadius; GLfloat vdata[6][3] = { //初始点坐标 {r,0.0,0.0},{-r,0.0,0.0},...原创 2019-12-27 15:37:26 · 4586 阅读 · 1 评论 -
计算机图形学(四)——opengl实现双三次Bizer曲面的绘制
1.实验目的与要求:掌握图形综合展示效果,包括图形的三维创建,空间旋转,平移,简单纹理映射与光照。2.实验内容:实现图形的综合展示效果1、绘制双三次Bezier表面模型,并给出纹理映射2、完成给定图形展示要求的相关代码。图形几何元素的放大功能,即图形可以利用控件进行缩放操作。图形表面生成若干点,根据所展示的图形,采用三角形或者四边形片组成图形,点数可通过控件进行动态调整。图形形...原创 2019-12-27 15:24:03 · 6915 阅读 · 4 评论 -
计算机图形学(三)——opengl实现动态钻石图的绘制
钻石图的实验原理:双缓冲技术:双缓冲是一种基本的动画技术,主要用于解决单缓冲擦除图像时带来的屏幕闪烁问题。所谓双缓冲,是指一个屏幕设备上下文(屏幕缓冲区)和一个内存设备上下文(内存缓冲区)。内存缓冲区用于准备图形,屏幕缓冲区用于显示图形。图形绘制到内存缓冲区,而非直接绘制到屏幕缓冲区。每帧动画只执行图形从内存缓冲区到屏幕缓冲区的拷贝操作,屏幕缓冲区只是内存缓冲区的一个映像。双缓冲机制中根本不...原创 2019-12-27 15:15:06 · 2314 阅读 · 0 评论 -
计算机图形学(二)——opengl实现五角星变换
五角星的画法:首先,根据余弦定理列方程,计算五角星的中心到顶点的距离 a(假设五角星对应正五边形的边长为.0)a = 1 / (2-2cos(72Pi/180));然后,根据正弦和余弦的定义,计算 B 的 x坐标 bx和 y 坐标 by,以及 C 的y 坐标(假设五角星的中心在坐标原点)bx = a * cos(18 * Pi/180);by = a * sin(18 * Pi/180)...原创 2019-12-27 15:07:47 · 1958 阅读 · 0 评论 -
计算机图形学(一)——opengl实现三维立方体添加纹理光照与材质、键盘鼠标控制平移旋转和放大缩小
1.实验要求:用OpenGL和C语言编写一个带纹理和材质的一个立方体的交互式程序。1)要求生成一个在立方体,并在立方体的六个面上并分别实现不同的纹理映射和材质。纹理的类型为BMP图片纹理,材质类型可以自己设计。例如,三个面上实现纹理映射的头像和生活照,另外三个面上实现材质(金属、塑料等)。2)可以利用鼠标和键盘进行交互,实现该立方体的旋转、平移和缩放。2.实验效果图如下:正常情况下加...原创 2019-12-27 12:57:50 · 8348 阅读 · 18 评论