自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++标准详细介绍:C++11/C++14/C++17

C++11标准引入了多项核心语言特性和标准库改进,显著提升了编程效率和性能。核心特性包括自动类型推导(auto)、范围for循环、nullptr空指针、using类型别名、Lambda表达式、移动语义、override/final关键字、静态断言(static_assert)等。标准库方面新增了智能指针(unique_ptr/shared_ptr)、并发支持(thread/mutex/async/future)、正则表达式、元组(tuple)、哈希容器(unordered_map/set)、固定数组(arr

2025-12-20 18:01:14 534

原创 Visual Studio详细介绍:行业内最主流的开发工具之一

Visual Studio开发工具链解析 Visual Studio作为微软核心开发工具,集成了完整的MSVC工具链,涵盖从编码到部署的全流程开发。其主要组件包括: 编译器(cl.exe):处理预处理/编译/汇编,关键配置如附加包含目录(/I)、预处理器定义(/D)和运行时库选择(/MT//MD) 链接器(link.exe):负责目标文件和库的链接,配置项包含库路径(/LIBPATH)和子系统类型(/SUBSYSTEM) 资源编译器(rc.exe):编译界面资源(.rc),支持多语言(/l)和自定义输出路径

2025-12-06 17:38:40 960

原创 VC6.0详细介绍:Window平台专属的C/C++集成开发环境(IDE)

VC6.0是一款经典的C++集成开发环境,集成了编辑器、编译器、调试器和资源管理器等功能。它支持Windows界面可视化设计,内置MSVC 6.0编译器,但仅部分支持C++98标准。随着技术发展,VC6.0因与现代C++标准脱节、64位系统不兼容等问题被淘汰。安装时需设置兼容模式,其界面包含菜单栏、工具栏、工作区和编辑区等模块。常用快捷键包括F7编译、F5调试等。编译器配置主要通过项目属性窗口完成,可设置预处理器、代码生成等选项。尽管功能有限,VC6.0仍是学习Windows开发的入门工具。

2025-12-01 19:30:00 1613

原创 Git详细介绍:版本控制工具Git

Git的本质使用“快照+引用链”串联所有的历史快照:项目中所有文件的完整切片,被修改的文件会被完整记录,没有被修改的文件会复用;通过 “硬链接复用”—— 未修改的文件,新快照不存新数据,只存一个指向旧快照中该文件数据的 “指针”引用链:每次git commit,都会生成一个提交对象,这个提交对象包含三个数据区域(一个父指针、一个快照指针、还有一些元数据);父指针记录前一个提交的指针,快照指针记录当前提交时刻的快照对象,元数据包含提交时的注释、提交时间、作者信息等;

2025-11-26 20:00:00 876

原创 Modbus协议详细介绍

本质是 “通过差分信号实现多设备总线型通信” 的物理层规范 —— 仅负责数据的底层传输,需搭配上层协议(如 Modbus RTU、Profibus)才能实现设备间的数据交互。传输效率高(二进制编码紧凑,无冗余字符),抗干扰能力强(适配工厂电磁复杂环境),数据帧格式简洁(含地址、功能码、数据、校验码)——TXD(发送数据)、RXD(接收数据)、GND(信号地),其余引脚(如 RTS、CTS)用于流控,非必需。连接方式:点对点通信(1 个主设备对应 1 个从设备),不支持多设备组网(同一总线最多 2 个设备)

2025-11-13 22:16:17 608

原创 TCP/IP协议族详细介绍

本文系统介绍了TCP/IP协议族各层常用协议及其通信流程。应用层包含HTTP、FTP等协议,负责特定应用服务;传输层TCP提供可靠连接,UDP实现轻量传输;网络层IP协议处理寻址路由,ICMP传递差错信息,ARP解析MAC地址;网络接口层以太网协议实现局域网数据传输。各层协议相互配合,共同完成网络通信任务,其中重点阐述了TCP三次握手/四次挥手、IP封装转发、ARP地址解析等核心机制,展现了协议栈分层协作的完整工作流程。

2025-11-13 21:15:19 994 1

原创 Window系统UDP通信编程类(可直接使用)

本文介绍了UDP通信协议及其C++实现。UDP是一种无连接、不可靠但高效的传输层协议,适用于实时性要求高且可容忍少量数据丢失的场景。文章详细说明了UDP通信的四个步骤:创建套接字、设置目标地址、发送和接收消息。通过LvMyUDP类封装了UDP通信的细节,包括初始化、地址配置、数据收发和关闭连接等功能的实现。代码示例展示了如何建立UDP通信,发送"Hello"消息并等待接收响应。该实现使用Windows套接字API,包含错误处理和资源清理机制,为开发高效UDP应用提供了参考框架。

2025-11-03 15:59:47 320

原创 5 VTK图形处理(二)

本文介绍了VTK中的多分辨率处理和表面重建技术。多分辨率处理包括模型抽取(如vtkDecimatePro)和模型细化(如vtkLinearSubdivisionFilter),分别用于降低和提升模型分辨率。表面重建部分讨论了从点云或体数据重建表面的常用算法,如Delaunay三角化和移动立方体算法,并提供了VTK读取和合并点云数据的代码示例。这些技术是连接原始数据与三维可视化分析的重要桥梁。

2025-10-28 17:01:16 254

原创 5 VTK图形处理(一)

摘要 本文介绍了VTK中vtkPolyData数据结构的基本操作与应用。首先阐述了vtkPolyData的三大要素:几何结构(点集)、拓扑结构(单元连接)和属性数据,并通过代码示例演示了如何创建包含多边形和三角形的多边形数据集。其次,文章详细讲解了四种重要的图形操作:(1)欧式距离计算;(2)利用vtkMassProperties计算模型表面积和体积;(3)使用vtkDijkstraGraphGeodesicPath计算三维模型表面的测地距离;(4)通过vtkOutlineFilter生成模型的包围盒用于碰

2025-10-28 16:52:46 773

原创 4 VTK+QT基本渲染流程

VTK与QT结合的基本渲染流程包含5个步骤:1)使用vtkConeSource创建数据;2)通过vtkPolyDataMapper配置VTK管线;3)建立渲染引擎,包括vtkActor、vtkRenderer和vtkRenderWindow;4)创建QVTKOpenGLWindow并设置渲染窗口;5)将QWindow转换为QWidget并添加到界面布局中。整个过程实现了从VTK数据生成到QT界面集成的完整链路,代码示例展示了圆锥体渲染的典型实现方式。

2025-10-28 16:41:28 245

原创 3 VTK中的数据结构

VTK数据模型的核心是数据对象(vtkDataObject)和数据集(vtkDataset)。数据集由几何结构、拓扑结构和属性数据组成,包括多种类型如vtkImageData、vtkPolyData等。单元数据(vtkCell)通过点索引定义拓扑关系,分为线性单元和非线性单元。属性数据包含标量、矢量和张量类型。VTK采用连续内存存储,使用vtkDataArray管理单/多分量数组。数据读写通过Reader/Writer类实现,支持多种格式导入导出。整体上,VTK数据模型采用"几何+拓扑+属性&qu

2025-10-28 16:37:55 631

原创 2 VTK的基本概念

本文介绍了三维场景可视化中的核心要素与技术框架。主要内容包括:1) 三维场景基本要素:灯光(聚光/平行/点光源)、相机(位置/焦点/视角等参数)、颜色与纹理映射;2) 坐标系统与空间转换:Model/World/View/Display四种坐标系统,以及线性/透视/非线性三类空间变换方法;3) VTK技术框架:管线系统(数据加工处理)和渲染引擎(可视化实现)的组成与工作原理。这些内容构成了三维可视化的基础技术体系。

2025-10-28 16:30:30 425

原创 1 VTK简要概述

VTK是一个开源跨平台的可视化工具库,广泛应用于医学影像三维重建与手术规划、工程仿真可视化(包括有限元分析、流体动力学等数据展示)以及工业检测中的三维建模等场景。它能够处理复杂科学数据,实现从数据到直观可视化的转换。

2025-10-28 16:23:17 211

原创 VTK基础(05):VTK的渲染窗口嵌入到QT的控件当中

本文介绍了如何将VTK渲染窗口嵌入到QT控件中。关键是通过OpenGL上下文共享实现VTK与QT的集成。代码示例展示了完整流程:首先生成立方体数据,配置可视化管线;然后创建渲染器和OpenGL渲染窗口;最后通过QVTKOpenGLWindow将VTK渲染窗口嵌入到QT的QWidget容器中。这种方法允许在QT应用程序中无缝集成VTK的可视化功能。

2025-09-24 15:28:55 269

原创 VTK基础(04):VTK中图像的处理

本文介绍了VTK中图像处理的基本操作,包括图像创建、显示和处理方法。图像可通过数据源或手动创建,显示方式包括vtkImageActor和vtkImageViewer2。医学图像常用矢状面、冠状面和横断面三个切面。图像处理涵盖信息获取与修改、像素访问与修改以及类型转换,使用vtkImageCast和vtkImageShiftScale等类实现数据类型转换和数值调整。这些功能为医学影像处理和可视化提供了基础支持。

2025-09-22 15:36:43 708

原创 VTK基础(03):VTK中数据的读和写

VTK提供了多种数据读写工具,主要分为Reader/Writer和场景导入导出两类。对于vtkImageData、vtkPolyData等数据类型,有专门的读写器如vtkBMPReader/vtkBMPWriter、vtkPolyDataReader/vtkPolyDataWriter等。场景导入导出则通过Importer/Exporter类实现,支持3DS、VRML等格式,可处理包含灯光、相机等完整场景信息。这些工具覆盖了常见的数据类型和文件格式,为VTK中的数据处理提供了完整的IO支持。

2025-09-14 15:51:57 283

原创 VTK基础(02):VTK中的数据结构

数据对象是整个可视化流程的核心载体,本质是对现实世界中各类数据的结构化抽象,目的是统一描述数据的“几何信息”、“拓扑结构“和”属性数据“vtk中的数据一般是以数据对象的形式表现的,vtkDataObj是顶级抽象基类。

2025-09-14 15:27:35 382

原创 VTK基础(01):VTK中的基本概念

VTK三维可视化系统包含三大核心要素:1)三维场景组件(灯光、相机、颜色和纹理映射),其中灯光分为位置光和方向光,相机负责3D到2D投影;2)坐标系统与变换,包含Model/World/View/Display四种坐标系,支持平移、旋转、缩放等线性变换;3)管线架构与渲染引擎,通过数据流管线处理模型数据,由渲染引擎将Actor、Renderer、RenderWindow等组件组合实现最终可视化呈现,支持用户交互操作。整个系统采用惰性执行机制,确保高效渲染。

2025-09-14 10:45:11 851

原创 在Window上安装和配置VTK9.x,并在QT项目中调试VTK是否可用

VTK+MSVC+Qt Creator + CMake配置

2025-06-06 21:02:15 819

原创 VC++6.0下调试动态链接库DLL

VC++6.0调试动态链接库

2025-02-07 16:28:41 341

原创 C++实战:手撕类似于vector的容器(逆序算法、排序算法等)

手撕类似于vector的容器类,并实现各种算法(如逆序算法、排序算法等)

2024-12-21 16:14:57 563

原创 Linux:socket实现进程通信

需要说明的是:服务端创立的套接字对象需要绑定ip地址和端口号;客户端connect服务端的时候需要提供服务端的ip地址和端口号(服务端提供服务的进程的端口号)本文展示了服务端和客户端进行网络通信的示例:服务端向客户端发送数据,客户端读取服务端发送过来的数据;废话不多说,直接上代码!

2024-10-25 16:36:15 310 1

原创 Linux:socket实现两个进程之间的通信

Linux中两个不同主机上的进程基于socket套接字接口实现进程通信

2024-10-25 10:32:53 623

原创 Linux:进程通信(内存映射区、管道、共享内存)代码实践展示

Linux中进程通信的代码实践:内存映射区、管道和共享内存

2024-10-24 10:15:06 452

原创 C++:Boost的安装和使用

boost库在Window系统下关联VS的安装步骤详情

2024-10-16 19:26:36 3096

原创 Linux:linux系统中目录的遍历

Linux下目录的递归遍历:(1)opendir函数介绍和使用;(2)readdir函数介绍和使用;(3)closedir函数的介绍和使用

2024-10-11 09:25:56 824

原创 Linux:Linux中目录的遍历和C中目录的遍历

Linux中目录的遍历介绍:C中目录遍历的介绍:

2024-10-10 17:22:43 359

原创 Linux:文件描述符的复制与重定向

Linux文件描述符的复制于重定向:(1)dup函数进行文件描述符的复制;(2)dup2函数实现对文件描述符的复制和重定向;(3)fcntl函数实现对文件描述符的复制、获取文件的状态标志、设置文件的状态标志

2024-10-10 17:19:07 584

原创 Linux:文件的状态和属性

Linux:通过命令和函数的方式获取文件的属性和状态信息

2024-10-09 17:35:21 876

原创 Linux:文件IO介绍

Linux系统中文件IO的介绍:(1)open和close函数;(2)read和write函数;(3)lseek函数和文件指针的介绍;(4)文件的拓展和截断

2024-10-08 19:00:07 1046

原创 Linux:文件描述符介绍

文件描述符介绍:1.虚拟地址空间:什么是虚拟地址空间、虚拟地址空间的作用;2.文件描述符:文件描述符的概念和文件描述符表基本介绍

2024-09-30 13:35:49 1269

原创 opencv:使用主成分分析PCA计算轮廓的偏转角度

PCA能够不过于依赖特定的轮廓形状来计算多个轮廓之间的偏转角度,比最小外接矩形法、最小外接椭圆法计算轮廓之间的偏转角度更为适用。总的来说,就是利用主成分分析方法得到轮廓的主特征向量,根据主特征向量来计算轮廓的角度。读取图像,对图像进行HSV转换,使用明暗通道的图像进行处理轮廓提取。使用主成分分析计算轮廓的特征向量,根据特征向量得到轮廓的偏转角度。

2024-09-30 09:20:01 833

原创 Window下动态链接库在VC++6.0中使用时编译器环境和C++标准的差异引起的不兼容现象

VC++6.0使用VS编译的动态链接库出现的引用vector参数不兼容问题记录,及解决方法

2024-09-11 16:15:47 356

原创 数据结构(03):线性表的逻辑结构

线性表的逻辑结构:介绍了线性表的逻辑结构,并阐述了线性表的基本特征,即线性表的抽象数据类型

2024-08-15 14:05:36 321

原创 数据结构(02):算法的度量-时间复杂度

算法运行效率的度量:事后统计方法和事前分析估算方法;时间复杂度:什么是时间复杂度、时间复杂度的计算步骤、时间复杂度计算的示例

2024-08-14 14:30:13 1056

原创 数据结构(01):数据结构概述(基本术语、逻辑结构和物理结构)

数据结构概述(数据项、数据元素、数据对象、数据结构、逻辑结构和物理结构)

2024-08-07 20:50:23 451 1

原创 Linux:线程同步机制(互斥锁、读写锁、条件变量、信号量详细分析总结)

Linux:线程同步机制(互斥锁、读写锁、条件变量、信号量详细分析总结)

2024-08-07 19:21:01 2143

原创 Linux:线程同步之信号量

Linux:信号量详细介绍,并使用信号量和互斥锁实现生产者-消费者模型

2024-08-07 14:27:32 666

原创 Linux:线程同步之条件变量(条件变量的概念、作用、使用方法、手写实现生产者-消费者模型)

Linux:线程同步之条件变量(条件变量的概念、作用、使用方法、手写实现生产者-消费者模型);1.条件变量的相关函数:pthread_cond_init、pthread_cond_siginal、pthread_cond_broadcast、pthread_cond_wait、pthread_cond_timewait等使用;2.生产者消费者模型的实现(使用条件变量和互斥锁实现该模型)

2024-08-06 14:33:01 1256

原创 Linux:线程同步之读写锁(读写锁的本质、读写锁的作用、如何使用读写锁、读写锁的特征)

Linux:线程同步之读写锁(读写锁的本质、读写锁的作用、如何使用读写锁、读写锁的特征);初始化读写锁对象pthread_rwlock_init、pthread_rwlock_wrlock、pthread_rwlock_rdlock、pthread_rwlock_unlock、pthread_rwlock_destroy等

2024-08-06 10:06:16 478

2022-吴恩达机器学习课程(原始讲义)高清完整版PPTpdf

2022_吴恩达机器学习课程(原始讲义)高清完整版PPTpdf 包含对应课程所有PPT 仅供大家学习使用,请勿用作商业目的

2023-05-08

《C++ Prime Plus》Stephen Prata 图书笔记

Stephen Prata 的《C++ Prime Plus》完整版自学总结笔记,有代码可直接运行,便于入门C++的同学高效地学习C++编程语言,笔记完整,有许多自己写的案例,可供大家参考

2023-06-08

空空如也

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

TA关注的人

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