- 博客(919)
- 资源 (16)
- 收藏
- 关注
原创 裸仓库 + Git Bash 搭建 本地 Git 服务端与客户端
在Windows上搭建简易Git服务器的方法:1️⃣安装Git时勾选GitBash和OpenSSH;2️⃣创建裸仓库(git init --bare);3️⃣客户端通过本地路径或SSH克隆仓库;4️⃣局域网访问需开启OpenSSH服务并配置公钥。适用于个人开发或小团队协作,支持本地和SSH两种访问方式。主要命令包括git clone、git push等基本操作,实现轻量级代码版本管理。
2025-07-04 16:03:13
455
原创 微软.net与net core
.NET”和“.NET Core”是微软开发的两个不同阶段的运行时平台,后来合并为统一的“.NET(现代 .NET)”。
2025-06-17 11:59:22
451
原创 图像渲染之锯齿问题原理解析
锯齿是因为我们用像素去近似连续图形时“看得太粗了”;抗锯齿就是想办法“看细一点、多看几眼”。注:上文摘自chatgpt。
2025-06-16 14:29:20
361
原创 OCCT 中 BRepBuilderAPI_MakePolygon与BRepBuilderAPI_MakeWire
是 OCCT 中专门用于从点或边构建)的简洁工具类,适用于构建。类似都继承自。
2025-06-12 19:56:20
273
原创 Opengl Texture Wrapping
在 OpenGL 和 GLSL 中,纹理环绕(Wrapping)决定了当纹理坐标超出[0.0, 1.0]范围时,采样器应如何处理的策略。例如,当你把一张图片映射到一个大表面上时,坐标可能会超出边界,此时就需要“环绕模式”来控制显示行为。
2025-05-28 11:27:28
312
原创 Opengl纹理采样
是在着色器中使用纹理坐标,从纹理中获取对应像素颜色值(texel)的过程。:一个图像,通常为 2D,但也可以是 1D、3D、立方体图等。着色器中只能采样在片元着色器、几何着色器、计算着色器等阶段。:纹理采样器变量,链接到 OpenGL 纹理单元。必须启用对应纹理对象,并设置好环绕和过滤参数。:在着色器中根据纹理坐标提取纹理颜色的过程。:纹理坐标,通常传自顶点着色器。,用于表示纹理图像中的位置。注:本文参考自chatgpt。:二维坐标,通常范围在。,表示纹理该坐标位置的。
2025-05-28 11:20:33
404
原创 GLSL texture()
在中,是指纹理贴图,是图形渲染中常用的一种资源,用来为3D对象提供丰富的表面细节(如颜色、凹凸感等)。GLSL 提供了许多函数来访问和操作纹理数据,通常用于片元着色器(Fragment Shader)中。
2025-05-28 11:17:11
222
原创 凸包算法详细简介以及c++实现
凸包是计算几何中包含点集的最小凸多边形,应用广泛于图像处理、路径规划等领域。常见算法包括Graham扫描法(O(nlogn))和Andrew算法(O(nlogn)),均利用向量叉积判断点是否构成凸包。Graham扫描法先找最低点并按极角排序,通过栈维护凸包;Andrew算法通过构造上下凸壳实现。两种方法都需注意共线点和精度问题。文中提供了C++实现代码,可直接用于求解点集的凸包顶点。算法选择取决于具体需求,Graham扫描稳定但实现稍复杂,Andrew算法更简单高效。
2025-05-28 11:14:53
515
原创 windows设置开机启动
将新建的字符串命名为程序的名称,并在“数值数据”中输入程序的完整路径(例如:C:\Program Files\MyProgram\program.exe。在这里,你会看到可以启用或禁用的应用程序。打开你希望在启动时运行的程序。如果你想精确控制哪些程序在启动时运行,可以通过注册表来设置。选择操作为“启动程序”,然后浏览并选择你想启动的程序。将复制的快捷方式粘贴到刚才打开的“启动”文件夹中。任务计划程序可以让你更灵活地设置程序在启动时运行。设置任务的名称(如“开机启动程序”)。找到你想在开机时启动的程序。
2025-05-13 10:33:57
524
原创 OCCT之曲线
在 Open CASCADE Technology 中,曲线是构建 3D 模型的基础元素之一。OCCT 提供了多种常用的曲线类型,包括贝塞尔曲线B样条曲线NURBS曲线等,通过使用不同的控制点、节点、权重和阶数,可以表示各种复杂的几何形状。你可以根据具体的应用场景(如 CAD、CAE、动画等)选择不同的曲线类型。OCCT 提供了丰富的接口,帮助你实现精确的几何建模和路径计算。
2025-02-28 16:54:19
1195
1
原创 图形学常用曲线
图形学中的曲线通常与计算机图形、动画、几何建模等相关,用于表示物体的形状、路径或运动轨迹。与数学函数曲线相比,图形学中的曲线往往更侧重于实际应用,能够在数字模型中精确地描绘复杂的曲线和表面。
2025-02-28 14:36:28
816
原创 常用空间数据结构对比
数据结构适用场景优点缺点典型应用四叉树(Quadtree)二维空间数据简单,查询和插入高效对不均匀分布的数据支持差地图索引,图像分割,区域查询八叉树(Octree)三维空间数据适合处理三维稀疏数据存储开销大,不均匀数据性能差3D建模,虚拟现实,游戏空间查询k-d树(k-dimensional tree)高维空间数据高效的范围查询和邻近查询高维空间时“维度灾难”KNN算法,机器学习,特征空间查询R树(R-tree)多维空间数据,矩形区域索引。
2025-02-27 09:59:05
866
原创 kicad中R树的使用
元件布局和碰撞检测:加速元件间的碰撞检测。设计规则检查(DRC):快速检测元件和线路间的最小间距。自动布线:帮助快速检测布线路径的可用空间。3D 可视化与碰撞检测:提高元件间物理碰撞检测的效率。R 树通过提供高效的空间查询能力,在大规模设计中加速空间计算和碰撞检测,帮助 KiCad 实现更快、更精确的设计验证。虽然 KiCad 的具体实现细节可能因版本不同而有所变化,但 R 树作为一个强大的空间索引工具,在 PCB 设计优化中扮演着重要角色。
2025-02-26 17:41:23
930
原创 c++ 三维图形 R树的简单应用案例
我们可以构建一个简单的应用案例,其中使用三维 R 树来存储和查询3D空间中的矩形包围盒(Bounding Boxes)。假设我们的应用场景是存储一些 3D 物体(如建筑、车辆、物品等)的空间位置,并根据查询范围来返回哪些物体与查询区域相交。
2025-02-26 17:07:23
217
原创 Win10离线安装.NET Framework 3.5方法
这时“此电脑”中就会显示虚拟光驱“DVD驱动器(X:)”,记下盘符,这里显示的盘符是“J:”右键点击Win10开始按钮,选择“Windows PowerShell(管理员)”)。在Win10任务栏搜索框中输入 cmd ,在搜索结果中选择“以管理员身份运行”。在“管理员: Windows PowerShell”中运行命令。在Win10 ISO镜像文件上点击右键,选择“装载”。在“管理员: 命令提示符”中运行命令poweshell。等待部署完毕,进度100%,提示“操作成功完成”。
2025-02-19 17:38:36
876
原创 C++ 构建 BVH 树
在 BVH 中,每个节点通常包含一个包围盒,常见的包围盒类型是,它是与坐标轴对齐的矩形盒子。首先,我们定义一个简单的AABB// 向量减法// 向量加法// 计算向量的最大值// 计算向量的最小值// 包围盒的最小和最大坐标AABB() {// 更新包围盒// 判断两个包围盒是否相交内部节点(包含子节点)和叶子节点(包含物体或三角形)。AABB bbox;// 包围盒// 左子节点// 右子节点// 对应物体的索引(叶子节点)// 叶子节点构造。
2025-02-13 17:25:52
507
原创 BVH树简介
BVH 树是一种以层次结构组织的包围盒(Bounding Volume)数据结构,通常用来提高渲染效率、碰撞检测效率和光线追踪等操作的性能。它通过将对象或场景中的几何体分层包围在一个个简单的包围体(通常是矩形、球体、盒子等)内来优化计算。BVH 树的主要目标是通过减少需要处理的元素数目来提高计算速度。通过将场景中的物体分组并在每个分组上使用一个简单的包围盒来描述其边界,减少了对每个物体的单独检测。
2025-02-13 17:23:38
927
原创 UV坐标概述
通常,UV坐标的取值范围是[0, 1],其中(0, 0)表示纹理的左下角,(1, 1)表示右上角。然而,UV坐标可以超出此范围,导致纹理的重复、镜像或拉伸,具体行为取决于纹理的环绕方式(Wrap Mode)。每个三维模型的顶点都关联有一组UV坐标,指示该顶点在纹理图像上的位置。通过这些坐标,渲染引擎能够将纹理正确地应用到模型表面。通过UV坐标,三维模型的表面可以精确地映射到二维纹理图像上,实现复杂的视觉效果。是计算机图形学中用于将二维纹理映射到三维模型表面的坐标系统。
2025-02-12 10:10:48
594
转载 【git】 ssh: connect to host github.com port 22: Connection timed out 的解决方法
原文链接:https://blog.csdn.net/qq_60663649/article/details/135753947。这个命令的意思是:使用SSH,通过443端口,连接到ssh.github.com服务器,用户名为git,并且不分配一个伪终端。
2025-01-22 11:42:49
1080
原创 OCCT 之 TDF_Attribute 以及子类
是中核心数据结构与结合使用,实现对模型的各种操作。以下摘自OCCT7.7.0官方文档通过TDF_Attribute派生类,我们可以实现对附加OCCT支持的且自己需要的任何模型信息,也可以从获取对应的信息做其它处理。具体使用可以参考FreeCad。
2025-01-21 16:14:33
488
原创 数学结构-图
(Edge)构成的数学结构,用于表示一类具有节点间连接关系的数据结构。图在计算机科学中有广泛的应用,例如在社交网络、地图导航、网络通信等领域。邻接表用一个数组或链表来表示每个顶点的邻居。对于每个顶点,它维护一个链表或数组,包含与它直接相连的顶点。这种表示方法的空间效率比邻接矩阵更高,尤其是对于稀疏图(即边数远小于顶点数的图)来说。的矩阵,矩阵中的每个元素表示两个顶点之间是否有边连接。邻接矩阵使用一个二维数组来表示图。个顶点的图,邻接矩阵是一个。图(Graph)是由一组。(Vertex)和一组。
2025-01-20 16:43:46
606
转载 error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”
代码中在Debug模式下将_ITERATOR_DEBUG_LEVEL设置为0,希望能在 Debug模式下加速程序运行,这样在 Debug模式下_ITERATOR_DEBUG_LEVEL值不匹配,也可能出现上述问题。Debug模式下只是用Debug模式dll文件的文件名(Debug模式dll文件的文件名末尾通常会带d);项目属性设置错误,解决方案--》属性--》C/C++--》代码生成--》运行库 属性。解决方案--》属性--》链接器--》输入--》附加依赖项中修改lib文件名称。
2025-01-10 14:23:21
674
原创 c# WaitSleepJoin状态的线程如何自动恢复
要让处于使用或:用于lock语句块中,通过唤醒等待的线程。使用或:线程等待这些事件的信号来恢复。使用:线程会在指定时间后自动恢复执行。使用Task.Delay:异步任务会在指定时间后自动恢复。通常,现代 C# 开发推荐使用Task和模式来避免复杂的线程管理。
2024-12-26 16:58:59
637
原创 c#多线程之生产者-消费者模型
是 C# 中实现生产者-消费者模式的理想工具。它是线程安全的,支持阻塞操作,且可以容纳多个生产者和消费者。通过的Add和Take方法,生产者和消费者可以安全地进行数据交换而无需担心并发问题。使用多个生产者和消费者线程时,会自动处理队列的同步和线程间协调。
2024-12-26 15:34:09
717
原创 c++ std::unique_lock与std::lock_guard
是一个简单的、不能显式解锁或重新加锁的锁封装。适用于简单的加锁和解锁场景。提供了更多的灵活性,允许显式解锁和重新加锁,适用于需要这种灵活性或与条件变量等高级同步操作结合的场景。:简单、轻量、快速,适用于不需要显式控制锁的场景。:功能强大,适用于需要显式控制锁,或者在使用条件变量、延迟加锁等高级功能的场景。
2024-12-26 15:29:50
663
原创 c++ 类似与c# 线程 AutoResetEvent 和 ManualResetEvent的实现
可以通过和一个布尔标志来模拟,调用Wait()会让线程等待信号,Set()会唤醒一个线程并自动重置信号状态。可以通过和来模拟,Set()会保持信号状态,直到显式调用Reset()重置状态。这些 C++ 代码示例演示了如何利用和std::mutex来实现类似于 C# 中的和的功能。
2024-12-26 15:27:53
523
原创 c++ 多线程之生产者-消费者模型
通过使用std::mutex和,我们能够确保线程安全地访问共享队列,并在队列为空或满时让线程适当地等待和唤醒。生产者和消费者的行为通过std::queue来管理数据的传递,使用来协调它们的工作。std::mutex确保队列在并发访问时不发生竞争条件,而让生产者和消费者根据队列状态灵活地进行同步。
2024-12-26 15:23:36
577
原创 c# 线程 AutoResetEvent 的Set()函数多次调用
的Set()方法多次调用并不会导致多个线程同时被唤醒。它每次调用时,最多只会唤醒一个线程。信号会在唤醒后自动重置为无信号状态,除非下次调用Set()。
2024-12-26 14:46:12
694
原创 PCIe系列详细性能对比
如果只是日常办公和普通游戏,PCIe 3.0 已足够。如果你需要更高的数据传输速度,尤其是对于 PCIe 4.0 或更高的 NVMe SSD,PCIe 4.0 将是一个不错的选择。对于高性能计算、AI 或大数据存储,PCIe 5.0 和 PCIe 6.0 将提供所需的带宽,特别是当你使用需要超高带宽的设备时。
2024-12-17 11:54:44
3833
原创 Intel i系列CPU详细参数对比
Intel i系列处理器的详细性能参数会根据不同的代数(如第 10 代、11 代、12 代、13 代等)有所差异。不过,通常情况下,以下是Intel Core i3、i5、i7 和 i9 系列在性能上的主要参数差异。
2024-12-17 11:44:08
2611
转载 git submodule
但是我自己本地实验的时候,发现用下面的方式也可以,服务器记录的是.gitmodules和moduleA,本地只要用git的删除命令删除moduleA,再用git status查看状态就会发现.gitmodules和moduleA这两项都已经改变了,至于.git/config,仍会记录submodule信息,但是本地使用也没发现有什么影响,如果重新从服务器克隆则.git/config中不会有submodule信息。,所以.gitmodules和moduleA这两项是需要提交到父项目的远程仓库的。
2024-12-12 17:55:22
116
原创 漫步者lolliPods2022版切换双耳模式
漫步者lolliPods2022版蓝牙耳机切换双耳模式问题,不知道触碰到哪里,耳机只能单个有声音,无法切换至双耳模式。
2024-12-12 17:32:39
436
原创 OCCT 的OCAF之遍历TDF_Label树
如果想从中获取单独的和对应的颜色信息等,那就需要遍历树中储存的信息,如果不想麻烦的去遍历,可以直接使用来直接渲染t内部已经处理好了。
2024-12-05 18:06:04
609
原创 OCCT 的OCAF 框架理解
OCCT(Open CASCADE Technology)的 OCAF(Open CASCADE Application Framework) 是一个数据管理框架,专门设计用于组织和管理复杂的 CAD 数据,例如装配体、形状、属性(如颜色、材料)、元数据等。OCAF 是 OCCT 的核心模块之一,提供了结构化、层次化的数据存储方式。理解了它对使用OCCT进行建模,数据交换,渲染都会有比较深的理解,以此为基础开发自己的CAX,EDA软件(例如开源的FreeCAD,KiCAD等),在这里推荐使用ChatGPT搜
2024-12-05 11:59:07
678
原创 C++异步编程(Promise 和 Future)
与c#(async/await)类似,c++ stl也提供类似的异步编程操作,如下文摘自ChatGPT,详细介绍了此类用法。C++11 引入了 Promise 和 FutureC++17 引入了 async/await语法在 C++11 中,和提供了一种线程间通信的方式。它们常用于一个线程(生产者)产生值,另一个线程(消费者)等待该值。这种机制被称为“承诺-未来”模式。
2024-11-26 10:10:07
1043
缓冲区溢出实验
2015-12-01
CommUSB.rar
2020-08-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人