自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1103)
  • 资源 (47)
  • 收藏
  • 关注

原创 Xilinx IP核 VDMA详解

摘要: AXI VDMA是Xilinx提供的视频数据搬运IP核,支持PS端存储器与AXI4-Stream外设间的数据传输。其引脚分为MM2S(读通道)和S2MM(写通道),通过AXI-Lite接口配置寄存器。基础设置包括地址宽度、帧缓存等参数,用于带宽匹配和图像缓存。高级选项支持四种Genlock锁相模式(Master/Slave/Dynamic Master/Dynamic Slave),实现多通道间的帧同步控制。典型应用中,S2MM连接视频输入,MM2S连接视频输出。

2025-08-12 09:23:49 390

原创 VS Code用Waveform Render画波形图

Waveform Render是一款将JSON格式文件转换为波形图的工具,其在线版本为Wavedrom编辑器。通过定义signal列表中的波形字典,可以创建多行波形,其中name表示信号名,wave决定波形走向(使用p、n、.、0、1等字符表示不同波形状态),data为特殊波形命名。工具还支持相位调制(phase)、周期设置(period)和波形嵌套组织功能。示例展示了如何创建包含时钟信号、数据信号和测试信号的复杂波形图,并演示了分层组织波形的能力。

2025-08-12 08:45:00 258

原创 OV5640 相机开发流程

本文介绍了基于Xilinx Zynq平台使用Vitis开发工具实现OV5640摄像头图像采集与显示的系统配置过程。详细说明了硬件平台搭建步骤,包括Zynq处理系统配置(UART、DDR3、HP接口等)、VDMA控制器设置(双通道配置)、视频时序控制器以及AXI-Stream视频转换模块的连接。文章还提供了自定义IP核(rgb2lcd)的集成方法、系统时钟配置(33.333MHz)和完整的引脚约束文件,特别针对双目OV5640摄像头中的单目使用场景进行了优化配置。

2025-08-11 09:45:39 564

原创 Vivado自定义IP核学习笔记

本文介绍了在Vivado中创建和封装自定义IP核(breath_led_ip)的完整流程。主要内容包括:1)通过Vivado的IP管理工具创建新的AXI4外设IP核;2)实现呼吸灯功能模块(breath_led.v),包含时钟分频、亮度调节等控制逻辑;3)将功能模块集成到AXI接口IP核中,通过寄存器映射实现参数配置;4)完成IP核的封装设置,包括兼容性配置、参数可视化和文件组管理。该过程演示了从功能设计到IP封装的完整开发流程,为FPGA设计中的IP复用提供了实践参考。

2025-08-11 09:37:17 384

原创 FATFS快速读写文件

本文介绍了FatFs文件系统中的字符串读写函数。f_gets用于从文件读取字符串,遇到换行符或缓冲区满时停止;f_putc和f_puts分别用于写入单个字符和字符串;f_printf支持格式化输出,类似标准库printf。这些函数在_USE_STRFUNC为1或2时可用,其中_USE_STRFUNC=2时还提供换行符转换功能。文中详细说明了各函数的参数、返回值和使用条件,并提供了格式化输出的示例和常用格式说明符。这些函数为文件系统的字符串操作提供了便捷接口。

2025-08-08 09:56:15 359

原创 FATFS文件读写

FATFS是一个轻量级开源文件系统模块,适用于嵌入式设备存储管理。核心操作包括:f_mount注册工作区,f_open/f_close打开关闭文件,f_read/f_write读写数据,f_lseek移动文件指针。所有函数返回FR_OK(0)表示成功,否则返回错误代码。文件操作需遵循标准流程:先挂载工作区,再打开文件进行读写,最后关闭文件。相比标准C库,FATFS更注重嵌入式场景下的资源效率和错误处理,支持多种文件打开模式,并提供详细的错误返回值以帮助调试。

2025-08-08 09:33:19 659

原创 Vitis2025入门教程

本文详细介绍了Vitis 2025版本的工程创建流程。首先在Vivado中创建RTL工程,配置ZYNQ处理系统的UART、DDR等参数并导出硬件描述文件。随后在Vitis中新建平台组件,导入xsa文件后创建"Hello World"示例项目。重点说明了Vitis 2025与旧版的界面差异,包括项目创建路径、平台组件配置等新特性,并提供了完整的编译运行和调试方法。文中配有关键配置界面的截图,特别标注了ZYNQ-7020开发板的具体参数设置,为开发者顺利过渡到新版本提供实用指导。

2025-08-07 08:58:07 995

原创 FPGA实战:用PL端串口发送Hello world

本文介绍了基于FPGA的UART串口发送模块实现,重点测试开发板向上位机发送"hello world"的功能。文章首先概述了UART协议的基本结构,包括起始位、数据位、校验位和停止位。随后详细讲解了Verilog代码实现:1)串口发送模块通过两个计数器控制波特率和数据位发送;2)波形生成模块处理字符串顺序并产生发送信号;3)顶层模块整合两个子模块。最后给出了开发板的引脚配置,包括50MHz系统时钟、低电平复位键和UART发送端口。该设计实现了FPGA通过USB转UART接口向上位机发送反

2025-08-07 08:38:30 1003

原创 FPGA学习的必经之路:跑马灯

本教程详细介绍了使用Vivado开发工具实现FPGA跑马灯效果的全过程。以正点原子领航者开发板为例,通过Verilog编程控制PL端LED灯交替闪烁。文章包含工程创建、模块定义、代码编写(含系统时钟计数和复位控制逻辑)、I/O引脚分配以及最终实现步骤。核心代码利用计数器实现0.5秒间隔的LED状态切换,通过系统时钟和复位信号触发控制。完成综合、实现、生成比特流后,最终在硬件上成功实现两个LED灯的交替闪烁效果。

2025-08-06 09:00:00 823

原创 FPGA初步教程实战:点亮LED灯,步骤清晰,必能跟下来

本文介绍了使用Xilinx Vivado工具进行FPGA开发的完整流程。以正点原子领航者开发板(ZYNQ-7020核心板)为例,详细说明了从工程创建到下载验证的每个步骤:1)创建新工程并设置参数;2)定义LED控制模块;3)进行RTL分析和引脚分配;4)完成综合、实现及比特流生成;5)通过JTAG下载验证功能。整个过程采用文字描述替代截图,简化了流程说明,特别适合初学者快速掌握Vivado开发的基本操作。最终实现按键控制LED灯的简单功能,验证了开发流程的正确性。

2025-08-06 08:30:00 764

原创 Verilog中的timescale指令详解

本文介绍了Verilog中的timescale指令,用于定义仿真时间单位和精度。该指令格式为timescale time_unit/time_precision,其中时间精度不能大于时间单位。文中通过示例说明不同模块的timescale设置会影响时延值的计算方式,仿真时所有模块会采用最小时延精度进行统一换算。同时指出并行子模块间的timescale互不影响,且时间精度设置会影响仿真效率,建议在满足需求情况下尽量设置较大的时间精度以减少仿真时间。

2025-08-05 08:45:00 401

原创 Verilog操作符详解

本文介绍了Verilog中表达式和操作符的使用方法。表达式由操作符和操作数构成,支持算术、关系、逻辑、按位等多种运算。文章详细讲解了9类操作符的语法规则和运算特性,包括算术运算符、关系运算符、逻辑运算符等,并特别说明了操作数类型、位宽处理以及X/Z值的特殊处理方式。通过多个代码示例展示了移位操作、拼接操作和条件表达式的具体应用,帮助读者理解Verilog中表达式运算的关键概念和使用技巧。

2025-08-05 08:30:00 658

原创 Verilog数据类型详解

本文摘要: Verilog HDL基础知识概述,重点介绍数值表示、数据类型和存储结构。数值输入支持四种进制和科学计数法,包含0、1、x、z四种逻辑值。数据类型分为线网(wire)和寄存器(reg),其中wire表示物理连线,reg作为存储单元。文章详细介绍了向量定义、位选择和拼接操作,以及整数、实数、时间等特殊数据类型的使用方法。同时阐述了数组和存储器的声明与赋值规则,包括多维数组的访问方式。此外,还介绍了常量的parameter声明和字符串的特殊处理方式。这些基础知识为Verilog硬件描述语言的应用提供

2025-08-04 09:00:00 670

原创 Modelsim入门教程

本文介绍了使用ModelSim进行Verilog项目开发的基本流程。首先讲解了新建项目、创建Verilog文件和测试文件的方法。接着演示了代码编辑步骤,包括调整缩进设置、编写简单的比较器模块和测试模块。然后详细说明了编译过程,展示了如何通过编译检查代码正确性。最后重点介绍了仿真操作,包括添加波形、设置仿真参数和运行仿真,验证了比较器模块的功能逻辑与预期一致。整个过程涵盖了从项目创建到功能验证的完整开发流程,适合初学者快速掌握ModelSim的基本使用方法。

2025-08-04 08:30:00 495

原创 根据Zenike多项式绘制光场的强度分布

泽尼克多项式可用于描述光学波前相位差,但人眼无法直接感知相位信息。本文通过模拟Zernike多项式(如Z7)对应的光强分布,展示像差的可视化效果。采用Python实现仿真过程:首先建立80×80mm传感器模型,设置15mm出瞳直径和632.8nm波长;然后构建包含Z7像差的复振幅分布;最后通过傅里叶变换获得焦平面光强图,呈现典型的y向慧差图案。该模拟方法通过fftshift和fft2函数实现,能有效展示光学系统中常见的像差现象,为理解Zernike多项式在实际应用中的表现提供了直观参考。

2025-07-24 08:53:28 469

原创 Vimba相机二次开发教程,基于Python

本文介绍了Vimba Python模块的安装和使用方法。安装需通过Vimba软件安装路径下的setup.py文件进行。使用示例展示了如何获取连接的相机、捕获图像帧,并将Frame对象转换为numpy数组或OpenCV图像格式。文章还演示了如何获取相机的工作参数,如设备温度、曝光时间和帧率,这些参数与Vimba软件中的All选项卡对应,采用大驼峰命名方式访问。文中提供了完整的代码示例,包括图像显示和参数获取的实际操作过程。

2025-07-24 08:28:54 764

原创 tkinter中的spinBox样式详解

Python Tkinter中的Spinbox组件是一个支持数字增减和列表选择的输入控件。本文演示了Spinbox的基本用法,包括设置数字范围(from_, to, increment参数)和列表选项(values参数)。同时介绍了Spinbox丰富的样式设置选项,如背景色、前景色、箭头样式、边框样式等,可以自定义控件外观。示例代码展示了如何创建基础Spinbox和设置不同样式参数,帮助开发者快速掌握该组件的使用方法。

2025-07-22 10:03:06 531

原创 根据梯度场重建曲面及其Python实现

本文提出了一种基于离散梯度场重建曲面z=f(x,y)的数值方法。通过矩阵积分和边界条件处理,将梯度场(Fx,Fy)转化为曲面函数。算法分为三步:梯度积分、求解边界项、矩阵重建,并给出了Python实现。测试结果表明,该方法能有效重建原始曲面,标准差在0.02-0.06之间。该方法适用于离散化矩阵表示的梯度场,通过矩阵运算求解边界条件项,最终实现对曲面的数值重建。

2025-07-21 10:32:45 690

原创 Autohotkey v2 入门教程

本文介绍了AutoHotkey(AHK)的基本使用,包括热键设置、热字串和按键重映射。主要内容有:1)安装AHK后创建简单脚本,通过Win+空格打开指定网址;2)热键的基本语法和常见修饰符说明;3)针对特定程序(如记事本)定制热键的方法;4)使用热字串实现文本自动替换;5)实战应用:在cmd中为Python导入语句设置快捷输入。通过几个具体示例,展示了AHK在自动化操作和提升效率方面的实用功能。

2025-07-21 08:15:55 934

原创 用Autohotkey v2 获取窗口中控件的文本

本文介绍了使用AutoHotKey(AHK)获取软件控件数据的方法,适用于无法保存实时数据的软件。首先通过Window Spy工具定位目标窗口,使用#HotIf和WinActive语法锁定窗口。然后利用WinGetControls获取窗口内所有控件列表,并通过文件操作函数FileOpen将控件信息保存为文本。最后通过ControlGetText提取控件中的文本内容。该方法能有效解决无法导出数据的软件监控需求,尤其在WinForm程序中效果显著,实现了对窗口控件内容的完整获取流程。

2025-07-17 10:37:47 548

原创 WPF中ListView控件详解

摘要 ListView是WPF中功能强大的列表控件,支持数据绑定和自定义显示。通过ItemsSource属性可以快速绑定数据源,默认显示对象的ToString()结果。使用GridView可以实现表格布局,通过GridViewColumn定义列名和绑定属性,使数据整齐排列。ListView既支持简单列表也支持复杂的表格视图,是ListBox的升级版,能够灵活展示和编辑数据内容。

2025-07-15 11:17:54 685

原创 WPF中的ListBox详解

摘要:WPF中的ListBox控件可以包含多个ListBoxItem或其他控件,支持自动滚动条和样式定制。ListBoxItem可自定义外观(如颜色、图片)和内容(如嵌入复杂控件)。ListBox支持项目选中事件(SelectionChanged)和双击事件(MouseDoubleClick),并可通过代码动态添加/删除项目(Items.Add/Remove)。该控件既能作为简单选项列表,也能通过内容定制实现复杂交互界面。

2025-07-15 09:31:34 867

原创 simscape中刚性变换rigid transform详解

本文研究了多体动力学仿真中的Rigid Transform模块,通过底座和长杆模型演示了坐标变换规律。重点分析了平移和旋转变换:平移变换包括笛卡尔坐标、单轴和柱坐标三种方式,演示了物体间的相对位置变化;旋转变换包含六种方法,以单轴旋转为例,揭示了变换顺序对最终位置的影响。实验表明,平移和旋转的先后顺序不同会导致物体空间位置的显著差异,为理解复杂空间变换提供了直观参考。

2025-07-14 11:29:12 777

原创 simscape中坐标系和坐标变换Frames and Transforms

摘要:Simscape Multibody中的框架与变换模块提供了四种坐标系工具:世界坐标系(固定基准)、刚性变换(实现坐标转换,含6种旋转和3种平移方案)、参考坐标系(辅助定位)和变换传感器(测量坐标系间的相对运动参数)。刚性变换支持矩阵/四元数等多种转换方式,而变换传感器可输出旋转/平移等6类物理量。这些工具协同解决了多体系统中坐标系转换与运动测量的核心问题。(149字)

2025-07-14 10:39:31 751

原创 用Simulink创建一个撸管

本文是Matlab Simulink中Simscape Multibody模块的学习笔记,重点介绍了如何构建一个多体动力学模型。通过官方教程示例,作者逐步创建了四个刚性体(A、B、C、D),详细说明了坐标系变换设置和各部件的参数配置。其中,Body D被重点描述,包括其圆柱体尺寸、密度等参数设置,以及端口定义和子系统封装过程。完成后的模型可以模拟一个可运动的机械结构("可撸动的管子")。文章提供了完整的建模步骤和参数表,省略了教程中的PD控制器部分,专注于多体系统的基础构建方法。

2025-07-10 09:00:00 1385

原创 simscape中的关节(joints)介绍

本文介绍了Simscape Multibody中的多种关节类型,包括焊接、旋转、滑动、丝杠等16种关节,详细说明了每种关节的自由度(平移和旋转)和典型应用场景。通过立方体和长杆的连接实验,展示了六自由度关节、万向节和恒速关节的实际运动差异。文章还简要提及了杆件封装时的坐标变换注意事项,但由于视角限制,部分关节的运动特性可能无法完全显现。这些关节模型适用于机械臂、传动系统、精密平台等多种工程场景的仿真需求。

2025-07-10 08:46:59 1353

原创 万向节死锁公式推导

欧拉角的万向节死锁是指在特定旋转角度下自由度丢失的现象。当采用x→y→z旋转次序时,若中间旋转角β=90°,旋转矩阵中α和γ会简并成一个参数θ=γ-α,导致两个自由度合并为一个。此时旋转轴被限制在x=-z平面内,方向由k1=-k3和k2=(sinθ)/(1-cosθ)k3决定。这种现象使得系统丢失一个旋转自由度,影响控制精度,是欧拉角表示法的重要缺陷。

2025-07-09 08:56:48 642

原创 三种波前恢复模型:Hudgin, Friend, Southwell

摘要:本文介绍了三种波前斜率差分模型(Hudgin、Friend、Southwell)及其矩阵表示。通过微透镜阵列测量质心偏移计算波前斜率,推导了斜率与相位的关系。Hudgin模型假设子光束斜率相同,Friend模型将数据置于区域中央,Southwell模型则需对斜率取平均。最后给出了三种模型的矩阵形式和波前恢复表达式,其中涉及不同差分微元处理方式。这些方法为波前相位重构提供了理论基础。

2025-07-09 08:41:03 671

原创 simscape用Extruded Solid生成多边形柱体

Extruded Solid是一种创建多边形柱体的工具,提供两种模式:Regular模式可生成规则正多边形柱体,通过边数、外接圆半径和厚度设置;General模式则允许自定义多边形截面坐标。文中展示了使用General模式创建六边形底座的示例,并提供MATLAB代码计算坐标点。该工具适用于《Serial and Parallel Robot Manipulators》书中描述的机器人底座建模。

2025-07-08 08:45:00 497

原创 Simulink单摆和双摆仿真

本文介绍了使用Matlab Simscape工具箱建模单摆和双摆的方法。首先通过smnew命令创建模板,搭建包含World Frame、Revolute Joint、Brick Solid和自定义ConnRod模块的结构。设置连杆尺寸、颜色及重力参数(Y轴方向-9.81),并调整关节初始角度为30度。运行后可见单摆摆动效果。为进一步观察复杂运动,在单摆基础上添加第二组关节和连杆,构建双摆模型,通过偏移设置实现两连杆衔接,最终获得更丰富的摆动动态。整个过程展示了Simscape在多体动力学建模中的便捷应用。

2025-07-08 08:30:00 951

原创 【Simulink】simscape封装零件

本文介绍了在Matlab Simscape中建立简单连杆模型的步骤。首先使用smnew命令创建多体模型模板,通过添加Brick Solid、Rigid Transform等模块构建基础结构。然后讲解了参数设置方法,包括尺寸、密度和颜色等属性。文章重点演示了如何将多个模块封装为子系统,并设置自定义参数界面,最后通过调整参数生成了一个长棍子模型。该教程为Simscape多体建模的入门操作,展示了从模块搭建到参数化设计的基本流程。

2025-07-07 08:45:42 645

原创 【Simulink】Simscape入门教程

本文介绍了基于Simscape构建带控制器的质量-弹簧-阻尼系统的步骤。首先通过sscnew模板搭建物理网络,使用Translational Elements、Mechanical Sources和Sensors等模块,设置弹簧刚度(400N/m)、阻尼系数(100N·s/m)和质量(3.6kg)参数。然后连接Simulink模块,包括脉冲发生器(0.5振幅)、PID控制器(P=700)和加法器,完成系统建模。最后通过示波器观察各节点信号变化。该案例展示了从物理建模到控制系统的完整实现过程。

2025-07-07 08:30:00 583

原创 二关节机器人系统模型推导

本文基于拉格朗日力学方法,推导了二连杆机械手的动力学模型。首先建立了系统的动能和位能表达式,通过拉格朗日方程得到关节力矩与运动参数的关系。最终将动力学方程表示为矩阵形式,包含惯量项、向心力和科氏力项。推导结果与刘金琨著作中的模型一致,验证了该方法的有效性。该模型为后续机器人控制系统的设计与仿真提供了理论基础。

2025-07-04 11:54:44 1193 2

原创 基于Simulink的二关节机器人独立PD控制仿真

本文基于刘金琨的《机器人控制系统的设计与MATLAB仿真》,学习了二关节机器人系统的PD控制仿真。首先建立了机器人动力学模型,推导了惯性矩阵和离心力矩阵的表达式,采用独立PD控制律设计控制器。通过MATLAB/Simulink搭建仿真系统,使用S函数分别实现控制算法和动力学模型。仿真结果表明,该PD控制器能够有效跟踪期望位置信号。文章详细说明了S函数的编写方法、参数配置及仿真流程,为机器人控制系统仿真提供了完整的技术实现方案。

2025-07-04 09:49:45 1009

原创 Python干涉仿真

本文通过推导光学干涉过程的数学公式,对干涉现象进行了仿真

2025-07-03 09:58:26 830

原创 罗德里格斯公式推导及其Python实现

本文介绍了利用罗德里格斯公式构建旋转矩阵的方法。旋转矩阵通过旋转轴和旋转角两个参数来描述三维空间中的旋转。文章详细推导了罗德里格斯公式,将向量分解为平行和垂直于旋转轴的分量,结合叉乘矩阵转换,最终得到旋转矩阵表达式R=Icosθ+(1-cosθ)nn^T+Nsinθ。文中还提供了Python实现代码,包括旋转矩阵生成、旋转轴/角计算等功能,并通过向量绕轴旋转的实例验证了公式的正确性。该方法避免了传统欧拉角旋转的繁琐拆分,直接通过旋转轴和角度实现高效计算。

2025-07-01 10:42:42 934

原创 OpenModelica初步教程

OpenModelica是一款基于Modelica语言的开源多领域物理系统建模与仿真工具。本文介绍了OpenModelica的安装步骤(包括环境变量配置)和基础使用方法,通过创建RLC电路案例展示了图形化建模流程:从元件库拖拽电阻、电容、电感等组件,设置参数并连接电路,最后进行仿真和结果可视化。文章还解析了自动生成的Modelica代码结构,说明图形化操作与编程语言的对应关系,包括模型定义、元件声明、参数设置和连接语句。该工具支持机械、电气、热力等多领域系统建模,兼具可视化操作和代码编程能力。

2025-06-30 15:37:48 894

原创 Stewart平台简介

Stewart平台是一种六自由度并联机构,通过六个可伸缩连杆连接静平台和动平台。其运动学问题包括逆解和正解两部分:逆解是通过给定动平台位姿(位置和姿态)计算各连杆长度;正解则是已知连杆长度求解动平台位姿。逆解可通过旋转矩阵和位移向量直接计算,而正解由于多约束方程可能无解,通常采用非线性优化方法最小化误差。该平台在实际控制中需同时考虑正逆解问题。

2025-06-30 14:25:42 771

原创 2025无套路网盘搜索引擎推荐

本文推荐8个无需注册、无套路的主流网盘搜索工具(截至2025年6月)。包含学霸盘、小白盘等百度网盘专用搜索,以及兄弟盘、混合盘等支持多平台的聚合搜索。各网站对比显示,学霸盘、口袋云等支持时间排序/资源大小筛选,多数提供直达链接。其中兄弟盘覆盖阿里/夸克/迅雷等7种网盘,1号线报支持6种网盘资源。这些工具普遍无强制关注要求,部分网站含广告。

2025-06-30 09:21:26 1513

原创 Python实现Gauss消元法

摘要:本文介绍了Gauss消元法的原理及其Python实现。该方法通过逐次消去未知数将线性方程组转化为等价的三角方程组,便于求解。算法实现分为前向消元和回代两个步骤,包括主元选取和行交换操作。Python代码演示了完整的Gauss消元过程,并用随机矩阵测试验证了算法的正确性,结果显示计算误差在可接受范围内。该方法为线性方程组提供了一种有效的数值解法。

2025-06-27 15:11:50 723

Python(Tkinter+matplotlib)实现光斑处理系统源代码

Python实现光斑处理系统源代码 通过将matplotlib嵌入到tkinter中,实现一个简单的光斑处理系统,除了matplotlib自带的功能按键之外,额外添加8个按钮,拟实现如下功能 1. 打开 打开一张新的光斑图片 2. 原图 显示当前的光斑图片 3. 切割 对当前光斑图片进行切割,以得到目标 4. 分布 显示当前光斑的分布情况 5. 拟合 对分布情况进行函数拟合,一般是高斯拟合y = a exp ⁡ ( − ( x − b ) 2 / c 2 ) ) 6. 批量 批量处理 7. 设置 一些全局性设置 8. 帮助 显示帮助文件 具体实现结果,可参考博客地址:https://tinycool.blog.csdn.net/article/details/135862828

2024-11-14

windows批处理数值计算实战

windows批处理数值计算实战,共提供8种功能: 1 2的n次方 2 二进制转换 3 最大公约数和最小公倍数 4 打印乘法表 5 打印幻方 6 查找勾股数 7 查找水仙花数 8 生成随机数 相关讲解的博客地址:https://tinycool.blog.csdn.net/article/details/132468913

2024-04-02

PyGame俄罗斯方块源代码

俄罗斯方块的逻辑很简单,就是几个方块组合在一起,然后下落,当其碰到四周的墙壁后便无法移动。若某行被方块所填满,那么就删除这一行,然后此行上面的所有方块下降一行。 为了将这个逻辑代码化,可以用布尔矩阵来表示具体的方块类型,比如长条形方块可用如下矩阵表示。里面包含两个矩阵,分别是横条和竖条,在实际实用中,通过按键可以旋转其状态。原理十分简单,但想要写出一个可以玩的游戏,却还需要注意一些细节问题。比如俄罗斯方块在碰到墙壁时的行为;旋转方块的方法。 博客地址:https://tinycool.blog.csdn.net/article/details/134902678

2023-12-09

go语言包管理测试代码

每个Go语言程序,都以package xxx开头,即申明本文件定义的所有函数、结构体,均从属于xxx包。当项目文件较多时,这种管理方式是所有编程语言的必然选择。相应地,通过import来调用包也是情理之中了,但低版本的Go语言很坑,并不支持import相对路径,故而本文对导入包的介绍,只在1.18以上的Go语言版本中有效。 博文地址:https://tinycool.blog.csdn.net/article/details/133766128

2023-10-11

C语言实现计算器源代码,支持四则混合运算以及三角函数

用纯C语言实现一个计算器,总共有三组源代码,循序渐进 1. 只支持加法和乘法的计算器 2. calc(丑陋的小程序)支持四则混合运算 3. 最终版,支持四则混合运算,以及一些自定义函数,比如绝对值 可执行文件a.exe是calc编译而成,用的是gcc编译器。 博客地址:https://tinycool.blog.csdn.net/article/details/111595416 部分运行结果 abs(3*5-4^2) abs(3*5-4^2)=1.000000 25-7+6*(4-5) 25-7+6*(4-5)=12.000000 sin(3.14) sin(3.14)=0.001593 sin(1.57)+cos(1.57) sin(1.57)+cos(1.57)=1.000796

2023-09-26

Python打造动态绘图系统

500行代码!非常适合新手入门的Python项目。 从0开始,基于tkinter和matplotlib,实现一个可以绘制动态三维图的绘图系统。支持图像风格定制,支持极坐标和三维坐标映射。 在readme文档中,记录了整个开发过程中的代码变化,保证基础薄弱的同学也能从头开始,按部就班地实现这个三维绘图软件。只要能够按照文档中所提示的那样,一步一个脚印地开发,那么可以在30个小时之内,从Python新手变成Python老手。 对应专栏地址:https://tinycool.blog.csdn.net/category_12435124.html 在专栏博客中,不仅记录了代码变化,而且对项目开发的每个阶段,均提供了完整的代码示例,更加适合学习。

2023-09-14

Python文件整理工具

我们的目的是做一个文件整理工具,前面两个输入框,用于输入源路径和目标就,下面的图片、视频、音乐表示在目标路径中创建的文件夹,后面的文件后缀,表示将这类文件移动到对应的文件夹中,加减号可以新增或删除文件夹。 两个文件分别是对话框按钮组件和文件整理组件的实现过程,文件整理组件中还定义了文件映射组件。在文件映射组件中,folder和ex分别是左右两个组件对应的可变文本,为了便于更新和调用,类中设计了两组、四对便携方法getFolder, setFolder和getEx和setEx。由于Folder中的内容就是文件夹本身,所以设置和读取方法仅仅是StringVar的二次封装,而ex中的内容则不然,需要对文本进行分割,并且实现字符串到列表的转换。 mvFile和setDst是组件的核心功能,分别用于设置目标路径并移动。之所以为目标文件夹设置安排了一个独立方法,是因为目标文件夹不一定存在,可能涉及到递归创建的过程。

2023-09-07

Tkinter+WordCloud做一个词云生成工具

Tkinter+WordCloud做一个词云生成工具。 需要安装模块wordcloud和jieba。 对应博客链接:https://tinycool.blog.csdn.net/article/details/132470515 自从做了热榜的词云之后,就越来越觉得词云的表达力真的很强,所以合计是不是可以为WordCloud做一个界面,来更加直观地操作。 既然以WordCloud为核心,那么界面的组件自然要和WordCloud的参数意义绑定,每个参数在界面中都对应一个提示组件,比如Lable,和一个输入组件,比如Entry。此外,这些参数都是可设的,那么在对应一个组件的同时,也应该对应一个StringVar。

2023-08-24

Blender绘制足球烯C60

通过简单的5个步骤,用Blender从头开始画一个足球烯C60 博客地址:https://tinycool.blog.csdn.net/article/details/131999824

2023-07-29

C语言实现二叉搜索树,可插入、删除搜索节点

C语言实现二叉搜索树,可插入、删除搜索节点,代码量只有100多行,注释详实,对萌新十分友好 博客地址:https://tinycool.blog.csdn.net/article/details/131423285

2023-06-27

WPF实战,实现一个txt阅读器,支持提取目录

博客地址: https://tinycool.blog.csdn.net/article/details/130967149 https://tinycool.blog.csdn.net/article/details/130969157 https://tinycool.blog.csdn.net/article/details/130977704

2023-06-01

用C#写的串口UDP转换工具

串口是设备和上位机通信的常用接口,UDP则是网络通信常用的通信协议。本代码实现的是通过将串口设备上传的指令,用UDP发送出去,或者将UDP传来的指令转发给串口设备,这个功能在工业领域非常常用。 开发过程写成了博客:https://tinycool.blog.csdn.net/article/details/129858681

2023-04-21

C# WinForm对话框示例程序

C# WinForm对话框示例程序,包括 - `MessageBox` 信息框 - `OpenFileDialog` 文件选择对话框 - `SaveFileDialog` 文件保存对话框 - `FolderBrowserDialog` 文件夹选择对话框 - `ColorDialog` 颜色对话框 - `FontDialog` 字体对话框 - `PrintDialog` 打印设置对话框 博客地址:https://tinycool.blog.csdn.net/article/details/130287086

2023-04-21

C#串口通信测试软件源代码

C#串口通信测试,内容简单,适合初学者 博客地址:https://tinycool.blog.csdn.net/article/details/129637911

2023-03-27

winform在窗口中拖动按钮

最简单的在窗口中拖动按钮的方法 博客地址:https://tinycool.blog.csdn.net/article/details/128832455

2023-02-01

Fourier级数和Taylor级数对原函数的逼近动画

通过Python+matplotlib,针对方波、三角波、锯齿波以及三角函数、指数函数,绘制了傅里叶级数和泰勒级数对原函数的逼近过程。 博客地址:https://tinycool.blog.csdn.net/article/details/120572487

2023-01-28

爱心源码-通过Python画一颗跳动的心

通过Python绘制一颗跳动的心 对应博客:用Python画一个跳动的心 博客地址:https://tinycool.blog.csdn.net/article/details/124855801

2022-12-11

纯Python实现遗传算法

GA的核心概念是种群,种群的关键是染色体,随着自然选择,染色体通过不断地复制、交叉、突变,完成一代又一代的进化,最终得到最优的结果。 具体编程时,染色体可用字符串或者二进制进行编码;自然选择,就是适应度函数;进化就是迭代。所以技术上的关键点,就是复制、交叉、突变等过程的函数实现。 博客:纯Python实现遗传算法 地址:https://tinycool.blog.csdn.net/article/details/128121243

2022-12-02

我的第一个WinForm程序,基础控件的使用

WinForm是一门非常经济实惠的技术,就是说,可以在短时间内学会,并迅速借此进行项目开发。尽管在很多方面不够现代,做出来的东西又Low又丑,但绝大多数的应用场景也不需要高端大气上档次。或许正是因为这种特点,WinForm在工控领域用得非常多,毕竟可以迅速实现某个小功能。 博客:WinForm,可能是Windows上手最快的图形框架了 地址:https://tinycool.blog.csdn.net/article/details/127932333

2022-11-24

鸡群算法之Python实现

通过Python实现鸡群算法,包括鸡类和鸡群类,提供了判据函数的接口。 博客【Python实现鸡群算法】 地址 https://tinycool.blog.csdn.net/article/details/127942327

2022-11-20

C#面向对象初步 源代码

C#面向对象学习的最短路径 博客【抽丝剥茧,C#面向对象快速上手】的源代码 地址:https://tinycool.blog.csdn.net/article/details/127911420

2022-11-17

超分辨网络SRCNN的Pytorch实现用到的T91数据集 搬运自网络,所以不需要积分

博客地址: 超分辨网络SRCNN的Pytorch实现 https://tinycool.blog.csdn.net/article/details/124581407#comments_23475484

2022-09-30

OpenGL 着色器初步,颜色变化的三角形

OpenGL 着色器初步,颜色变化的三角形 博客地址:https://tinycool.blog.csdn.net/article/details/124840050

2022-05-18

electron爬虫:定制CSDN App

electron爬虫:定制CSDN App 博客地址:https://tinycool.blog.csdn.net/article/details/124655279

2022-05-08

PCL环境配置以及测试案例,显示斯坦福兔子

PCL环境配置以及测试案例,显示斯坦福兔子 博客:PCL1.12安装+VS2019环境配置+测试程序:斯坦福兔子 博客地址:https://tinycool.blog.csdn.net/article/details/124599871

2022-05-05

electron做一个丐版浏览器,只有输入网址显示网页的功能,适合学习

electron做一个丐版浏览器,只有输入网址显示网页的功能,适合学习 博客:用electron做一个浏览器 博客地址:https://tinycool.blog.csdn.net/article/details/124565497

2022-05-04

Python动态绘图,包括椭圆、双曲线、抛物线、摆线、心形线等常见曲线的生成。

Python动态绘图,包括椭圆、双曲线、抛物线、摆线、心形线等常见曲线的生成。 博客:Python高级动态绘图系统:复杂曲线的轨迹演示 博客地址:https://tinycool.blog.csdn.net/article/details/124532129

2022-05-02

QT布局:实现动态布局

QT实现动态布局 博客:QT实现动态布局 地址:https://tinycool.blog.csdn.net/article/details/124525866

2022-05-01

从零开始,用electron做一个倒计时工具

从零开始,用electron做一个倒计时工具 博客:用electron做个五一倒计时 博客地址:https://tinycool.blog.csdn.net/article/details/124510990

2022-04-30

QT异步命令行,通过信号和槽进行响应

对应博客:QT异步命令行:信号和槽在QProcess中的应用 博文地址:https://blog.csdn.net/m0_37816922/article/details/124465039

2022-04-28

【C#】WPF 3D 选中并挪动几何体

通过快捷键新建几何体,通过鼠标选中并拖动几何体。 博客地址:https://tinycool.blog.csdn.net/article/details/124443939 博客标题:【C#】做一个超级乞丐版的我的世界(WPF 3D 选中并挪动几何体)

2022-04-27

Python动态绘制圆锥曲线,并封装成类

基于Python中的animation,封装成圆锥曲线的绘制类,根据圆锥曲线的参数方程,来快速绘制圆锥曲线的生成过程。 博客地址:https://tinycool.blog.csdn.net/article/details/124419074

2022-04-26

【QT】通过QProcess实现一个命令行

通过QT中的QProcess实现一个命令行,粗略版本 博客地址:https://tinycool.blog.csdn.net/article/details/124397664

2022-04-25

C++ QT调用外部程序(QProcess)

QT通过QProcess调用外部程序 博客地址:https://tinycool.blog.csdn.net/article/details/124359078

2022-04-23

WPF 3D 光线颜色(给地球点颜色看看)

WPF 3D 光线颜色调节 博客地址:https://tinycool.blog.csdn.net/article/details/124356858

2022-04-23

QT文件读写实战代码C++

QT文件读写实战的源代码 博客地址:https://tinycool.blog.csdn.net/article/details/124336122

2022-04-22

QT多线程实战源代码(QThread)

QT多线程实战源码,用到线程间通信等内容。 博客地址:https://tinycool.blog.csdn.net/article/details/124298084

2022-04-20

用C#搓一个地球(WPF 3D)

基于WPF的三维地球制作,用到三角面拼接、贴图、光效以及timer使之转动。 博客地址:https://tinycool.blog.csdn.net/article/details/124281244

2022-04-20

二次元老婆们的画廊WPF3D@VisualStudio

通过WPF的3D功能,制作一个照片墙 里面包含工程所需的所有文件 博客地址https://tinycool.blog.csdn.net/article/details/124235174

2022-04-17

WPF3D+鼠标控制相机视角+封装成类

WPF3D+鼠标控制相机视角+封装成类 博文地址:https://tinycool.blog.csdn.net/article/details/124196840

2022-04-15

空空如也

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

TA关注的人

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