摘要: B‑rep布尔运算(Boolean)通俗讲解 布尔运算就是CAD里面:合并、相减(打孔)、求交集。 相加(Union):两个零件合并成一个 相减(Difference):A减去B,拿B在A上面挖掉一块,打孔就是它 求交(Intersection):只保留两个物体互相重叠的那一部分 注意:布尔运算操作 阅读全文
posted @ 2026-08-14 16:26 Drunker•L 阅读(10) 评论(0) 推荐(0)
摘要: 非流形拓扑(Non‑manifold) 这是B‑rep里高频报错的概念,STEP导入、布尔运算失败一大半坑都来自它。 先给通俗总定义: 非流形,就是模型上出现了违背现实实体零件连接规则的拓扑结构。现实物理世界造不出来这种物体,但是计算机B‑rep拓扑可以生成出来。 先对比:流形拓扑(Manifold 阅读全文
posted @ 2026-08-14 16:26 Drunker•L 阅读(8) 评论(0) 推荐(0)
摘要: STEP(.stp /.step) 文件 全称:Standard for the Exchange of Product model data,产品模型数据交换标准。 简单一句话:STEP 是工业界通用的“零件快递盒子”,盒子里面装的就是整套 B‑rep 数据。 区分记忆: STEP:装 B‑rep 阅读全文
posted @ 2026-08-14 16:25 Drunker•L 阅读(7) 评论(0) 推荐(0)
摘要: 一、B‑rep(Boundary Representation,边界表示法) 大白话:B‑rep 是描述一个实体的外壳边界,用数学精确方程去描述零件,而不是一堆小三角面片。 先举现实例子:一个实心铁球。 三角网格思路:几千个小三角形拼出球面,只是视觉近似。 B‑rep思路:我直接记录:这是一个球体, 阅读全文
posted @ 2026-08-14 16:25 Drunker•L 阅读(6) 评论(0) 推荐(0)
摘要: 一、为什么渲染几乎只用三角形? 先记住一句话:显卡硬件天生只认三角形,不是正方形、不是五边形,更不是光滑曲面。 我们先想象:任意一个平面多边形,四边形、五边形、六边形,都可以切成多个三角形。 四边形 → 2个三角形 五边形 → 3个三角形 任意复杂凸/凹多边形,总能拆成一堆三角形。 1.数学上:三角 阅读全文
posted @ 2026-08-14 16:25 Drunker•L 阅读(6) 评论(0) 推荐(0)
摘要: 现实物体 → 计算机屏幕完整流程(通俗版) 现实世界一个实物(比如一个零件、杯子),计算机不能直接看见它。全部是靠数字描述 + 一层层计算,最后变成屏幕上的像素。 整个链路分为4大步:几何建模 → 场景描述 → 渲染计算 → 输出到屏幕。 1、第一步:把现实物体,变成计算机能懂的数字模型(建模) 计 阅读全文
posted @ 2026-08-14 16:24 Drunker•L 阅读(6) 评论(0) 推荐(0)
摘要: StringBuffer 和 StringBuilder StringBuffer 和 StringBuilder 都是 Java 中用于处理可变字符串的类,它们在性能和使用场景上有些相似,但也有一些关键的不同点。下面是它们的异同点总结以及使用场景。 相同点: 可变性: StringBuffer 和 StringBuilder 都是可变的字符串类,允许在原 阅读全文
posted @ 2025-02-10 19:51 Drunker•L 阅读(43) 评论(0) 推荐(0)
摘要: 978. 最长湍流子数组 最长湍流子数组 给定一个整数数组 arr ,返回 arr 的 最大湍流子数组的长度 。 如果比较符号在子数组中的每个相邻元素对之间翻转,则该子数组是 湍流子数组 。 更正式地来说,当 arr 的子数组 A[i], A[i+1], ..., A[j] 满足仅满足下列条件时,我们称其为湍流子数组: 若 阅读全文
posted @ 2025-02-05 19:59 Drunker•L 阅读(56) 评论(0) 推荐(0)
摘要: 1011. 在 D 天内送达包裹的能力 在 D 天内送达包裹的能力 传送带上的包裹必须在 days 天内从一个港口运送到另一个港口。 传送带上的第 i 个包裹的重量为 weights[i]。每一天,我们都会按给出重量(weights)的顺序往传送带上装载包裹。我们装载的重量不会超过船的最大运载重量。 返回能在 days 天内将传送带上的所 阅读全文
posted @ 2025-01-10 21:14 Drunker•L 阅读(71) 评论(0) 推荐(0)
摘要: 719. 找出第 K 小的数对距离 找出第 K 小的数对距离 数对 (a,b) 由整数 a 和 b 组成,其数对距离定义为 a 和 b 的绝对差值。 给你一个整数数组 nums 和一个整数 k ,数对由 nums[i] 和 nums[j] 组成且满足 0 <= i < j < nums.length 。返回 所有数对距离中 第 k 小 阅读全文
posted @ 2025-01-10 20:22 Drunker•L 阅读(84) 评论(0) 推荐(0)
摘要: 350. 两个数组的交集 II 两个数组的交集 II 给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。 示例 1: 输入:nums1 = [1,2,2,1], nums 阅读全文
posted @ 2025-01-08 19:33 Drunker•L 阅读(40) 评论(0) 推荐(0)
摘要: 209. 长度最小的子数组 长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 1: 输入 阅读全文
posted @ 2025-01-07 19:29 Drunker•L 阅读(113) 评论(0) 推荐(0)
摘要: 875. 爱吃香蕉的珂珂 爱吃香蕉的珂珂 珂珂喜欢吃香蕉。这里有 n 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 h 小时后回来。 珂珂可以决定她吃香蕉的速度 k (单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 k 根。如果这堆香蕉少于 k 根,她将吃掉这堆的所有香蕉,然后这一小时内不 阅读全文
posted @ 2025-01-06 19:49 Drunker•L 阅读(109) 评论(0) 推荐(0)
摘要: 负载均衡 负载均衡 负载均衡(Load Balancing)是一种技术或策略,用来分配来自多个客户端的请求或流量到多个服务器上,确保各个服务器之间的负载分配合理,避免某台服务器过载或空闲,从而提高系统的可用性、可靠性和性能。通过负载均衡,系统能够根据不同的负载情况自动调整资源,优化响应时间,并提高容错能力。 阅读全文
posted @ 2025-01-04 21:08 Drunker•L 阅读(129) 评论(0) 推荐(0)
摘要: 50. Pow(x, n) Pow(x, n) 实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。 示例 1: 输入:x = 2.00000, n = 10 输出:1024.00000 示例 2: 输入:x = 2.10000, n = 3 输出:9.26100 示例 3: 输入:x = 2.0000 阅读全文
posted @ 2025-01-04 19:25 Drunker•L 阅读(88) 评论(0) 推荐(0)
摘要: 287. 寻找重复数 寻找重复数 给定一个包含 n + 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。 你设计的解决方案必须 不修改 数组 nums 且只用常量级 O(1) 的额外空间。 示例 阅读全文
posted @ 2025-01-03 21:12 Drunker•L 阅读(120) 评论(0) 推荐(0)
摘要: 162. 寻找峰值 寻找峰值 峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。 你可以假设 nums[-1] = nums[n] = -∞ 。 你必须实现时间复杂度为 O(log n) 的算法来解决此 阅读全文
posted @ 2025-01-01 19:36 Drunker•L 阅读(134) 评论(0) 推荐(0)
摘要: 81. 搜索旋转排序数组 II 搜索旋转排序数组 II 已知存在一个按非降序排列的整数数组 nums ,数组中的值不必互不相同。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转 ,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], n 阅读全文
posted @ 2024-12-30 19:16 Drunker•L 阅读(79) 评论(0) 推荐(0)
摘要: 33. 搜索旋转排序数组 搜索旋转排序数组 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums 阅读全文
posted @ 2024-12-30 19:03 Drunker•L 阅读(168) 评论(0) 推荐(0)
摘要: 34. 在排序数组中查找元素的第一个和最后一个位置 在排序数组中查找元素的第一个和最后一个位置 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 阅读全文
posted @ 2024-12-28 19:29 Drunker•L 阅读(174) 评论(0) 推荐(0)