RSA、DES混合加密解决方案、数字签名,该文件包含远吗和可直接使用的jar。
功能包扩0、程序自动生成公私钥。
1、客户端公钥加密2、服务端私钥解密数据获取内容3、服务端私钥加密数据4、客户端公钥解密5、私钥签名过程6、公钥校验签名
2025/7/1 8:14:17 42KB DES RSA混合加密 数字签名
1
Monaco与微软雅黑的混合,亲测在windows上配合mactype可以解决win字体拖影,纤细的问题.个人认为是idea上的最舒服的配合
2025/6/24 10:33:16 14.14MB windows字体
1
大眼仔旭给大家分享一款轻量级的图像处理工具。
HornilStylePixPro中文注册版是一个拥有许多先进功能的图形编辑程序。
Stylepix是“样式图片”缩写,这意味着你的图片具有一个良好的风格。
HornilStylePixPro中文版图像处理工具直观的用户界面可以减少您的时间工作,为了编辑图片更好更快!HornilStylePixPro1.14中文注册版HornilStylePixPro中文版-简介HornilStylePixPro是一个拥有许多先进功能的图形编辑程序。
Stylepix是“样式图片”缩写,这意味着你的图片具有一个良好的风格。
HornilStylePix具有一个直观的用户界面,它是为了让控制选择功能更加简单、方便而设计的,即使你没有经验,你也一样可以学会如何编辑图片和对你的照片进行润色。
总之,HornilStylePix直观的用户界面可以减少您的时间工作,为了编辑图片更好更快!HornilStylePix–功能介绍1.节省时间与直观的用户界面HornilStylePix具有直观的用户界面。
它的目的是调整所选功能简单,方便。
即使你没有经验,你可以轻松地学习如何编辑图像和修饰您的照片。
因此,HornilStylePix直观的用户界面减少您的时间工作.为了更好的速度编辑,HornilStylePix的设计重点在于轻,功能强大。
HornilStylePix运行在更少的资源,如网络,书籍和笔记本电脑或虚拟机的图像处理功能全(VMware公司虚拟框,虚拟pc等)的环境。
我们一直在努力提高HornilStylePix性能。
便携式支持HornilStylePix是一个轻量级的。
一种便携式版本的运行HornilStylePix从可移动存储设备如USB闪存驱动器,闪存卡,或软盘(媒体)。
要安装HornilStylePix便携式,只要下载便携包,然后解压缩。
要启动HornilStylePix便携,只需双击您的便携dirveStylePix.exe文件插图2.浏览图片和幻灯片浏览图像工具可以让你轻松地探索开放前的影像图像。
你也可以打开,复制,删除和重命名的图像或目录。
幻灯片显示了选择的图片系列是在当前工作的全屏幕模式路径中。
支持的文件格式:JPEG,PNG,GIF等,tif格式和TGA,BMP和旅行商。
3.方便的工作环境有多个文件可以同时打开工作。
打开的图像安排在MDI(多文档界面)的容器标签。
MDI的支持级联,瓷砖垂直,水平平铺,设置图标的安排。
快速的图像切换:画布窗口之间切换,按Ctrl+Tab键。
如果你想回去,按Ctrl+Shift+Tab键。
如果按上述键,切换窗口被弹出。
然后,如果你想选择下一个画布,按Tab键。
4.多层及分组支持层是用于HornilStylePix分开的画布不同的对象。
图层就像是在另一个堆放胶片。
每一层都可以有不同的对象。
HornilStylePix支持四个对象类型(图像,文本和路径形状)和组对象。
该组对象包含其他对象。
此外,本集团可能包含其他组。
您可以使用层管理层次。
HornilStylePix支持混合模式是用于确定如何两层互相融合。
在StylePix,您可以使用21种混合模式。
5.选择工具HornilStylePixPro中文版图像处理工具支持区域如以下选择工具:自动范围选择和色彩范围选择工具方形,圆形选取工具多边形,套索选择工具您可以通过上述工具的区域选择具有以下模式:新,加,减和相交。
现有的区域选择可以进行修改操作:边界,扩展,合同和柔软性。
6.50种实用的图像过滤器。
颜色调节过滤器:自动水平,自动对比度,自动颜色平衡,级别,曲线,色彩平衡,亮度/对比度,色相/饱和度,伽玛校正,去色,反转,灰度,阈值,量化,直方图均化,色调分离。
锐化和模糊过滤器像素化滤镜渲染过滤器噪声滤波器扭曲过滤器卷积过滤器风格过滤器形态滤波器照片增强过滤器7.绘图工具HornilStylePixPro中文版图像处理工具支持各种绘图工具如画笔,橡皮擦,直线,曲线,喷雾,克隆刷,洪水填充,渐变填充,路径和形状。
8.文字工具文本工具允许你在画布上键入文本。
在文本字符串可以被修改,不仅在正常状态,但也不失旋转对象属性的状态。
9.变换和对齐转换工具允许你改变选择区域或对象。
只有当区域选择启用存在。
当变换工具被激活,可以旋转和调整大小。
10.加强和还原工具在提高工具允许您提高基础上的图像变暗,躲闪,模糊和锐化工具。
11.裁剪工具作物工具用于作物或剪辑图像。
它适用于所有的形象,有形及无形的层面。
12.多
2025/6/24 6:44:44 19.09MB 图像处理工具
1
这个是网上整理的资料,共3个。
适用与期末课程设计。
四则混合运算有括号,有防错功能。
本人就是靠这个PASS的
2025/6/23 15:33:32 3.21MB 四则混合运算(有括号)
1

Delphi是一款强大的面向对象的编程环境,以其高效的编译器和直观的集成开发环境(IDE)深受开发者喜爱。
在Delphi中,除了可以创建独立的EXE应用程序之外,还可以利用BPL(Binary Package Library)和DLL(Dynamic Link Library)来构建更加灵活和可扩展的软件框架。
本资源"delphi exe+bpl+Dll框架(源代码和示例)"提供了一种将程序模块化的方法,使得更新和维护变得更加简单。
BPL是Delphi中的库文件格式,类似于Windows平台上的DLL,但有其独特的特性和优势。
BPL允许开发者将代码模块化,将其打包成独立的组件,这些组件可以在运行时动态加载,也可以在多个项目之间复用。
这样做的好处在于,当你的程序需要更新或修复某个功能时,只需要替换对应的BPL文件,而不需要重新发布整个EXE,降低了用户的升级成本。
DLL则是一种更通用的Windows动态链接库,它可以被多个进程同时使用,以共享代码和数据。
与BPL类似,DLL同样可以实现代码的分离和动态加载,有助于优化内存使用和提高程序性能。
在Delphi中,DLL和BPL可以混合使用,为软件设计提供更大的灵活性。
本资源包含的"Tangram2.6(D7)"可能是一个基于Delphi 7的项目,Tangram可能是一个框架的名字,它展示了如何将BPL和DLL集成到一个EXE程序中。
通过学习和分析这些源代码,你可以了解如何组织项目结构、如何定义接口、以及如何在EXE、BPL和DLL之间进行通信。
源代码示例通常会包含以下关键部分:1. **项目配置**:设置BPL和DLL的项目属性,如输出目录、依赖项等。
2. **单元接口**:在BPL和DLL的单元文件中声明公共接口,以便于其他组件调用。
3. **实现细节**:在各自的源代码文件中实现接口,包括函数和方法。
4. **动态加载**:在主程序(EXE)中使用LoadLibrary和GetProcAddress等API动态加载BPL或DLL,并调用其中的函数。
5. **通信机制**:可能包括COM接口、Pascal记录、自定义接口类等方式,实现不同组件之间的数据交换。
学习这个框架可以帮助你掌握Delphi程序的模块化设计,理解动态链接库的使用,以及如何优化程序的更新和维护流程。
如果你对Delphi编程感兴趣,或者正在寻找一种提高软件可维护性的方法,那么这个资源将是一份宝贵的参考资料。
通过深入研究源代码,你可以了解到更多关于Delphi BPL和DLL框架的实践技巧和最佳实践。
2025/6/20 8:28:11 3.74MB
1

【知识点详解】1. **分数的基本性质**:题目中涉及到了分数的加减乘除以及化简,例如“5个15是1”,这考察了分数乘法;
“18个91是171”考察了分数乘法的运算。
同时,“18个91”是一个整数,说明了分数乘法可以得到整数结果。
2. **分数的比较**:题目要求填写“>”、“<”或“=”,如“32○0.66”,这需要理解分数和小数之间的转换及比较大小的方法。
此外,“251○0.4”也涉及到分数与小数的比较,需要掌握分数和小数的等值关系。
3. **分数的运算**:题目中“512+34+112”等计算题,要求学生掌握分数的加减法运算规则,特别是同分母分数和异分母分数的加减。
4. **分数的最简形式**:如“如果一个分数的分子和分母的最大公因数是1,那么这个分数就是最简分数”,这涉及到了分数的化简和最简形式的概念。
而“1812的最简分数是96”则错误,因为18和12的最大公因数不为1,它们可以进一步化简。
5. **真分数的理解**:题目指出“分母是10的真分数共有10个”,这是对真分数定义的理解,即分子小于分母的分数。
6. **分数应用题**:第三部分的题目涉及实际问题的应用,如冰激凌销售情况的分析,要求根据销售比例来决定进货量,这需要对分数有直观的理解并能将其应用于实际问题。
7. **分数的解方程**:在解方程部分,例如“2352x”和“5.0216x”,需要用到分数乘法的逆运算,即除法,来求解未知数。
8. **分数的混合运算**:脱式计算题要求进行分数的混合运算,包括加减乘除,并可能需要简化运算过程。
9. **分数的比较与选择**:在选择题中,如“小明看一本书,第一天看了全书的61,第二天看了全书的31,两天共看了全书的91”,这需要理解分数的加法运算来解决问题。
10. **分数在实际生活中的应用**:最后一部分的问题涉及到用分数解决实际生活中的问题,如布料的使用、修路长度的计算以及学生在课堂上的活动时间分配,这些都是分数在实际问题中的应用实例。
通过这份模拟测试,学生可以巩固和提升对分数的理解,熟练掌握分数的运算、比较、化简以及在实际问题中的应用。
同时,判断题和选择题也测试了他们对分数基本概念和性质的掌握程度。
2025/6/19 18:22:03 195KB
1

【增值税的税务筹划】是企业财务管理和税务管理中的重要内容,旨在通过合法合规的方式减少税收负担,提高企业经济效益。
增值税的筹划主要包括以下几个方面:1. **销售结算方式选择**:企业在销售过程中可以选择不同的结算方式,例如预收款销售、分期收款销售等,以影响纳税时点,从而调整现金流和税负。
2. **销售方式的筹划**:企业可以考虑采用直销、代销、赊销等方式,每种方式对增值税的影响不同,需根据具体情况权衡。
3. **货物价款与价外费用分离**:企业可以通过适当分离价款和价外费用,如服务费、包装费等,以合理降低增值税基数,减少税负。
4. **兼营销售和混合销售的筹划**:兼营销售和混合销售在增值税处理上有差异,企业应正确区分并规划,以利用税收优惠政策。
5. **货物出口的纳税筹划**:出口货物可享受零税率或退税政策,企业需了解相关规定,制定合理的出口策略。
6. **销售使用过的固定资产的筹划**:销售旧资产时,不同条件下的税率和处理方式不同,企业应选择最有利的方案。
7. **企业重组活动的增值税筹划**:企业通过分立、合并或联营等方式重组,可以改变增值税纳税主体,从而实现税务优化。
8. **充分利用税收优惠政策**:政府通常会给予特定行业、地区或企业性质的税收优惠,企业应充分研究这些政策,如按行业优惠、地区优惠和生产主体性质优惠,合理安排投资和经营活动,以最大限度享受税收优惠。
在选择纳税人身份方面,一般纳税人和小规模纳税人的税负不同。
一般纳税人可以抵扣进项税,适合产业链完善、购销规模大的企业;
而小规模纳税人税负相对较重,但其销售价格相对较低,可能吸引无法抵扣进项税的客户。
企业在选择纳税人身份时,应综合考虑市场环境、成本结构和产品销售情况。
增值税的税务筹划是一项复杂的工作,涉及到企业经营的多个环节,需要结合企业实际情况,灵活运用各种筹划方法,确保在遵守税法的前提下,降低税收成本,提升企业的盈利能力。
在实际操作中,企业应咨询专业税务顾问,确保税务筹划方案的合法性、有效性和可行性。
2025/6/19 13:19:32 285KB
1

电子政务是现代信息技术在政府管理和服务中的应用,旨在提高政府工作效率、透明度和服务质量。
在这个领域,技术的应用涵盖了数据处理、通信网络、信息共享、决策支持等多个方面。
本压缩包文件“电子政务-多线圈电磁感应加热器消除差频干扰的装置.zip”主要关注的是在电子政务系统中,如何解决多线圈电磁感应加热器产生的差频干扰问题。
差频干扰是电磁感应加热过程中常见的一个问题。
当多个电磁感应线圈工作时,由于它们之间的相互作用,可能会产生不同频率的电磁场相互混合,导致设备性能下降,甚至可能对其他电子设备造成干扰。
这种现象在电子政务系统中,尤其是涉及大量电子设备交互的情况下,需要得到妥善解决,以确保信息传输的准确性和系统的稳定性。
多线圈电磁感应加热器的原理是利用交流电通过线圈产生交变磁场,使被加热物体内部产生涡电流,进而因电阻效应产生热量。
然而,当多个线圈同时工作时,不同线圈的磁场相互叠加,可能导致非期望的频率成分出现,形成差频干扰。
消除差频干扰的装置通常采用以下几种方法:1. **频率隔离**:通过调整各个线圈的工作频率,使其错开,避免产生谐波或差频。
2. **物理隔离**:合理布局线圈位置,增加线圈之间的距离,减少磁场的相互影响。
3. **滤波技术**:在电路中引入滤波器,去除特定频率的干扰信号,保持信号的纯净。
4. **屏蔽技术**:使用金属屏蔽材料包裹线圈或整个装置,减少电磁辐射对外界的影响。
5. **数字控制技术**:通过精确的数字控制系统,实时监测和调整线圈的工作状态,减少干扰产生。
6. **软件算法优化**:利用先进的控制算法,如自适应控制、模糊控制等,自动调节线圈的工作参数,降低干扰。
在电子政务环境中,解决此类问题不仅有助于提升硬件设施的稳定性和可靠性,还能保障信息安全,防止因干扰导致的数据错误或丢失。
此外,良好的电磁兼容性设计也是符合绿色电子政务理念,实现资源节约和环境友好的重要措施。
“电子政务-多线圈电磁感应加热器消除差频干扰的装置.zip”中的资料很可能详细阐述了上述方法的原理、设计和应用,对于从事电子政务系统建设和维护的专业人士来说,是一份非常有价值的参考资料。
通过深入学习和理解这些知识,可以有效地提升电子政务系统的性能,保证其在复杂电磁环境下的正常运行。
2025/6/16 2:41:19 212KB
1
VIBE前景检测方法,老外09年提出的新背景建模方法,速度比混合高斯背景模型提高几倍,检测效果也好于混合高斯模型。
该包中包含了基本原理以及算法源代码。
2025/6/10 22:39:33 9.66MB 背景建模 VIBE 高斯混合 openCV
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
共 634 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡