在三维几何建模中,计算两点间的测地线距离是一个重要的任务,特别是在计算机图形学、地理信息系统和物理学等领域。
测地线是曲面上两点之间最短的路径,它相当于平面上两点间直线的自然推广。
在地球表面,我们通常所说的“大圆航线”就是地球表面两点之间的测地线。
这个资源提供了计算三维模型上测地线距离的多种实现方法,作者DanilKirsanov显然是在探讨这个问题并提供了解决方案。
以下是根据提供的文件名解析出的可能的算法和概念:1.**GeodesicAlgorithm**:-`geodesic_algorithm_exact.h`:这个文件可能包含了一个精确计算测地线的算法。
"Exact"可能指的是算法考虑了模型的精确几何信息,不进行近似计算。
-`geodesic_algorithm_dijkstra_alternative.h`:Dijkstra算法通常用于寻找图中最短路径,这里的"Alternative"可能表示这是Dijkstra算法的一种变体,专门用于计算三维模型上的测地线。
-`geodesic_algorithm_subdivision.h`:分形细分算法可能被用来细化模型以提高计算精度,或者是在细分的表面上进行测地线的追踪。
2.**MeshDataStructure**:-`geodesic_mesh.h`和`geodesic_mesh_elements.h`:这些文件可能定义了用于存储和操作三维模型的网格数据结构。
网格是由顶点、边和面组成的,这些元素有助于在曲面上定位和计算路径。
3.**API**:-`geodesic_matlab_api.cpp`:提供了与MATLAB交互的接口,这使得用户可以在MATLAB环境中利用这些算法,方便进行数值计算和可视化。
4.**Examples**:-`example1.cpp`和`example0.cpp`:这些是示例代码,用于演示如何使用上述算法。
它们可能包含了如何加载模型,初始化算法,以及如何查询和打印测地线距离的步骤。
5.**HeaderFiles**:-其他头文件如`geodesic_algorithm_exact_elements.h`等,可能包含了算法所需的具体数据结构和辅助函数定义。
通过这些文件,我们可以了解到作者可能实现了一套完整的工具集,用于处理从网格数据读取、测地线计算到结果输出的全过程。
这些工具对进行三维模型分析,尤其是在需要考虑曲面最短路径的问题时,具有很高的实用价值。
例如,在游戏开发中计算角色移动路径,或在虚拟现实应用中计算视角变换的距离等。
理解并运用这些算法,将有助于提升三维空间中的导航和路径规划的精确性。
2025/7/2 13:25:30 45KB 测地线距离 三维模型
1

这篇论文《A银行山西省分行人力资源信息化改革研究基于“互联网+”视角的分析》深入探讨了在信息化浪潮下,传统银行业如何通过改革人力资源管理,利用互联网技术实现转型与升级。
以下是对该主题的详细阐述:一、引言随着科技的飞速发展,“互联网+”已经渗透到各行各业,银行业也不例外。
本论文以A银行山西省分行为研究对象,分析其在人力资源信息化改革中的挑战和机遇,旨在为其他金融机构提供参考和借鉴。
二、背景分析在当前竞争激烈的金融环境中,银行需要提高效率、降低成本并提升服务质量。
人力资源作为银行业的重要组成部分,其信息化改革是实现这一目标的关键。
互联网技术的应用,如云计算、大数据和人工智能,为人力资源管理带来了革命性的变革。
三、人力资源信息化的必要性1. 提升决策效率:通过数据分析,银行可以更精准地评估员工绩效,制定合理的人力资源策略。
2. 优化流程:互联网技术可以简化招聘、培训、考核等流程,提高工作效率。
3. 增强员工体验:移动应用和自助服务平台让员工可以随时随地处理人事事务,提高满意度。
四、A银行山西省分行的具体实践A银行利用互联网工具,构建了集招聘、培训、绩效评估、薪酬福利等模块于一体的信息化平台。
通过这个平台,实现了人力资源数据的实时更新和分析,增强了决策的科学性。
五、改革中的挑战与对策1. 技术挑战:如何选择合适的技术方案,确保系统的稳定性和安全性。
2. 组织变革:如何引导员工接受新的工作方式,克服抵触情绪。
3. 数据隐私:如何在利用数据的同时,保障员工的隐私权益。
六、案例分析与启示通过对A银行山西省分行的案例分析,我们可以看到,成功的人力资源信息化改革需要有明确的战略规划、技术选型的谨慎以及全员参与的推动。
七、结论“互联网+”时代,人力资源信息化改革对于银行业来说,既是挑战也是机遇。
A银行山西省分行的经验表明,通过合理运用互联网技术,可以重塑人力资源管理,提高银行的核心竞争力。
八、未来展望随着5G、物联网等新技术的发展,人力资源信息化将更加智能化和个性化。
银行业需要不断探索,以适应日新月异的科技环境,持续优化人力资源管理,实现可持续发展。
这篇论文以详实的数据和实例,深入剖析了A银行山西省分行在人力资源信息化改革中的实践和思考,对于理解银行业在“互联网+”时代的转型路径具有重要价值。
2025/6/20 2:46:57 437KB
1

【列宁伯尔尼笔记研究】的文档主要探讨了列宁哲学思想的发展和转变,特别是通过对列宁在伯尔尼时期研究黑格尔哲学的笔记的分析。
列宁的哲学思想经历了从他性镜像阅读到自主性理论空间的转换,这一转变在列宁的不同时期呈现出不同的特征。
列宁的哲学思想发展并非一蹴而就,而是有一个长期的历史进程。
从19世纪末开始,列宁的思想经历了三个主要阶段。
第一阶段是1894年至1906年,这一阶段的列宁更关注于将马克思主义哲学应用于革命实践,而非进行理论学术的研究。
第二阶段是1906年至1913年,列宁开始系统学习和研究哲学理论,深化对唯物主义和认识论的理解。
第三阶段是1914年至1916年,列宁对黑格尔的辩证法和认识论进行了深入研究,这部分内容体现在“伯尔尼笔记”中。
对于“伯尔尼笔记”的研究,传统观点往往认为列宁计划撰写一部关于唯物辩证法的学术专著,这是一种目的论的解读。
然而,这种“计划构想论”可能并不准确。
作者指出,列宁的哲学研究并非有预设的线性计划,而是随着现实斗争和理论探索的深化而自然发展的。
在这一时期,列宁对马克思主义哲学,尤其是黑格尔辩证法的深入探究,体现了他哲学思想的自主性和革命性转变。
1914年至1916年的研究中,列宁对黑格尔辩证法的思考并非单纯为了撰写学术著作,而是为了更好地理解和应用马克思主义哲学于俄国革命的实际需求。
这一时期的哲学探索反映了列宁对马克思主义哲学核心——唯物辩证法的深入认识,揭示了其思想从依赖于他人的观点向独立理论构建的转变。
在列宁的早期,他对马克思主义哲学的了解并不全面且不深入,很大程度上依赖普列汉诺夫等人的引导。
直到1908年为了反驳马赫主义,列宁才开始系统学习哲学,但那时仍未充分认识到唯物辩证法的重要性。
直至“伯尔尼笔记”时期,列宁对这一关键理论有了深刻认识,标志着其哲学思想进入了一个新的高度。
列宁的哲学思想经历了从实践应用到理论研究的转变,从对他人的依赖到自我理论构建的自主性提升,尤其是在“伯尔尼笔记”中,列宁通过深入研究黑格尔哲学,为马克思主义哲学提供了新的视角和理论深度。
这一研究对于理解列宁的哲学发展路径及其对俄国革命的影响具有重要意义。
2025/6/19 23:26:18 33KB
1
该游戏玩法为玩家控制小球到达终点,包含小球移动,第三人称相机,死亡触发器,复活点更新触发器,场景关卡设计等项目源码内容。
均为C++实现,适合UE4新手学习。
2025/6/16 14:03:53 64B UE4源码项目 小游戏
1
简介:
【知识点】:1. 文化概念:文章讨论的“士文化”是指中国古代社会中,以“士”为代表的一类特殊群体所创造和发展起来的文化。
这些士人不以官职和财富衡量价值,重视修身养性,治国安邦,体现了中华民族的精神食粮和凝聚力量。
2. 士人的定义:“士”在中国古代属于介于大夫和庶民之间的阶层,主要是读书人,他们不参与政治权力,但追求学问和道德修养,致力于国家和社会的进步。
3. 士人的社会特征:士人崇尚风骨,重视操守,强调“贫贱不能移,富贵不能淫,威武不能屈”的大丈夫精神,以国为家,关心国家命运,具有“志在天下”的社会责任感。
4. 士文化的影响:士文化不仅影响个人的道德品质,还对家庭、国家的治理有深远影响。
士人提出的观念,如孔子的“民不患寡而患不均”,反映了对社会公平的追求,对后世产生了深远影响。
5. 士文化的持久性:尽管受到封建社会的打压和长期禁锢,士文化和其中以国为家的精神依然延续,成为了中华民族的“国魂”。
6. 士人在历史进程中的作用:士人在历史发展中起到了无可替代的作用,他们的存在和活动是解释中华民族数千年历史的重要因素。
7. 士文化与社会主义的关系:中国的社会主义之所以能够持续发展,部分原因在于士文化中的善良文化基因、理性智慧以及对国家的深厚感情。
8. 士文化的多样性:士文化并非单一的儒家文化,而是融合了诸子百家学说的“士文化”,具有博大精深的特点。
9. 现代“士”的范畴:现代的“士”包括教授、专家、学者、作家、记者等各行各业的知识分子,他们继承了传统士人的精神,虽然不一定参与政治,但仍然关注社会问题,通过著书立说等方式影响社会。
10. 社会影响:士人虽然可能被视为“书呆子”,但他们的客观视角和强烈的社会责任感,使他们具备较大的社会影响力,有时甚至可以起到“一言九鼎”、“一言兴邦”的作用。
这篇文章探讨了中国古代的“士”和“士文化”,阐述了其历史背景、社会地位、价值观和对国家社会的影响,以及在现代社会中的延续。
士文化是中国传统文化的重要组成部分,对个人修养和社会治理都起到了积极的推动作用。
2025/6/15 19:47:49 104KB
1
视点变换,旋转,加速减速,星空背景太阳,光晕各行星纹理#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
本人公司内部培训PPT,简要介绍项目管理五大过程、九大知识领域和从甲方视角如何做好信息系统项目管理。
每页的备注都有对该页内容的解说。
2025/6/4 18:28:32 2.9MB 信息系统 项目管理 甲方
1
本系统是在大二的时候编写的基于J2SE开发的校园导游系统,因为限于技术和知识的视角,编写不是很规范,但是基本实现了导游系统的功能,欢迎大家批评指正~
2025/5/22 18:15:21 13.67MB 校园导游系统,迪杰斯特拉算法
1
实例简介】autojs例子大全,一千六百多个脚本,简单的到复杂的例子,统统有,小白学完马上变大神,大神学了变超神。
脚本内容包含:几十种类型的UI脚本,抖音、QQ、微信、陌陌、支付宝等自动化操作的脚本、还有部分协议列表,HTTP协议(POST、GET)上传下载,接码模块,百度文字识别api模块,文件操作模块:txt文本读一行删一行,等等其他例子【实例截图】【核心代码】└─1688!运动点赞!.js(qq语音红包.js(协议)快阅读.js(可修改王者荣耀启动动画)视频播放器(1).js(实?).js(小瓜)九州行(720x1440)多账号游戏辅助.js-控件集合.js-控件集合2.js0(1).js0(2).js0.js00-仿真曲线滑动2.js00-关闭指定应用-通用版.js00-本地时间及网络时间验证改版.js00-正则匹配关闭应用-适用大部分手机(1).js00-正则匹配关闭应用-适用大部分手机.js00-简化点击控件.js00-结束事件与结束应用(1).js00-结束事件与结束应用.js00-读&删指定文本行.js00-读取txt文本每一行&去空格.js00-通知相册.js001-HelloJS.js002-if条件.js003-循环break.js004-循环for.js005-循环while.js0根据图色点击.js0计分器.js1(1).js1.js1024下载.js11.js111.js11111111111.js12.js1233.js1543275531466-mysl.js18禁小撸怡情,大撸伤身.js190620_计算器.js1gps码表.js1别踩白块.js1当前页面所有文字内容.js1怎样动态增加text标签.js1截图脚本.js1提取QQ收藏完整内容.js1改变字体颜色大小和内容.js1易码获取短信.js1查询本机IP地理位置.js1比1比4悬浮窗可限制显示行数.js1求交集.js1爬取bilibili视频弹幕.js1箭头函数和function的this对比.js1鸣人分身.js2.0示例脚本合集.js2.js2.离线文字转语音~发声器.js2018-05-16.js2018年刑侦科推理题.js2019-10-13蚂蚁森林.js2048全自动(1).js2048全自动.js2048游戏机(1).js2048游戏机(2).js2048游戏机(3).js2048游戏机(4).js2048游戏机.js2048游戏机UI版.js2048玲珑棋局.js2与y960对比颜色找顶点.js3d视角.js6.0start(1).js6.0start(2).js6.0start(3).js6.0start.js643个城市数组.js6(0.51).js8.0打开关闭网络usb共享.js9420-麦小兜(1).js99乘法表.jsa5main.jsactivity.jsAD790179-8D8A-4CC6-BF68-25D58C7FD745
2025/4/24 13:19:25 5.19MB autoJs auto.js
1
自动控制多学科视角(中文版),很好的一本书。
2025/4/14 7:27:51 33.97MB 自动控制
1
共 136 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡