- 博客(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
原创 操作系统课程设计: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玫瑰花-对应源码
2025-12-21
web前端:3D交互式魔方网页设计-对应源码
2025-12-16
编译原理大作业:4-LR分析-实验源码
2025-12-16
编译原理大作业:3-非递归预测分析-实验源码
2025-12-15
web前端:基于Three.js库的星云探索交互网页-对应源码
2025-12-14
web前端:基于Three.js的3D粒子雪花-对应源码
2025-12-11
web前端:Three.js轨道控制器(OrbitControls)的气泡实现案例-对应源码
2025-12-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅