视点变换,旋转,加速减速,星空背景太阳,光晕各行星纹理#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
对光伏电池板的工作原理进行简要分析并给出了其等效电路,建立了光伏池板的数学模型,在matlab/simulink仿真环境下搭建新的光伏池板的仿真模型。
基于该新仿真模型模拟了不同太阳光照强度、不同环境温度下的电流-电压(I-V)、功率-电压(P-V)特性曲线。
仿真结果与理论上的I-V、P-V曲线完全吻合,证明了新仿真模型的合理性与实用性。
对于光伏电池板在现实中的应用具有重要实际意义并对利用恒压法实现光伏电池板的最大功率点跟踪提供理论依据。
2025/3/29 4:04:38 378KB 光伏电池
1
中文名:水晶石技法3DS.MAX_VRAY室内空间表现作者:水晶石数字教育学院编著出版社:人民邮电出版社书号:9787115177865发行时间:2008年5月1日地区:大陆语言:简体中文内容简介本书由水晶石数字教育学院编著,是由珍贵的水晶石内部培训资料整理而成的教材。
它凝聚着水晶石建筑外观渲染的技术精髓,饱含水晶石人的技巧经验。
本书主要介绍3dsMax和VRay室内空间表现的方法和技巧。
全书共分为7章,其中第1章和第4章分别对3dsMax和VRay灯光、材质、渲染方面的功能命令进行了系统的讲解:第2章和第3章介绍如何利用3dsMax默认渲染器进行室内空间表现。
第5章至第7章通过3个场景,介绍了VRav室内表现的方法和技巧。
本书适合想进入和正从事室内装饰设计与表现工作的初、中级读者阅读,也可供从业多年的业内人士参考阅读。
目录:第1章3dsMax灯光和材质1.13dsMax灯光常用参数设置1.1.13dsMax中标准灯光类型1.1.2灯光的属性分类1.23dsMax常用材质类型和贴图类型1.2.1什么是材质1.2.2材质编辑器及基本设置面板1.2.3常用材质类型1.2.4贴图类型1.3常用材质基本制作1.3.1金属材质1.3.2水的材质1.3.3布艺材质1.3.4皮革材质1.3.5瓷材质1.3.6玻璃材质1.4本章总结第2章3dsMax河南艺术中心2.1项目分析2.1.1项目背景分析2.1.2场景分析2.2确定布光思路2.3确定面画构图2.3.1创建摄影机2.3.2设定渲染尺寸2.4调节场景材质2.4.1混凝土墙面材质的制作2.4.2吵岩地面材质的制作2.4.3玻璃材质的制作2.4.4雕塑材质的制作2.4.5其他对象材质制作2.5场景灯光的设置2.5.1模拟主太阳光效果2.5.2天光的创建2.5.3模拟环境光效果2.5.4模拟人工光效果2.5.5模拟补光效果2.6最终渲染输出2.7后期Photoshop调整2.7.1渲染通道文件2.7.2后期Photoshop处理2.8本章总结第3章3dsMax酒吧第4章VRay基础知识第5章VRay卧室第6章VRay某校人文学院第7章VRay银行大堂
2025/3/2 13:30:38 85.61MB 3ds Max VRay
1
本设计基于STM32单片机,设计了太阳能电池板追日光跟踪系统,控制步进电机旋转跟踪太阳光,具有很高的灵敏度,另外有全套的课程资料。
2024/3/11 21:26:37 84.26MB 阳光追踪系统 stm32 光跟踪
1
针对光纤光导系统对于太阳跟踪精度、稳定度方面的双重严格要求,设计了光敏阵列太阳定位传感器,并结合太阳轨道解算,实现了太阳光聚焦点的精确定位,并利用塑料光纤进行了聚焦太阳光传输,获得了系统输出光功率谱密度分布曲线与相关光学定量数据。
其中,针对光纤光导系统的对焦过程,研制了高位置分辨率的光敏阵列传感器来感知聚焦光斑确切位置,能够解决初始安装位置误差问题,并通过对太阳轨迹的运行趋势进行预测,自傲控制流程中嵌入同步跟踪模式,实现了精确性与稳定性的兼容。
对光纤输出光谱进行的定量检测结果表明,光纤光导系统输出光功率谱密度与太阳光具有良好的相似度,其色品坐标、显色指数和主波长参数也与太阳光接近,可在特定场合
2023/10/29 12:16:07 693KB 太阳跟踪; 光纤; 聚焦; 传输
1
通过创建MFC项目,运用底层算法,使用C++编程语言,通过由人眼发送光线,对光线进行跟踪,分析物体的折射率,反射率,透射率,以及物体自身的颜色,并考虑环境光,太阳光等,将物体渲染出来
2023/7/27 6:49:40 24.15MB 光线跟踪
1
行使配备家养光源的光生物反映器(AL-PBR)培育微藻是实现微藻快捷增殖,进而满足相关产业需要的弥留本领。
为指点AL-PBR的修筑材质选型,美满了现有方式,比选了7种市售透明板材。
思考到微藻在不合入射光波段的光生态学,应综合阐发板材在光合实用辐射波段(400~700nm)、红光波段(630~700nm)、蓝光波段(430~480nm)以及中波紫内线波段(UV-B,280~320nm)的透光成果。
前三波段的平均透射率越高越好,UV-B波段反之。
测定下场评释:假如AL-PBR以太阳光作为内部光源,现阶段宜付与进口聚碳酸酯板以及普通玻璃板作为修筑材质,且前者更佳;
假如以单色LEDs灯或者荧光灯作为
2023/4/11 21:32:47 2.48MB 光谱学 透射率 光生物反 透明板材
1
仿真软件MATLAb搭出来的一个光伏电池并入微电网模型simulink搭建,是太阳能光伏发电系统(Solarpowersystem)的简称,是一种利用太阳电池半导体材料的光伏效应,将太阳光辐射能直接转换为电能的一种新型发电系统,有独立运转和并网运转两种方式。
2016/8/18 20:03:55 24KB matlab simulink 光伏电池 微电网
1
开发了地平坐标系-光敏定位混合式太阳跟踪及聚焦平台,在此基础上完成大直径PMMA塑料光纤聚焦能流6m距离传输试验,进行了连续9h的检测记录,获得光纤输出光功率谱密度分布数据,其色温绝对自然光低约600K,色度坐标、显示指数、主波长等与自然光接近,实验发现室外照度与光纤输出光色温存在线性关联,并进行函数拟合,针对光纤传输光损进行定量测量与计算,结果揭示光纤端面存在2dB幅度的耦合损失。
2016/5/19 5:35:11 704KB 太阳光; 光纤; 传输; 衰减
1
使用的主要技术有:1、大面积山脉渲染,使用Heightmap构造地形,7级LOD细节精度,地形无限重复循环。
2、清晰、自然的地表贴图。
3、读取.MD2、.MS3D格式的3D模型文件。
4、粒子系统,产生爆炸、炊烟等特效。
5、太阳光晕。
6、使用Blend模拟Brightness/contrast调节图象亮度。
操作控制可以在GameSetting菜单中设定:1.视频属性(VideoSetting)1).屏幕分辨率(Resolution)游戏率默认为800*600,在任务执行前可改变分辨率,但不会立即生效,只有在初始化任务时才改变分辨率。
2).屏幕亮度(Brigthness)在不同的硬件配置上,屏幕亮度往往表现出较大差异,通过该项可将亮度调节到最佳。
3).视野范围(VisibleDistance)调节地形绘制的距离。
对于配置较低的硬件,适当降低视野距离可提高帧速率,但由于远处地形网格较粗,对帧速率提高贡献并不大。
4).雾浓度(FogDensity)2.音频属性(AudioSetting)1).背景音乐(music)可以打开或关闭背景音乐,可以调节音量。
音乐播放audio/music/menu.mp3,如果你有自己喜爱的mp3音乐文件可以将它替换menu.mp3文件。
2).音效(sound)可以打开或关闭音效,可以调节音量。
游戏中的枪声与人物的发声具有3D效果。
3.键盘操作(KeyboardSetting)以下操作可以更改Up、Down、Left、Right设定移动操作。
Fire射击Jump跳跃Zoom放大远处景物Help弹出协助修改方法:用鼠标点击选项,然后输入新的按键。
另外,游戏保留了几个开发模式下的操作:PageUp提升视点高度PageDown降低视点高度(可以看到地形绘制区域)L线框模式F冻结所有敌人V隐身N敌人攻击力为零I隐藏房子O隐藏敌人P隐藏树木在游戏运行中,按Help项的按键获得协助。
4.鼠标操作鼠标的移动可改变视角,默认设定左键为射击,右键为放大。
2021/11/13 15:52:25 32.91MB c++
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡