计算机图形学学习
浪里白虎
计算机学院的一位小同学
展开
-
MFC——OpenGL编程
目标(1) 绘制三个立方体,位置如图所示。要求绘制出坐标系的3 个坐标轴。(2)三个立方体一起沿着坐标轴(x 或 y 或 z)旋转起来。说明:旋转可以通过设置时钟事件来实现,提供的程序里已经实现旋转的功能。打开菜单: 编辑-rotate about x等即可旋转,可以参考其实现。(3) 三个立方体分别沿 X 轴,Y 轴和 Z 轴旋转。预备知识1)MFC编程相关知识2)了解Ope...原创 2019-10-15 10:55:01 · 1156 阅读 · 1 评论 -
MFC——直线段截取的Cohen-Sutherland算法
实现目标:用一个左下角为(100,100),右上角为(800,400)的矩形做直线截取。有用户手动输入一个直线,将该直线在矩形内的部分截取,区域的部分消失。其中,用户绘制直线时,使用的是动态直线。预备知识:1)MFC编程相关知识2)了解Cohen-Sutherland算法3)了解橡皮线的绘制过程描述:1)在Ondraw函数中先画好矩形2)由左键按下,鼠标移动,左键松开,三个函数,实...原创 2019-10-15 10:44:02 · 2936 阅读 · 0 评论 -
MFC编程出现error LINLK2005错误
造成该错误的原因:重复定义全局变量但是我发现自己没有重复定义全局变量呀。经过仔细的检查我发现,是因为我在头文件中定义的全局变量在这个工程中有多次引用,才导致的问题。解决方法:使用预编译在头文件中加入:#pragma once //头文件主体 就可以了...原创 2019-09-16 14:38:18 · 270 阅读 · 0 评论 -
MFC直线段的绘制——数值微分法与改进Brensenham算法
MFC直线段的绘制要求:给定直线两端点P0(x0,y0)和P1(x1,y1),画出该直线。1)数值微分法分为两种情况:1.直线斜率绝对值大于0小于1.该情况下在光栅化过程中,只能绘制整数位置的像素点,因此需要对求出的xi+1,yi+1进行四舍五入,即加0.5再取整。与之对应的是斜率k的绝对值大于一的情况:与之对应的是斜率k的绝对值大于一的情况:特点:增量算法(每一步都是上一...原创 2019-09-24 11:15:13 · 1423 阅读 · 0 评论