自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 C语言3D心形

本文介绍了一个仅用C语言标准库实现的3D心形控制台渲染程序。程序通过数学方程定义心形曲面,采用光线投射法在二维控制台模拟三维效果。核心算法包括:1)定义心形曲面方程f(x,y,z);2)通过数值搜索求解曲面点h(x,z);3)主循环遍历空间坐标,计算法向量和光照强度,将灰度映射到字符集(“.:-=+*#%@”)上输出。程序仅100余行代码,展现了基础数学与图形渲染的结合,在控制台中呈现出具有立体感的3D心形图案,体现了简洁高效的编程思想。

2026-01-06 23:28:12 526

原创 C语言3D玫瑰花

本文介绍一个仅用C语言标准库实现的3D玫瑰花控制台渲染程序。该程序采用距离场和光线步进算法,通过数学公式定义花瓣形状而非传统多边形网格。核心亮点包括:使用有符号距离函数构建花瓣形态,采用黄金角排列花瓣形成自然螺旋结构,通过光线步进实现体积渲染,并添加基础光照增强立体感。程序仅需一个源文件即可输出80x160字符的玫瑰花图案,使用不同密度字符表现明暗层次。

2025-12-21 20:50:21 1143

原创 操作系统课程设计:4-添加系统调用

本文介绍了Linux系统调用的添加与调用实验。实验通过修改内核代码添加自定义系统调用sys_mycall(调用号336),并成功编译安装新内核。用户程序通过syscall调用该接口,验证了参数传递和返回值处理的正确性。内核日志显示printk输出与调用次数一致,证实系统调用机制正常运行。实验结果表明:1)系统调用号分配有效;2)内核编译和加载流程正确;3)用户空间与内核交互功能完整。关键代码展示了用户程序调用系统调用的标准方法,为理解Linux系统调用机制提供了实践参考。

2025-12-20 22:49:24 786

原创 操作系统课程设计:5-虚拟文件系统

实验实现了一个基于Linux内核的虚拟文件系统(my-fs),通过编写vfs.c内核模块实现了文件系统注册、超级块初始化、inode管理以及文件读写操作。实验成功编译生成内核模块并加载,验证了目录创建、文件读写等基本功能。系统采用动态缓冲区管理文件数据,支持用户空间与内核空间交互,但存在高版本内核兼容性不足、大文件支持缺失等问题。实验深入理解了文件系统数据结构与操作接口,为后续改进文件系统功能提供了基础。

2025-12-19 19:01:59 436

原创 操作系统课程设计:6-设备驱动程序

实验成功编译并加载了基于主存的虚拟块设备驱动程序,通过dmesg日志确认驱动加载成功,主设备号为252,/dev目录下生成ubuntu_ramblock设备文件。将ext2文件系统挂载至该设备后,可正常访问文件系统目录(如lost+found),卸载驱动前成功解除挂载,整个过程无错误提示,表明驱动程序实现了基本的块设备读写功能,达到了实验预期目标。cd dev进入dev目录下,ls -a可看到名为ubuntu_ramblock的设备,以及主设备号和次设备号。2.掌握设备驱动程序的编写原则和过程。

2025-12-19 18:53:22 452

原创 操作系统课程设计:3-打印进程树

本文通过两种方法实现了Linux进程树的打印功能。在用户态编程中,通过访问/proc目录读取进程状态文件,解析PID、PPID和进程名,采用递归算法构建进程树结构,实现了清晰的层级展示。在内核态编程中,通过添加内核模块技术,直接遍历task_struct结构中的子进程链表,采用深度优先算法递归打印进程信息,同样实现了树形结构的直观展示。两种方法均能有效呈现进程间的父子关系,其中用户态方法更侧重文件解析,而内核态方法则直接访问内核数据结构,具有更高的效率。

2025-12-18 16:20:28 469

原创 操作系统课程设计:2-添加内核模块

本实验通过编写内核模块showPCB.c实现了进程控制块信息的打印功能。实验过程包括:1)使用Makefile编译生成.ko模块文件;2)通过insmod加载模块并成功输出进程PID、状态等详细信息;3)使用rmmod卸载模块并清理编译文件。实验结果验证了内核模块的动态加载机制和进程控制块信息的正确获取,完整实现了实验目标。关键代码展示了current宏获取当前进程task_struct结构,并打印了包括进程状态、优先级、调度策略等20余项关键信息。实验证实了Linux内核模块编程的基本流程和进程控制块的数

2025-12-18 16:19:29 1080

原创 《编译原理》陈火旺第三版-课后习题答案参考

《编译原理》陈火旺第三版-课后习题答案参考

2025-12-17 16:47:48 257

原创 操作系统课程设计:1-多线程同步实验

实验通过两种方式实现多线程生产者消费者同步问题。第一种使用条件变量和互斥锁,第二种采用POSIX信号量机制。实验结果表明,两种方法都能有效实现线程同步:生产者交替写入数据,消费者顺序读取数据,缓冲区满/空时正确阻塞/唤醒线程。条件变量更侧重线程条件同步,信号量则侧重资源计数控制。通过设置1秒休眠时间,使线程执行过程清晰可见,验证了同步机制的正确性和稳定性。程序输出显示生产消费顺序正确,无数据竞争或死锁现象,证明两种同步方法都能可靠解决生产者消费者问题。

2025-12-17 16:43:58 669

原创 web前端:3D交互式魔方网页设计

本文介绍了一个基于Web技术的3D交互式魔方实现方案。项目采用模块化架构设计,通过原生JavaScript结合jQuery实现逻辑控制,利用CSS3D变换完成3D可视化。系统实现了魔方旋转、打乱、还原等核心功能,严格遵循真实魔方的物理逻辑。项目包含24个核心文件,分为页面入口、样式文件、核心逻辑和依赖库四大类,便于功能扩展。视觉上通过CSS 3D渲染实现60FPS流畅运行,支持鼠标/触摸操作,具有真实的3D效果和多终端适配能力。

2025-12-16 17:34:58 1254

原创 编译原理大作业:4-LR分析

本文介绍了实现LALR(1)分析器的实验设计。要求建立表达式文法的LR分析表数据结构,设计分析器对二元式代码流进行分析,判断输入串是否为合法句子。文中给出了文法描述(包含6个产生式)和两种LR分析表实现方法:一是用二维整数数组表示状态转换,二是采用压缩存储结构,通过指针数组和数偶形式优化存储空间。实验内容包括分析器总控程序框架设计、状态栈操作函数实现,以及使用Yy_next()函数进行状态转换查询。最后通过测试用例验证分析器的正确性。帮助深入理解LR分析方法,掌握分析器的实现技术。

2025-12-16 17:05:29 1213

原创 编译原理大作业:3-非递归预测分析

本文介绍了一个非递归预测分析器的设计与实现实验。实验要求建立表达式语言的LL(1)文法及其分析表,设计预测分析器对输入串进行语法分析。主要内容包括:1)将原始文法转换为LL(1)文法;2)设计文法产生式和分析表的数据结构;3)实现预测分析器总控程序,使用分析栈进行语法检查;4)通过实例"1+2;"验证分析器的正确性。实验结果表明该预测分析器能正确判断输入串是否为文法定义的句子,并提供了实验源码资源。该实验帮助学生理解自上而下语法分析方法,掌握非递归预测分析器的设计实现技术。

2025-12-15 20:14:57 987

原创 web前端:基于Three.js库的星云探索交互网页

摘要:本文介绍了一个基于Three.js的"星云探索"WebGL交互应用。该项目通过自定义着色器实现动态星云效果,构建了完整的星系生成、交互探索系统。核心功能包括:1)点击扫描星系;2)7秒扫描后显示随机生成的生命形式;3)提供摧毁或拯救星系的道德选择;4)实时统计摧毁/拯救数量。技术实现包含Three.js场景构建、轨道控制器、自定义着色器动画以及TweenMax平滑过渡效果。该应用展示了WebGL在创意交互领域的潜力,用户可通过修改参数调整星系形态和视觉效果。

2025-12-14 23:21:11 963

原创 编译原理大作业:2-NFA的确定化

实验旨在通过实现 ε 闭包、Move 函数与子集构造算法,掌握有限自动机等价性及词法分析器相关技术;按规则完成了 ε_Closure、Move 函数的设计,完善了子集构造算法的终态描述,并以指定 NFA 为测试用例进行确定化;最终读取文件内容与给定 NFA 一致,DFA 状态转换结果与参考相符,实验成功。

2025-12-14 16:59:33 614

原创 web前端:CSS-Doodle万花筒效果

本文介绍了使用CSS-Doodle库创建动态万花筒效果的方法。项目通过CSS-Doodle的网格系统和样式生成能力,结合3D透视与动画技术,实现了色彩斑斓、不断变化的几何图案效果。文章详细解析了核心实现逻辑,包括网格配置、元素样式设置和动画定义,并提供了完整的代码示例。通过调整颜色、形状和动画参数,开发者可轻松定制不同的视觉效果。该方案展示了CSS-Doodle在创建复杂动态图形方面的强大能力,为网页添加视觉吸引力提供了一种高效途径。

2025-12-13 21:20:41 610

原创 web前端:基于CSS+GSAP的3D网格光影动画

本文介绍了一个使用GSAP动画库实现的3D网格动态效果。该设计通过CSS 3D变换构建基础网格结构,利用GSAP为网格元素添加随机位移、旋转和缩放动画,同时实现容器自转效果。该效果适用于科技感UI背景、数据可视化等场景,参数可灵活调整以获得不同视觉效果。

2025-12-13 19:43:53 867

原创 web前端:基于Three.js的3D粒子雪花

本文实现了一个基于Three.js轻量化引擎的3D雪花特效,通过循环式粒子系统和Canvas低耗渲染技术,在保证性能的同时呈现真实感雪景。系统包含500个随机分布的3D雪花粒子,采用边界循环重置逻辑避免性能损耗,支持鼠标/触摸交互实现视角平滑跟随。核心技术包括:1)三维空间物理运动模拟;2)粒子循环利用机制;3)跨设备适配的Canvas渲染方案。该特效相比传统2D方案具有更好的空间感和沉浸感,文件结构清晰,包含Snow.js随机数工具、主页面和Three.js核心库三个模块,可通过参数调整实现不同视觉效果。

2025-12-12 19:27:59 1124

原创 web前端:Three.js轨道控制器(OrbitControls)的气泡实现案例

本文深入解析了Three.js中OrbitControls轨道控制器的实现原理,重点介绍了其在"气泡"项目中的应用。控制器通过状态机管理旋转、缩放、平移等多种交互模式,支持鼠标、键盘和触摸屏操作。核心模块包括:1)状态管理机制处理不同输入设备;2)鼠标交互实现旋转、缩放和平移;3)键盘方向键控制平移;4)触摸屏适配单指旋转和双指缩放平移;5)针对透视/正交相机的差异化控制。该实现为3D场景提供了完整的交互体验,开发者可通过调整参数优化操作手感,或结合GUI工具实现参数实时调整。

2025-12-11 15:31:35 1384

原创 web前端:纯CSS实现雪花飘落效果

本文介绍了一个纯CSS实现的雪花飘落动画效果,通过CSS动画、定位和渐变技术模拟自然雪景。主要特点包括:雪花从屏幕顶部随机位置生成,具有独立的下落轨迹、速度和大小,并呈现轻微摇摆效果。实现方法包含HTML定义雪花元素和CSS样式控制,通过transform、opacity和@keyframes实现个性化动画。背景采用径向渐变营造夜空效果,每个雪花通过不同的透明度、初始位置和动画参数增强真实感。该效果适合作为冬季主题网页的背景装饰元素,可通过调整参数改变雪花密度、速度等视觉效果。

2025-12-11 13:51:43 578

原创 web前端:基于Canvas的星光特效动画

本文介绍了一个基于Canvas的星光特效动画实现方案。该动画通过500个粒子构成粒子系统,采用8条射线形成星形粒子,并利用HSLA色彩模式实现动态色调变化。动画分为6个阶段:从顶部下落、环形扩散、环形收缩、横向波动、斜向扩散和全屏爆发,使用Promise实现阶段间的平滑过渡。技术实现包括:1)Canvas初始化与全屏适配;2)粒子类定义与管理;3)动画阶段控制;4)颜色动态变化处理。该方案具有良好扩展性,可通过修改粒子数量、大小等参数调整效果,也可扩展交互功能如鼠标跟随等。

2025-12-10 21:47:53 1274

原创 编译原理大作业:1-词法分析

关键字作为特殊标识符处理,把它们预先安排在一张表格中(称为关键字表),当扫描程序识别出标识符时,查关键字表。如能查到匹配的单词,则该单词为关键字,否则为一般标识符。输出形式是源程序的单词符号二元式的代码,并保存到文件中。对C语言的一个子集设计并实现一个简单的词法分析器,掌握利用状态转换图设计词法分析器的基本方法。,显示当前扫描到的字符及其所在行、列位置,并跳过该字符重新开始识别单词符号。识别出一个单词符号时,则将该单词符号的二元式写入到输出文件中。的反复调用识别出所有的单词符号;

2025-12-10 12:50:50 407

原创 web前端:网页动态时钟

本文介绍了一个创新的圆形文字时钟设计,采用HTML、CSS和JavaScript实现。时钟以同心圆分层展示月、日、时、分、秒等时间维度,使用中文大写文字呈现时间信息。设计亮点包括:黑底白字的高对比度显示、红色高亮当前时间、从分散到圆形凝聚的加载动画效果。技术实现上,通过极坐标转换算法计算文字位置,利用CSS过渡效果实现平滑动画,JavaScript动态更新并高亮当前时间。该设计在创意性和功能性之间取得平衡,既保留了时钟的易读性,又通过独特的视觉效果增强了用户体验。

2025-12-07 14:41:24 836 1

C语言3D玫瑰花-对应源码

资源是文章《C语言3D玫瑰花》对应完整源码,程序采用距离场和光线步进算法,通过数学公式定义花瓣形状而非传统多边形网格。核心亮点包,括:使用有符号距离函数构建花瓣形态,采用黄金角排列花瓣形成自然螺旋结构,通过光线步进实现体积渲染,并添加基础光照增强立体感。程序仅需一个源文件即可输出80x160字符的玫瑰花图案,使用不同密度字符表现明暗层次。

2025-12-21

web前端:3D交互式魔方网页设计-对应源码

资源是文章《Web前端:3D交互式魔方网页设计》对应完整源码,项目采用模块化架构设计,通过原生javaScript结合jQuery实现逻辑控制,利用CSS 3D变换完成3D可视化。系统实现了魔方旋转、打乱、还原等核心功能,严格遵循真实魔方的物理逻辑。项目包含24个核心文件,分为页面入口、样式文件、核心逻辑和依赖库四大类,采用模块化解耦设计,便于功能扩展。视觉上通过CSS 3D渲染实现60FPS流畅运行,支持鼠标/触模操作,具有真实的3D效果和多终端适配能力。

2025-12-16

编译原理大作业:4-LR分析-实验源码

本资源是文章《编译原理大作业:4-LR分析》的对应源码资源,实现了LALR(1)分析器的实验设计。建立了表达式文法的LR分析表数据结构,设计分析器对二元式代码流进行分析,判断输入串是否为合法句子。内容包括分析器总控程序框架设计、状态栈操作函数实现,以及使用Yy_next()函数进行状态转换查询。最后通过测试用例验证分析器的正确性。案例能够帮助深入理解LR分析方法,掌握分析器的实现技术。

2025-12-16

编译原理大作业:3-非递归预测分析-实验源码

本资源是文章《编译原理大作业:3-非递归预测分析》的对应源码资源,包含一个非递归预测分析器的完整实现代码,用于分析表达式语言。该分析器基于LL(1)文法设计,采用自上而下的语法分析方法,能够判断输入串是否为文法定义的句子。 资源内容主要为: LL(1)文法的数据结构表示,包括产生式数组Yy_pushtab[]和分析表数组Yy_d[] 预测分析器总控程序实现,使用分析栈进行语法分析 输出栈内容功能,便于与手工模拟分析过程比较 对输入串"1+2;"的分析示例,验证分析器正确性 该实现完整展现了预测分析器的工作原理,包括文法转换、分析表构建、栈操作等关键环节,可作为编译原理课程中语法分析部分的参考实现。

2025-12-15

web前端:基于Three.js库的星云探索交互网页-对应源码

该资源是文章《web前端:基于Three.js库的星云探索交互网页》对应完整源码,涵盖 Three.js 场景构建、自定义着色器、交互逻辑及动画过渡核心代码,搭配Three.js等依赖库。支持点击扫描星系、随机生成生命形态、道德选择及数据统计功能,可直接部署体验,也能通过修改参数调整星云形态、视觉风格与交互规则,适用于WebGL创意开发学习与二次迭代。

2025-12-14

web前端:基于Three.js的3D粒子雪花-对应源码

该资源是文章《web前端:基于Three.js的3D粒子雪花》对应完整源码,基于Three.js轻量化引擎实现3D雪花特效,核心实现了包含500个随机分布3D雪花粒子的循环式粒子系统,并结合canvas任耗清染技术、既通过三维空间物理运动模拟、粒子循环利用机制与边果循环重置设置保障了性能表现,又借助鼠标/触摸交互实现视角平滑跟随,打造出兼具真实感、空间感与沉浸感的雪景效果,相比传统2D雪花方案视觉体验更优。该资源的文件结构清晰,主要包含Snow.js随机数工具、主页面以及Three.js核心库三个模块,使用者可通过参数调整实现不同视觉效果,既适用于个人网站、电商平台节日专题页面、文旅类网页的视觉装饰场景,也可作为前端教学中Three.js粒子系统开发、Canvas渲染优化的实战案例,还能应用于各类需要3D特效加持的web项目开发,帮助开发者快速集成高质量3D雪花特效,提升页面的视觉表现力与用户交互体验。此外,本资源已做好跨设备适配的Canvas渲染方案,可直接部署在不同终端设备的Web环境中,同时源码保留了灵活的扩展空间,开发者可根据实际需求进一步拓展粒子数量、运动轨迹、视觉样式等特效维度。

2025-12-11

web前端:Three.js轨道控制器(OrbitControls)的气泡实现案例-对应源码

该资源为文章《web前端:Three.js轨道控制器(OrbitControls)的气泡实现案例》对应完整源码,提供了一个基于Three.js轨道控制器(OrbitControls)的气泡交互实现案例。通过OrbitControls实现场景的旋转、缩放和平移操作,同时结合粒子系统或球体对象模拟动态气泡效果,适合用于3D可视化项目或交互式场景开发。源码结构清晰,可直接集成到现有Three.js项目中,帮助开发者快速掌握轨道控制与动态元素结合的技巧。 文件结构: 气泡.html # 主页面文件,包含资源引入和页面结构 js/ ├── three.min.js # Three.js核心库 ├── OrbitControls.js # 轨道控制器实现 ├── index.js # 气泡场景主逻辑 └── 其他辅助库 # TweenMax、randomColor、dat.gui等 css/ └── style.css # 页面样式

2025-12-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除