计算机图形学
文章平均质量分 78
Calm微笑
若不是终点,请微笑向前!
展开
-
计算机图形学-连续曲线绘制(可改变形状)
连续曲线绘制,并且可通过鼠标移动点,来改变曲线的形状#include#include#include#include#includeusing namespace std;struct Point{ int x, y;};struct Point1{ int index; int dis;};bool cmp(Point1 a, Point1 b){ ret原创 2017-10-28 14:29:17 · 2741 阅读 · 0 评论 -
计算机图形学-纹理映射
先放个图利用MFC框架实现纹理映射纹理映射主要包括纹理定义、纹理控制、纹理映射方式、纹理坐标和纹理对象等1 首先创建位图类class CBMPLoader{public: CBMPLoader(); ~CBMPLoader(); bool LoadBitmap(char *filename); //装载一个bmp文件 void FreeImage(原创 2018-02-03 21:46:02 · 3476 阅读 · 1 评论 -
计算机图形学-光照纹理模型
话不多说,看图和代码注释#include #define GLUT_DISABLE_ATEXIT_HACK#include GLfloat *currentCoeff;GLenum currentPlane;GLint currentGenMode;float roangles = 45.0;#define stripeImageWidth 32GLubyt原创 2018-01-01 15:24:36 · 1999 阅读 · 2 评论 -
计算机图形学-旋转的茶壶
12月31号,跨年的晚上,实在太无聊了,还是敲会代码吧!可以利用鼠标移动旋转,也可以利用键盘x y z键实现旋转。下面是效果图。代码如下。#include #define GLUT_DISABLE_ATEXIT_HACK#include float theta[] = { 0, 0, 0, 0 };int axis = 3;float step = 2.0;in原创 2017-12-31 20:12:21 · 5913 阅读 · 0 评论 -
MFC对话框操作
一、新建对话框二、修改ID,可以不修改,但便于自己记忆,建议修改对于这个对话框,新建一个类 下面就可以为这个对话框添加一些组件了,比如按钮,编辑框。这里使用到工具箱。(1)添加Radio Button,点击拖动到你想要放的地方对每个Button,选择 属性/Caption,修改名字再拖入一个Edit Control(编辑框),用于输原创 2017-12-16 19:55:46 · 1276 阅读 · 0 评论 -
MFC界面分屏操作
进一步美化页面啦在MFC 框架中,为我们提供了一个csplitterwnd 类——拆分窗口类,提供分离窗口的功能。在框架类 CMainFrame中,我们要添加一个csplitterwnd 类型的成员变量,我们要重写框架类 CMainFrame 中的OnCreateClient 事件下面就该添加代码了OOL CMainFrame::OnCr原创 2017-12-16 19:58:59 · 2987 阅读 · 0 评论 -
MFC对话框编程之控件删除
有添加就会有删除,直接将控件从设计界面delete????肯定是不行的这里以删除编辑框为例一、对按钮右键,选择类向导,并找到按钮对应的处理函数,点击事件函数后,点击右边的删除处理程序 二、转到成员变量选项卡,事件对应的变量,点击删除变量三、类向导删除工作完成后,回到程序,你会发现相关部分都会被注释掉四、通过以上步骤,基原创 2017-12-16 19:56:57 · 2697 阅读 · 0 评论 -
计算机图形学-MFC之菜单设置
一、打开资源视图/Menu/IDR_StudyTYPE二、输入想要加入的菜单名称三、加入事件处理程序 我们可以在View.cpp里面设置一个变量Case来标记绘图,这样在OnRandowLine()函数里面,加入一句话Case = 1,然后在DrawPicture()函数里面加个判断,if(Case == 1)就执行那段绘图代码,同时还要调用OnDraw()原创 2017-12-16 19:54:34 · 1056 阅读 · 0 评论 -
计算机图形学-MFC图形界面优化
首先修改ChildFrm即子窗口一、擦除背景在View类添加函数OnEraseBkgnd()我们设置每次都默认擦除背景。bool CStudy01View::OnEraseBkgnd(){ return true; // return CView::OnEraseBkgnd(pDC);}二、去掉界面的放缩即关闭按钮在ChildFr原创 2017-12-16 19:53:37 · 1124 阅读 · 0 评论 -
计算机图形学-在VS2013下利用MFC实现OpenGL
一直想系统的学习MFC,感觉网上的关于这方面的好杂好乱,好多都看不懂(可能由于太菜233.)看了几位大神的博客,终于明白了点,记录一下自己的学习过程吧一、新建项目 二、选择多文档,MFC标准,点击完成 三、运行结果四、导入必要的文件1. 在里面加入一些常用的头文件#include #include #i原创 2017-12-16 19:51:49 · 1358 阅读 · 0 评论 -
计算机图形学-直线的生成算法
DDL算法与Bresenham算法#include#include//void LineDDA(int x0, int y0, int x1, int y1)//{// int x, dy, dx, y;// float m;// dx = x1 - x0;// dy = y1 - y0;// m = dy/dx;// y = y0;// glColor3f(1.0f,原创 2017-09-27 21:08:05 · 6350 阅读 · 1 评论 -
计算机图形学-光照模型
#include#includevoid init(void){ GLfloat mat_specular[]={1.0,1.0,1.0,1.0}; GLfloat mat_shininess[]={50.0}; GLfloat light_position[]={1.0,1.0,1.0,0.0}; GLfloat white_light[]={1.0,1.0,1.0,1.0};原创 2017-11-09 15:56:59 · 1861 阅读 · 1 评论 -
计算机图形学-直线裁剪(Cohen-Sutherland编码裁剪算法)
键盘输入c裁剪,输入r恢复#include#include#include#define LEFT_EDGE 1#define RIGHT_EDGE 2#define BOTTOM_EDGE 4#define TOP_EDGE 8void LineGL(int x0, int y0, int x1, int y1){ glBegin(GL_LINES); glColor3原创 2017-10-28 14:35:10 · 9555 阅读 · 0 评论 -
计算机图形学-三次Bezier曲线的绘制
#include #include #include #include using namespace std;struct Point { int x, y;};Point pt[4], bz[11];vector vpt;bool bDraw;int nInput;void CalcBZPoints(){ float a0, a1, a2原创 2017-10-19 15:40:27 · 9916 阅读 · 2 评论 -
计算机图形学-旋转四棱锥
功能:点击鼠标左键加速旋转,点击鼠标右键减速旋转,点击中间滑轮,退出#include #include GLfloat rtri;//金字塔旋转角度float add = 0.1f;void init(void){ glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glShadeModel(GL_SMOOTH);//设为smooth处理方式,注意看区原创 2017-10-20 17:52:50 · 1957 阅读 · 0 评论 -
计算机图形学-旋转彩色正方体
功能:1:鼠标可拖拉正方体做任意旋转2:键盘输入x ,X,y,Y,z,Z可使正方体绕指定方向旋转#include #include const float vertex[] = {-1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,1.0,-1.0,-1.0,1.0,-1.0, -1.0,-1.0,1.0,1.0,-1.0,原创 2017-10-20 17:39:17 · 4927 阅读 · 2 评论 -
Lisp编程-----绘制五角星
通过Lisp语言编写在AutoCAD上绘制五角星的程序(defun C:hzwjx(/ ss cc pc r r0 r1 r2 r3 r4 t0 tt p0 p1 p2 p3 p4) ;定义函数名称、哑元和局部变量 (setq ss (getvar "osmode")) ;保存系统变量"osmode"的值 (setq cc (getvar "CECOLOR"))...原创 2018-04-06 18:07:09 · 2381 阅读 · 0 评论