实验一OpenGL+GLUT开发平台搭建5小实验1:开发环境设置5小实验2:控制窗口位置和大小6小实验3:默认的可视化范围6小实验4:自定义可视化范围7小实验5:几何对象变形的原因8小实验6:视口坐标系及视口定义8小实验7:动态调整长宽比例,保证几何对象不变形9实验二动画和交互10小实验1:单缓冲动画技术10小实验2:双缓冲动画技术11小实验3:键盘控制13小实验4:鼠标控制【试着单击鼠标左键或者右键,试着按下鼠标左键后再移动】14实验三几何变换、观察变换、三维对象16小实验1:二维几何变换16小实验2:建模观察(MODELVIEW)矩阵堆栈17小实验3:正平行投影119小实验4:正平行投影219小实验5:正平行投影320小实验6:透射投影121小实验6:透射投影222小实验7:三维对象24实验四光照模型和纹理映射26小实验1:光照模型1----OpenGL简单光照效果的关键步骤。
26小实验2:光照模型2----光源位置的问题28小实验3:光照模型3----光源位置的问题31小实验4:光照模型4----光源位置的问题33小实验5:光照模型5----光源位置的问题35小实验6:光照模型6----光源位置的问题38小实验7:光照模型7----光源位置的动态变化40小实验8:光照模型8----光源位置的动态变化43小实验9:光照模型9---光源位置的动态变化45小实验10:光照模型10---聚光灯效果模拟48小实验11:光照模型11---多光源效果模拟50小实验12:光照效果和雾效果的结合53小实验13:纹理映射初步—掌握OpenGL纹理映射的一般步骤56小实验13:纹理映射—纹理坐标的自动生成(基于参数的曲面映射)59小实验14:纹理映射—纹理坐标的自动生成(基于参考面距离)61
2024/11/15 15:21:27 10.68MB 计算机图形学 OpenGL
1
WST483.16-2016健康档案共享文档规范第16部分:成人健康体检
1
加密算法在信息技术领域中起着至关重要的作用,用于保护数据的安全性和隐私性。
SHA(SecureHashAlgorithm)是一种广泛使用的散列函数,它将任意长度的数据转换为固定长度的摘要值。
SHA512是SHA家族中的一员,提供更强大的安全性能,尤其适合大数据量的处理。
本文将深入探讨SHA512加密算法的原理、C++实现以及其在实际应用中的重要性。
SHA512算法基于密码学中的消息摘要思想,通过一系列复杂的数学运算(如位操作、异或、循环左移等),将输入数据转化为一个512位的二进制数字,通常以16进制形式表示,即64个字符。
这个过程是不可逆的,意味着无法从摘要值推导出原始数据,因此被广泛应用于数据完整性验证和密码存储。
在C++中实现SHA512算法,首先需要理解其基本步骤:1.**初始化**:设置一组初始哈希值(也称为中间结果)。
2.**预处理**:在输入数据前添加特殊位和填充,确保数据长度是512位的倍数。
3.**主循环**:将处理后的数据分成512位块,对每个块进行多次迭代计算,每次迭代包括四个步骤:扩展、混合、压缩和更新中间结果。
4.**结束**:将最后一个中间结果转换为16进制字符串,即为SHA512的摘要值。
C++代码实现时,可以使用位操作、数组和循环来完成这些计算。
为了简化,可以使用`#include`中的`uint64_t`类型表示64位整数,因为SHA512处理的是64位的数据块。
同时,可以利用`#include`中的`memcpy`和`memset`函数来处理内存操作。
此外,`#include`和`#include`库可用于将二进制数据转换成16进制字符串。
以下是一个简化的C++SHA512实现框架:```cpp#include#include#include#include#include//定义常量和初始化哈希值conststd::arraykInitialHashValues{...};std::arrayhashes=kInitialHashValues;//主循环函数voidProcessBlock(constuint8_t*data){//扩展、混合、压缩和更新中间结果}//输入数据的处理voidPreprocess(conststd::string&input){//添加填充和特殊位}//将摘要转换为16进制字符串std::stringDigestToHex(){//转换并返回16进制字符串}//使用示例std::stringmessage="Hello,World!";Preprocess(message);constuint8_t*data=reinterpret_cast(message.c_str());size_tdataSize=message.size();while(dataSize>0){if(dataSize>=128){ProcessBlock(data);dataSize-=128;data+=128;}else{//处理剩余数据}}std::stringresult=DigestToHex();```这个框架只是一个起点,实际的SHA512实现需要填充完整的扩展、混合和压缩步骤,以及处理边界条件。
此外,为了提高效率,可能还需要使用SIMD(SingleInstructionMultipleData)指令集或其他优化技术。
SHA512算法在多种场景下具有广泛的应用,如:-**文件校验**:通过计算文件的SHA512摘要,可以验证文件在传输或存储过程中是否被篡改。
-**密码存储**:在存储用户密码时,不应直接保存明文,而是保存SHA512加密后的哈希值。
当用户输入密码时,同样计算其SHA512值并与存储的哈希值比较,不匹配则表明密码错误。
-**数字签名**:在公钥加密体系中,SHA512可以与非对称加密算法结合,生成数字签名,确保数据的完整性和发送者的身份验证。
了解并掌握SHA512加密算法及其C++实现,对于信息安全专业人员来说至关重要,它不仅有助于提升系统的安全性,也有助于应对不断发展的网络安全威胁。
通过深入学习和实践,我们可以更好地理解和利用这一强大的工具。
2024/11/12 20:26:46 2.14MB 加密算法
1
CE修改器(CheatEngine)是一款内存修改编辑工具,CE修改器它允许你修改你的游戏,所以你将总是赢.它包括16进制编辑,反汇编程序,内存查找工具.CE修改器与同类修改工具相比,它具有强大的反汇编功能,且自身附带了修改器制作工具,可以用它直接生成修改器。
2024/11/12 18:47:50 17.71MB 其他
1
课件16金色的草地2
2024/11/9 15:19:09 5.8MB 课件16金色的草地2
1
该软件是用于2进制和16进制互相批量转换的小软件,非常方便好用
2024/11/6 9:20:38 129KB 进制批量转换 小软件
1
单片机电子时钟完整版(基于at89c51电子时钟论文,keil程序编写,professional仿真,pcb原理图)目录摘要 1第一章系统设计要求 21.1基本功能 21.2扩展功能 2第二章硬件总体设计方案 32.1系统功能实现总体设计思路 32.2各部分功能实现 42.3系统工作原理 52.4时钟各功能分析及图解 62.4.1电路各功能图解分析 62.4.2电路功能使用说明 10第三章软件总体设计方案 113.1主程序流程图 113.2总中断程序流程 123.3控制电路的C语言源程序 16第四章课程设计结果分析 23第五章总结 24致谢 25参考文献 26
1
nkscape中文版是一款外国开发的开源矢量图形编辑软件,与Illustrator、Freehand、CorelDraw、XaraX等其他软件相似。
Inkscape是一套矢量图形编辑器,以自由软件授权发布与使用。
该软件的开发目标是成为一套强力的绘图软件,且能完全遵循与支持XML、SVG及CSS等开放性的标准格式。
Inkscape是一套跨平台性的应用程序,Windows、MacOSX、Linux及类UNIX版等操作系统。
矢量图形编辑软件Inkscape中文版矢量图形编辑软件Inkscape中文版Inkscape是开源的矢量图像编辑软件,与Illustrator、Freehand、CorelDraw、XaraX等软件很相似,它使用W3C标准的ScalableVectorGraphics(SVG)文件格式,支持包括形状、路径、文本、标记、克隆、alpha混合、变换、渐变、图案、组合等SVG特性。
它也支持创作共用的元数据、节点编辑、图层、复杂的路径运算、位图描摹(根据点阵16进制色差复制绘制矢量图的算法)、文本绕路径、流动文本、直接编辑XML等。
它可以导入JPEG、PNG、TIFF等格式,并输出为PNG和多种位图格式。
除了支持Windows外,Inkscape还有支持Linux与Mac的版本。
创建对象绘图铅笔工具(徒手描绘,且可在路径内进行填色)。
笔式工具(运用直线与贝兹曲线与来创建路径)。
笔画工具(运用电子手写板(tablet)可用笔画的压力、角度来进行描绘与填色)。
形样工具矩形(可选择使用圆角化)。
圆形、椭圆形或弧形(可选择圈、弧、段)。
星形/多边形(可选择尖角数、轮廓比例、圆角化、随机等)。
螺旋形其他工具文字工具(横书、多列或直书)链接性的位图图形,无论是导入或是光栅化的选取对象(针对嵌入的链接图形,Inkscape另有一个个别独立的公用程序可以运用)翻制(以“活性”方式链接对象的复制)。
相近的功效在其他程序上称为“symbols”。
对象操作、运用仿射变换/Affinetransformation(移动、缩放、旋转、倾斜),可用交互操作也可通过数字值设置。
对象之间的层次关系(Z-order)[来源请求]操作。
对象群化、组群化,对于未群化设计的对象也可用同时多个对象的选取来选定性群化(selectingroup),“enterthegroup”则可使选定成为临时性的层阶。
层阶化(即:图层),运用此方式可以锁定及/或隐藏个别的层阶,重新排置层阶等等,层阶也可采行层次结构树的结构。
对象可以复制、粘贴。
对齐与分布指令,包括网格排列(拆散对象:尝试边对边等距)、随机排列(在两个维度上随机置中)、去除重叠。
通过工具可进行填色花纹的翻制,使用壁纸样本(wallpapersymmetries)加上可任意变化运用的缩放、偏移、旋转、色彩变换等,也可选择随机变化。
可快速辅助、导引操作的提示网格线。
填充与边框选色器(RGB、HSL、CMYK、色圈)取色工具、填色工具(滴管)对象间复制/粘贴风格属性可在画布上进行渐层编辑,包括线性渐层、放射状渐层等操控。
渐层编辑器能够进行多处的停点渐层(imagegradient)。
花纹填充。
遮罩。
运用预先定义的泼洒花纹,可对边框进行花纹泼洒。
路径上的标示(如:箭头)。
路径上的操作节点编辑:移动节点及贝兹曲线(Beziercurve)掌控,节点的对齐、分布,节点群的缩放、旋转,“节点雕刻”(多处节点的比例编辑)。
路径转换(文字对象或形样),包括路径充填的转换。
布林运算(合并/union、割去/intersection、交集/difference、排除/exclusion、分开/division)运用可变的路径起讫点可简化路径。
路径插入及增设,包括动态及链接偏移对象。
路径剪贴(非破坏性剪贴)。
点阵追踪(黑白、彩色都适用)。
文字支持多列文字(SVG1.0/1.1)在框内进行文字的直式书写(,之前建议用SVG1.2)可完全在画布(绘图区)中进行编辑,包括风格文字的间距。
可使用任何已经安装于系统内的外框字体(outlinefont)通过Pango库(例如处理希伯来文、阿拉伯文、泰文等文字)可支持使用任何的描述语言及编程语言。
字母上下突出端(Kerning)、字母间隔(letterspacing)、列间隔等的调整。
路径上可走文字(无论文字或路径都可持续再编辑)。
着色、上色缩放倍数:1倍~256倍。
完整的抗锯齿显示。
支持“Alpha透明”,可用在显示以及.PNG格式图片
2024/11/5 10:50:41 112.36MB 矢量图形编辑软件
1
该代码实现指定的任意输入十六进制数向字符串转换,同时也提供相反的转换过程。
其实,这个程序是自己在编程实践经常碰到的一种比较尴尬的情况下编写的。
经常发现给定的数据格式和自己需要的不一样,需要十六进制数,但是却给出了的是字符串,担当需要的是字符串,又给出了的是十六进制数。
因此,实现将两个十六进制数变换成一个字符,例如如果出现的是32个十六进制数,变换后将成为16个字符串,相反的,如果给出了20个字符,转换后就能够编程40个十六进制数。
2024/11/4 20:48:40 220KB CharString HexString
1
支持的是cesium1.16及以后版本使用的gltf1.0;
完成dae转换为gltf;
具体方法参考博客:http://blog.csdn.net/l491453302/article/details/46766909
2024/11/4 17:17:42 2.14MB dae转gltf Cesium 三维模型 转换工具
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡