视点变换,旋转,加速减速,星空背景太阳,光晕各行星纹理#include#include#include#include#include#include#include#pragmacomment(lib,"winmm.lib")#pragmacomment(lib,"wininet")//纹理图像结构typedefstruct{intimgWidth;//纹理宽度intimgHeight;//纹理高度unsignedcharbyteCount;//每个象素对应的字节数,3:24位图,4:带alpha通道的24位图unsignedchar*data;//纹理数据}TEXTUREIMAGE;//BMP文件头#pragmapack(2)typedefstruct{unsignedshortbfType;//文件类型unsignedlongbfSize;//文件大小unsignedshortbfReserved1;//保留位unsignedshortbfReserved2;//保留位unsignedlongbfOffBits;//数据偏移位置}BMPFILEHEADER;#pragmapack()//BMP信息头typedefstruct{unsignedlongbiSize;//此结构大小longbiWidth;//图像宽度longbiHeight;//图像高度unsignedshortbiPlanes;//调色板数量unsignedshortbiBitCount;//每个象素对应的位数,24:24位图,32:带alpha通道的24位图unsignedlongbiCompression;//压缩unsignedlongbiSizeImage;//图像大小longbiXPelsPerMeter;//横向分辨率longbiYPelsPerMeter;//纵向分辨率unsignedlongbiClrUsed;//颜色使用数unsignedlongbiClrImportant;//重要颜色数}BMPINFOHEADER;//定义窗口的标题、宽度、高度、全屏布尔变量#defineWIN_TITLE"模拟太阳系各星球的转动"constintWIN_WIDTH=800;constintWIN_HEIGHT=600;BOOLisFullScreen=FALSE;//初始不为全屏#defineDEG_TO_RAD0.017453floatangle=0.0;staticGLdoubleviewer[]={0,0,0,0,0};//初始化视角GLUquadricObj*quadric;//建立二次曲面对象GLfloatangle_Z;//星空旋转角度boolg_bOrbitOn=true;//控制转动暂停floatg_fSpeedmodifier=1.0f;//时间控制floatg_fElpasedTime;doubleg_dCurrentTime;doubleg_dLastTime;GLfloatLightAmbient[]={1.0f,1.0f,1.0f,0.0f};//环境光参数GLfloatLightDiffuse[]={1.0f,1.0f,1.0f,0.0f};//漫射光参数GLfloatLightPosition[]={0.0f,0.0f,0.0f,1.0f};//光源的位置//纹理图象TEXTUREIMAGEskyImg;TEXTUREIMAGEsunImg;TEXTUREIMAGErayImg;TEXTUREIMAGEmercuImg;TEXTUREIMAGEvenusImg;TEXTUREIMAGEearthImg;TEXTUREIMAGEmarsImg;TEXTUREIMAGEjupiterImg;TEXTUREIMAGEsaturnImg;TEXTUREIMAGEuranusImg;TEXTUREIMAGEneptuneImg;TEXTUREIMAGEmoonImg;GLuinttexture[12];//纹理数组//星球速度定义staticfloatfSunSpin=0.0f;//太阳自转速度staticfloatfMercuSpin=0.0f;//水星自转速度staticfloatfMercuOrbit=0.0f;//水星公转速度staticfloatfVenusSpin=0.0f;//金星自转速度staticfloatfVenusOrbit=0.0f;//金星公转速度staticfloatfEarthSpin=0.0f;//地球自转速度staticfloatfEarthOrbit=0.0f;//地球公转速度staticfloatfMarsSpin=0.0f;//火星自转速度staticfloatfMarsOrbit=0.0f;//火星公转速度staticfloatfJupiterSpin=0.0f;//木星自转速度staticfloatfJupiterOrbit=0.0f;//木星公转速度staticfloatfSaturnSpin=0.0f;//土星自转速度staticfloatfSaturnOrbit=0.0f;//土星公转速度staticfloatfUranusSpin=0.0f;//天王星自转速度staticfloatfUranusOrbit=0.0f;//天王星公转速度staticfloatfNeptuneSpin=0.0f;//海王星自转速度staticfloatfNeptuneOrbit=0.0f;//海王星公转速度staticfloatfMoonSpin=0.0f;//月亮自转速度staticfloatfMoonOrbit=0.0f;//月亮公转速度voidMakeTexture(TEXTUREIMAGEtextureImg,GLuint*texName)//转换为纹理{glPixelStorei(GL_UNPACK_ALIGNMENT,1);//对齐像素字节函数glGenTextures(1,texName);//第一个参数指定表明获取多少个连续的纹理标识符glBindTexture(GL_TEXTURE_2D,*texName);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_REPEAT);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,textureImg.imgWidth,textureImg.imgHeight,0,GL_RGB,GL_UNSIGNED_BYTE,textureImg.data);}//初始化OpenGLvoidInitGL(void){glClearColor(0.0f,0.0f,0.0f,0.5f);//设置黑色背景glClearDepth(2.0f);//设置深度缓存glEnable(GL_DEPTH_TEST);//启动深度测试glDepthFunc(GL_LEQUAL);//深度小或相等的时候渲染glShadeModel(GL_SMOOTH);//启动阴影平滑glEnable(GL_CULL_FACE);//开启剔除操作效果glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST);//使用质量最好的模式指定颜色和纹理坐标的插值质量glLightfv(GL_LIGHT1,GL_AMBIENT,LightAmbient);//设置环境光glLightfv(GL_LIGHT1,GL_DIFFUSE,LightDiffuse);//设置漫反射光glEnable(GL_LIGHTING);//打开光照glEnable(GL_LIGHT1);//打开光源1//载入纹理glEnable(GL_TEXTURE_2D);//开启2D纹理映射MakeTexture(skyImg,&texture;[0]);MakeTexture(sunImg,&texture;[1]);MakeTexture(rayImg,&texture;[2]);MakeTexture(mercuImg,&texture;[3]);MakeTexture(venusImg,&texture;[4]);MakeTexture(earthImg,&texture;[5]);MakeTexture(marsImg,&texture;[6]);MakeTexture(jupiterImg,&texture;[7]);MakeTexture(saturnImg,&texture;[8]);MakeTexture(uranusImg,&texture;[9]);MakeTexture(neptuneImg,&texture;[10]);MakeTexture(moonImg,&texture;[11]);quadric=gluNewQuadric();//建立一个曲面对象指针gluQuadricTexture(quadric,GLU_TRUE);//建立纹理坐标gluQuadricDrawStyle(quadric,GLU_FILL);//面填充}voidDisplay(void){glLoadIdentity();//设置观察点的位置和观察的方向gluLookAt(viewer[0],viewer[1],viewer[2],viewer[3],viewer[4],-5,0,1,0);//摄像机x,摄像机y,摄像机z,目标点x,目标点y,目标点z,摄像机顶朝向x,摄像机顶朝向y,摄像机顶朝向z//获得系统时间使太阳系有动态效果g_dCurrentTime=timeGetTime();g_fElpasedTime=(float)((g_dCurrentTime-g_dLastTime)*0.0005);g_dLastTime=g_dCurrentTime;glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);glMatrixMode(GL_MODELVIEW);//指定GL_MODELVIEW是下一个矩阵操作的目标glTranslatef(0.0f,0.0f,-5.0f);//将坐标系移入屏幕5.0fglRotatef(10,1.0f,0.0f,0.0f);//将坐标系绕x轴旋转10度glEnable(GL_LIGHT0);//打开光源0/**********************************绘制背景星空********************************************/glPushMatrix();//当前模型矩阵入栈glTranslatef(-10.0f,3.0f,0.0f);glRotatef(angle_Z,0.0f,0.0f,1.0f);glEnable(GL_TEXTURE_2D);glBindTexture(GL_TEXTURE_2D,texture[0]);//星空纹理glBegin(GL_QUADS);glNormal3f(0.0f,0.0f,1.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(-50.0f,-50.0f,-50.0f);glTexCoord2f(6.0f,0.0f);glVertex3f(50.0f,-50.0f,-50.0f);glTexCoord2f(6.0f,6.0f);glVertex3f(50.0f,50.0f,-50.0f);glTexCoord2f(0.0f,6.0f);glVertex3f(-50.0f,50.0f,-50.0f);glEnd();glBegin(GL_QUADS);glNormal3f(0.0f,0.0f,-1.0f);glTexCoord2f(6.0f,6.0f);glVertex3f(-50.0f,-50.0f,50.0f);glTexCoord2f(0.0f,6.0f);glVertex3f(50.0f,-50.0f,50.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(50.0f,50.0f,50.0f);glTexCoord2f(6.0f,0.0f);glVertex3f(-50.0f,50.0f,50.0f);glEnd();glBegin(GL_QUADS);glNormal3f(0.0f,1.0f,0.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(-50.0f,-50.0f,-50.0f);glTexCoord2f(6.0f,6.0f);glVertex3f(50.0f,-50.0f,50.0f);glTexCoord2f(6.0f,0.0f);glVertex3f(50.0f,-50.0f,-50.0f);glTexCoord2f(0.0f,6.0f);glVertex3f(-50.0f,-50.0f,50.0f);glEnd();glBegin(GL_QUADS);glNormal3f(0.0f,-1.0f,0.0f);glTexCoord2f(6.0f,6.0f);glVertex3f(-50.0f,50.0f,-50.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(50.0f,50.0f,50.0f);glTexCoord2f(0.0f,6.0f);glVertex3f(50.0f,50.0f,-50.0f);glTexCoord2f(6.0f,0.0f);glVertex3f(-50.0f,50.0f,50.0f);glEnd();glBegin(GL_QUADS);glNormal3f(1.0f,0.0f,0.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(-50.0f,-50.0f,-50.0f);glTexCoord2f(6.0f,6.0f);glVertex3f(-50.0f,50.0f,50.0f);glTexCoord2f(0.0f,6.0f);glVertex3f(-50.0f,-50.0f,50.0f);glTexCoord2f(6.0f,0.0f);glVertex3f(-50.0f,50.0f,-50.0f);glEnd();glBegin(GL_QUADS);glNormal3f(-1.0f,0.0f,0.0f);glTexCoord2f(6.0f,6.0f);glVertex3f(50.0f,-50.0f,-50.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(50.0f,50.0f,50.0f);glTexCoord2f(6.0f,0.0f);glVertex3f(50.0f,-50.0f,50.0f);glTexCoord2f(0.0f,6.0f);glVertex3f(50.0f,50.0f,-50.0f);glEnd();glPopMatrix();//当前模型矩阵出栈/**********************************绘制太阳************************************************/glBindTexture(GL_TEXTURE_2D,texture[2]);//光晕纹理glEnable(GL_BLEND);//开启混合glDisable(GL_DEPTH_TEST);//关闭深度测试//绘制太阳光晕glDisable(GL_LIGHTING);//关闭光照glBlendFunc(GL_SRC_ALPHA,GL_ONE);//半透明混合函数glColor4f(1.0f,0.5f,0.0f,0.5f);//设置RGBA值glBegin(GL_QUADS);glNormal3f(0.0f,0.0f,1.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(-1.0f,-1.0f,0.0f);glTexCoord2f(1.0f,0.0f);glVertex3f(1.0f,-1.0f,0.0f);glTexCoord2f(1.0f,1.0f);glVertex3f(1.0f,1.0f,0.0f);glTexCoord2f(0.0f,1.0f);glVertex3f(-1.0f,1.0f,0.0f);glEnd();glDisable(GL_BLEND);//关闭混合glEnable(GL_DEPTH_TEST);glEnable(GL_LIGHTING);//开启光照glLightfv(GL_LIGHT1,GL_POSITION,LightPosition);//设置光源1位置glBindTexture(GL_TEXTURE_2D,texture[1]);//太阳纹理//将坐标系绕Y轴旋转fSunSpin角度,控制太阳自转glRotatef(fSunSpin,0.0,1.0,0.0);gluSphere(quadric,0.3f,32,32);//绘制太阳球体/**********************************绘制水星************************************************/glDisable(GL_LIGHT0);glEnable(GL_TEXTURE_2D);//开启纹理glPushMatrix();//当前模型视图矩阵入栈//将坐标系绕Y轴旋转fMercuOrbit角度,控制水星公转glRotatef(fMercuOrbit,0.0f,1.0f,0.0f);glRotatef(-90.0f,1.0f,0.0f,0.0f);//将坐标系绕X轴旋转-90度glTranslatef(0.5f,0.0f,0.0f);//将坐标系右移0.5fglBindTexture(GL_TEXTURE_2D,texture[3]);//水星纹理//将坐标系绕Z轴旋转fMercuSpin角度控制水星自转glRotatef(fMercuSpin,0.0f,0.0f,1.0f);gluSphere(quadric,0.04f,32,32);//水星球体glPopMatrix();//当前模型视图矩阵出栈//绘制轨道glBegin(GL_LINE_LOOP);for(angle=0;angle=-6.0)viewer[0]-=0.5;break;case'u':case'U':if(viewer[1]=-6.0)viewer[1]-=0.1;break;case'+':case'='://加速,减速,暂停g_fSpeedmodifier+=1.0f;glutPostRedisplay();break;case'':g_bOrbitOn=!g_bOrbitOn;glutPostRedisplay();break;case'-'://按'-'减小运行速度g_fSpeedmodifier-=1.0f;glutPostRedisplay();break;caseVK_ESCAPE://按ESC键时退出exit(0);break;default:break;}}voidspecial_keys(ints_keys,intx,inty){switch(s_keys){caseGLUT_KEY_F1://按F1键时切换窗口/全屏模式if(isFullScreen){glutReshapeWindow(WIN_WIDTH,WIN_HEIGHT);glutPositionWindow(30,30);isFullScreen=FALSE;}else{glutFullScreen();isFullScreen=TRUE;}break;caseGLUT_KEY_RIGHT://视角上下左右旋转if(viewer[3]=-3.0)viewer[3]-=0.1;break;caseGLUT_KEY_UP:if(viewer[4]=-4.5)viewer[4]-=0.1;break;default:break;}}voidmouse(intbtn,intstate,intx,inty)//远近视角{if(btn==GLUT_RIGHT_BUTTON&&state==GLUT_DOWN)viewer[2]+=0.3;if(btn==GLUT_LEFT_BUTTON&&state==GLUT_DOWN&&viewer;[2]>=-3.9)viewer[2]-=0.3;}voidLoadBmp(char*filename,TEXTUREIMAGE*textureImg)//载入图片{inti,j;FILE*file;BMPFILEHEADERbmpFile;BMPINFOHEADERbmpInfo;intpixel_size;//初始化纹理数据textureImg->imgWidth=0;textureImg->imgHeight=0;if(textureImg->data!=NULL){delete[]textureImg->data;}//打开文件file=fopen(filename,"rb");if(file==NULL){return;}//获取文件头rewind(file);fread(&bmpFile;,sizeof(BMPFILEHEADER),1,file);fread(&bmpInfo;,sizeof(BMPINFOHEADER),1,file);//验证文件类型if(bmpFile.bfType!=0x4D42){return;}//获取图像色彩数pixel_size=bmpInfo.biBitCount>>3;//读取文件数据textureImg->data=newunsignedchar[bmpInfo.biWidth*bmpInfo.biHeight*pixel_size];for(i=0;idata+(i*bmpInfo.biWidth+j)*pixel_size+2,sizeof(unsignedchar),1,file);//绿色分量fread(textureImg->data+(i*bmpInfo.biWidth+j)*pixel_size+1,sizeof(unsignedchar),1,file);//蓝色分量fread(textureImg->data+(i*bmpInfo.biWidth+j)*pixel_size+0,sizeof(unsignedchar),1,file);//Alpha分量if(pixel_size==4){fread(textureImg->data+(i*bmpInfo.biWidth+j)*pixel_size+3,sizeof(unsignedchar),1,file);}}}//记录图像相关参数textureImg->imgWidth=bmpInfo.biWidth;textureImg->imgHeight=bmpInfo.biHeight;textureImg->byteCount=pixel_size;fclose(file);}//程序主函数voidmain(intargc,char**argv){//读图片LoadBmp("Picture//Sky.bmp",&skyImg;);LoadBmp("Picture//Sun.bmp",&sunImg;);LoadBmp("Picture//Ray.bmp",&rayImg;);LoadBmp("Picture//Mercu.bmp",&mercuImg;);LoadBmp("Picture//Venus.bmp",&venusImg;);//金星LoadBmp("Picture//Earth.bmp",&earthImg;);LoadBmp("Picture//Mars.bmp",&marsImg;);//火星LoadBmp("Picture//Jupiter.bmp",&jupiterImg;);//木星LoadBmp("Picture//Saturn.bmp",&saturnImg;);//土星LoadBmp("Picture//Uranus.bmp",&uranusImg;);//天王星LoadBmp("Picture//Neptune.bmp",&neptuneImg;);//海王星LoadBmp("Picture//Moon.bmp",&moonImg;);glutInit(&argc;,argv);//初始化GLUT库glutInitDisplayMode(GLUT_RGBA|GLUT_DOUBLE|GLUT_DEPTH);//初始化显示模式glutInitWindowSize(WIN_WIDTH,WIN_HEIGHT);//初始化窗口大小glutInitWindowPosition(20,20);//初始化窗口位置GLuintwindow=glutCreateWindow(WIN_TITLE);//建立窗口InitGL();//初始化OpenGLglutDisplayFunc(Display);glutReshapeFunc(Reshape);glutKeyboardFunc(keyboard);glutSpecialFunc(special_keys);glutMouseFunc(mouse);glutIdleFunc(Display);//设置窗口空闲时的处理函数glutMainLoop();//进入事件处理循环}
2025/6/8 20:47:10 3.53MB 三维动画 模拟太阳系
1
MATLABGUI设计学习手记(第二版)【罗华飞编著2011】电子书,以及原书配套的源程序。
=============================================编辑推荐一本广受好评的界面设计工具书!论坛答疑,包教包会,一书在手,毕业无忧。
随书附赠所有实例的程序源代码作者简介罗华飞,湖北黄冈1983年2月出生,2008年硕士毕业于哈尔滨工程大学通信与信息系统专业,现居重庆。
目前擅长MATLABGUI、WPF等界面设计,以及PIC单片机程序开发、数据库系统开发。
现在从事的是WPF软件设计工作,在四川航天电液控制有限公司从事电控产品配套软件开发工作.代表作有《MATLABGUI设计学习手记》第一版和第二版。
目录第1章GUI设计预备知识11.1知识点归纳11.1.1基本程序元素11.1.2数据类型71.1.3矩阵操作401.1.4程序设计491.2重难点讲解591.2.1矩阵、向量、标量与数组591.2.2数据类型转换611.3专题分析64专题1编程风格64专题2代码优化68专题3M文件编程小技巧72专题4正则表达式781.4精选答疑86问题1单元数组占用的内存空间如何计算86问题2如何生成指定格式的常矩阵、字符串87问题3如何生成随机矩阵90问题4如何查找或删除数据中满足条件的元素91问题5如何给数组元素排序94问题6如何从文本中查找数值96问题7如何验证邮箱名是否合法97问题8如何验证用户名或密码是否合法98问题9如何验证日期字符串是否有效99问题10如何验证身份证号是否符合指定的编码规则100问题11如何将最简多项式的字符串转换为系数向量102问题12如何抓取网页中的图片103第2章文件I/O1042.1知识点归纳1042.1.1高级文件I/O操作1042.1.2低级文件I/O操作1212.2重难点讲解1342.2.1二进制文件与文本文件1342.2.2sprintf与fprintf函数1352.2.3fscanf与textscan函数1362.2.4Excel文件操作1362.2.5图像数据的操作1362.2.6低级文件I/O操作1372.3专题分析137专题5MATLAB读写文本文件1372.4精选答疑147问题13如何提取Excel文件中的数据信息147问题14如何由图像生成字符矩阵150问题15如何循环播放WAV音乐,并可以倍速/慢速播放、暂停/继续播放和停止播放152问题16如何读取文本和数值混合的文件中的数据155问题17如何将十六进制数转换为float值155第3章二维绘图简介1573.1知识点归纳1573.1.1常用的二维绘图函数1573.1.2绘图工具1633.1.3绘图注释1663.2重难点讲解1743.2.1二维绘图的相关函数1743.2.2Tex字符1743.3精选答疑175问题18如何绘制几何曲线,例如矩形、圆、椭圆、双曲线等175问题19如何绘制数据的统计图176问题20如何绘制特殊的字符、表达式176问题21如何绘制网格图177问题22如何显示符号运算结果178第4章句柄图形系统1804.1知识点归纳1804.1.1句柄图形对象1814.1.2句柄图形对象的基本操作1824.1.3句柄图形对象的基本属性1924.1.4根对象1964.1.5图形窗口对象2004.1.6坐标轴对象2114.1.7核心图形对象2174.1.8uicontrol对象2384.1.9hggroup对象2434.1.10按钮组与面板2464.1.11自定义菜单与右键菜单2484.1.12工具栏与工具栏按钮2564.1.13uitable对象2644.2重难点分析2744.2.1句柄式图形对象的常用函数总结2744.2.2Figure对象的几个重要属性2754.2.3Axes对象的几个重要属性2764.2.4Line对象的几个重要属性2774.2.5text对象的几个重要属性2784.2.6uitable对象的几个重要属性278
2024/12/10 2:17:21 66.47MB MATLAB GUI 学习手记
1
集成好的C++矩阵运算库,与MATLAB中的矩阵操作具有极大的相似性,功能强大。
2023/12/15 22:52:28 4.57MB C++ 矩阵运算库
1
c#图形书中最经典的一本书当中包括饼图,条形图,绘图板制作等第1章GDI+——下一代图形接口1.1理解GDI+1.2探索GDI+的功能1.3从GDI的角度学习GDI+1.4.NET中的GDI+名称空间和类总结第2章第一个GDI+应用程序2.1绘制表面2.2坐标系统2.3指南——第一个GDI+应用程序2.4一些基本的GDI+对象总结第3章Graphics类3.1Graphics类的属性3.2Graphics类的方法3.3GDI+Painter应用程序3.4绘制饼图总结第4章使用画笔和钢笔4.1理解和使用画笔4.2在GDI+中使用钢笔4.3使用钢笔进行变形4.4使用画笔进行变形4.5系统钢笔和系统画笔4.6一个真实世界的例子——在GDI+Painter应用程序中添加颜色、钢笔和画笔总结第5章颜色、字体和文本5.1访问Graphics对象5.2使用颜色5.3使用字体5.4使用文本和字符串5.5渲染文本的质量和性能5.6高级版式5.7一个简单的文本编辑器5.8文本变形总结第6章矩形和区域6.1Rectangle结构体6.2Region类6.3区域和剪辑6.4剪辑区域示例6.5区域、非矩形窗体和控件总结第7章图像处理7.1光栅图像和矢量图像7.2使用图像7.3操作图像7.4在GDI+中播放动画7.5使用位图7.6使用图标7.7扭曲图像7.8绘制透明的图形对象7.9查看多个图像7.10使用图片框查看图像7.11使用不同的大小保存图像总结第8章高级图像处理8.1渲染位图的一部分8.2使用图元文件8.3使用颜色对象应用颜色映射8.4图像属性和ImageAttributes类8.5编码器参数与图像格式总结第9章高级二维图形9.1线帽和线条样式9.2理解并使用图形路径9.3图形容器9.4读取图像的元数据9.5混合9.6Alpha混合9.7其他高级二维主题总结第10章变形10.1坐标系统10.2变形的类型10.3Matrix类与变形10.4Graphics类与变形10.5全局变形、局部变形和复合变形10.6图像变形10.7颜色变形和颜色矩阵10.8图像处理中的矩阵操作10.9文本变形10.10变形顺序的重要性总结第11章打印11.1简要地回顾使用MicrosoftWindows进行打印的历史11.2打印过程概述11.3第一个打印应用程序11.4打印机的设置11.5PrintDocument和Print事件11.6打印文本11.7打印图形11.8打印对话框11.9自定义页面设置11.10打印多个页面11.11页边打印——注意事项11.12进入细节——自定义控制和打印控制器总结第12章开发GDI+Web应用程序12.1创建第一个ASP.NETWeb应用程序12.2第一个图形Web应用程序12.3绘制简单的图形12.4在Web上绘制图像12.5绘制曲线图12.6绘制饼图总结第13章GDI+的最佳实践及性能技术13.1理解渲染过程13.2双缓存和无抖动绘图13.3理解SetStyle方法13.4绘图过程的质量与性能总结第14章GDI互操作性14.1在受控环境中使用GDI14.2在受控代码中使用GDI的注意事项总结第15章其他GDI+示例15.1设计交互式GUI应用程序15.2绘制具有形状的窗体和Windows控件15.3为绘制的图像添加版权信息15.4从流或数据库读取及写入图像15.5创建自绘制的列表控件总结附录A.NET中的异常处理
2023/12/15 5:35:43 9.31MB c# GDI+ 图形
1
C++矩阵类实现罕用的矩阵操作。
譬如,矩阵加法,数乘,矩阵乘法,患上到子式等操作
2023/4/12 11:40:45 11KB 矩阵 C++ 计算
1
如果你是MATLAB的初学者,你应该从阅读矩阵操作开始。
最重要的是要学习如何输入矩阵,如何使用:(冒号)算子,以及如何调用函数。
在你掌握了基础之后,你应该阅读其他章节并运行实例。
MATLAB的中心是一种在你能充分开发它的功能之前必须学习的工具。
你能迅速学习MATLAB的基础并掌握它。
你将会得到的报答是高产量以及高创造性用计算机计算的能力,这将会改变你工作的方式。
导言-描述MATLAB系统的组成。
开发环境-介绍MATLAB的开发环境,包括有关工具和MATLAB桌面的信息。
矩阵操作-介绍如何用MATLAB生成矩阵以及用矩阵进行数学运算。
作图-介绍MATLAB的作图能力,包括有关作图数据,给图表加注释,以及图像的使用。
用MATLAB编程-描述如何用MATLAB语言编写手稿和函数,以及利用数据结构,例如单元数组和多元数组
2023/3/14 12:39:21 1008KB matlab 人工智能
1
实现了矩阵中的各种操作,包括矩阵相加,相减,矩阵乘法,矩阵转秩,余子式,求行列式的值,求矩阵特征值,LU分解,QR分解,求现行方程组的解等等。
是任何做科学计算工作者必备的类库。
此类库也是C++初学者极好的参考资料。
类库的实现运用了运算符重载,友元,异常处理,文件输入输出,函数重载,指针,动态分配内存等一系列C++技术。
此类库是我在美国研究生阶段的一个TermProject.质量保证。
2023/3/10 21:32:56 62KB C++ 矩阵运算
1
《GDI+图形程序设计》含详细目录,便于学习。
该书是为.NET开发人员介绍如何编写Windows和Web图形应用程序的指南用书。
通过大量详尽的实例,本书使有经验的程序员可以更深入地理解在.NETFramework类库中定义和整个GDI+API。
  本书从介绍GDI+Windows图形程序设计的基本知识开始,其核心是对一些实际问题的指导,包括如何使用WindowsForms及如何优化GDI+的功能。
本书通过一些例子来说明如何开发真实世界的工具,如GDI+Painter、GDI+Editro、ImageViewer和ImageAnimator等。
另外,作者还给出了大量使用C#语言编写的可重用示例代码,读者可从网上下载完整的C#和VisualBasic.NET源代码,并可通过这些源代码查看书中各图的彩色效果第1章GDI+——下一代图形接口1.1理解GDI+1.2探索GDI+的功能1.3从GDI的角度学习GDI+1.4.NET中的GDI+名称空间和类总结第2章第一个GDI+应用程序2.1绘制表面2.2坐标系统2.3指南——第一个GDI+应用程序2.4一些基本的GDI+对象总结第3章Graphics类3.1Graphics类的属性3.2Graphics类的方法3.3GDI+Painter应用程序3.4绘制饼图总结第4章使用画笔和钢笔4.1理解和使用画笔4.2在GDI+中使用钢笔4.3使用钢笔进行变形4.4使用画笔进行变形4.5系统钢笔和系统画笔4.6一个真实世界的例子——在GDI+Painter应用程序中添加颜色、钢笔和画笔总结第5章颜色、字体和文本5.1访问Graphics对象5.2使用颜色5.3使用字体5.4使用文本和字符串5.5渲染文本的质量和功能5.6高级版式5.7一个简单的文本编辑器5.8文本变形总结第6章矩形和区域6.1Rectangle结构体6.2Region类6.3区域和剪辑6.4剪辑区域示例6.5区域、非矩形窗体和控件总结第7章图像处理7.1光栅图像和矢量图像7.2使用图像7.3操作图像7.4在GDI+中播放动画7.5使用位图7.6使用图标7.7扭曲图像7.8绘制透明的图形对象7.9查看多个图像7.10使用图片框查看图像7.11使用不同的大小保存图像总结第8章高级图像处理8.1渲染位图的一部分8.2使用图元文件8.3使用颜色对象应用颜色映射8.4图像属性和ImageAttributes类8.5编码器参数与图像格式总结第9章高级二维图形9.1线帽和线条样式9.2理解并使用图形路径9.3图形容器9.4读取图像的元数据9.5混合9.6Alpha混合9.7其他高级二维主题总结第10章变形10.1坐标系统10.2变形的类型10.3Matrix类与变形10.4Graphics类与变形10.5全局变形、局部变形和复合变形10.6图像变形10.7颜色变形和颜色矩阵10.8图像处理中的矩阵操作10.9文本变形10.10变形顺序的重要性总结第11章打印11.1简要地回顾使用MicrosoftWindows进行打印的历史11.2打印过程概述11.3第一个打印应用程序11.4打印机的设置11.5PrintDocument和Print事件11.6打印文本11.7打印图形11.8打印对话框11.9自定义页面设置11.10打印多个页面11.11页边打印——注意事项11.12进入细节——自定义控制和打印控制器总结第12章开发GDI+Web应用程序12.1创建第一个ASP.NETWeb应用程序12.2第一个图形Web应用程序12.3绘制简单的图形12.4在Web上绘制图像12.5绘制曲线图12.6绘制饼图总结第13章GDI+的最佳实践及功能技术13.1理解渲染过程13.2双缓存和无抖动绘图13.3理解SetStyle方法13.4绘图过程的质量与功能总结第14章GDI互操作性14.1在受控环境中使用GDI14.2在受控代码中使用GDI的注意事项总结第15章其他GDI+示例15.1设计交互式GUI应用程序15.2绘制具有形状的窗体和Windows控件15.3为绘制的图像添加版权信息15.4从流或数据库读取及写入图像15.5创建自绘制的列表控件总结附录A.NE
2020/4/16 11:08:46 100.47MB 111
1
中科院IDL培训课程的源代码彩色使用:multisine.pro contourdata.pro矩阵操作:插值:图像处理:RemovingNoiseFromAnImageWithFFT;
信号处理:小波变换:创建GUI:程序方式:widget1.prowidget2.prowidget3.pro复合widget: widzoom.pro手工方式: idl55\examples\GUIbuilder\simple.prc,viewer.prc直接图形法与对象图形法:direct_graphic.proobjsurfex.pro对象图形法:simpleobject.pro firstobject.pro tireview.pro高级对象使用:mesh对象操作:体数据处理:打印对象:oprintex.pro对象图形输出:oimgoutex.pro对象移动旋转:orotex.pro图像对象:oimgobjex.pro光源设置:olightex.pro影像纹理:otextmapex.pro动画:ompegex.prodxf对象显示:idl54\lib\utilitiesxdxf.pro对象彩色:ocolpalex.proocolrgbex.proLiveTools:surfacestyleexample.pro自定义类并使用:circle_define.procircletest.pro数据库使用:dataminer_ex.pro
2022/9/5 18:15:51 84KB IDL
1
如果你是MATLAB的初学者,你应该从阅读矩阵操作开始。
最重要的是要学习如何输入矩阵,如何使用:(冒号)算子,以及如何调用函数。
在你掌握了基础之后,你应该阅读其他章节并运行实例。
MATLAB的中心是一种在你能充分开发它的功能之前必须学习的工具。
你能迅速学习MATLAB的基础并掌握它。
你将会得到的回报是高产量以及高创造性用计算机计算的能力,这将会改变你工作的方式。
2017/4/20 10:36:42 1.32MB MATLAB
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡