摘要: localeCompare() 是字符串的方法,用来比较两个字符串在特定语言环境下的排序顺序。 chars.sort((a, b) => a.name.localeCompare(b.name)); 是按对象的 name 属性 按语言规则(通常是字母或拼音顺序)从小到大排序。 相比直接用 >、< 比 阅读全文
posted @ 2025-10-29 14:05 SimoonJia 阅读(2) 评论(0) 推荐(0)
摘要: 拖拽元素绑定: <div class="add-twin-wrap-container"> <div class="add-twin-wrap" @click.stop> <p class="title" @mousedown="onDragStart"> 添加场景类型实例 <span class= 阅读全文
posted @ 2025-10-29 12:01 SimoonJia 阅读(1) 评论(0) 推荐(0)
摘要: [地理坐标系] 4326 (WGS-84) 4490 (CGCS2000) |投影 |投影 v v 3857 (Web Mercator) 32650 (UTM Zone50N) 阅读全文
posted @ 2025-10-27 18:26 SimoonJia 阅读(1) 评论(0) 推荐(0)
摘要: 🧱 一、SelectionBox 是什么? SelectionBox 是 Three.js 示例库中的一个工具类(examples/jsm/interactive/SelectionBox.js),用于通过定义一个**三维空间包围盒(Box3)**来选中视野内的物体。 换句话说: 它根据相机、鼠标 阅读全文
posted @ 2025-10-17 10:38 SimoonJia 阅读(11) 评论(0) 推荐(0)
摘要: 实现instanceMesh内某个单例暂时隐藏 const _zeroMatrix = new THREE.Matrix4().multiplyScalar(0); 阅读全文
posted @ 2025-10-16 15:24 SimoonJia 阅读(2) 评论(0) 推荐(0)
摘要: “主线程阻塞型帧堆积(Frame Backlog)” 是前端性能调优中一个非常核心但常被忽视的现象,尤其在 WebGL / Three.js / 游戏循环 或 高频 UI 渲染 场景下。 🧠 一、定义:什么是“主线程阻塞型帧堆积” 帧堆积(Frame Backlog) 指的是: 渲染任务(fram 阅读全文
posted @ 2025-10-15 10:11 SimoonJia 阅读(10) 评论(0) 推荐(0)
摘要: Map 的好处: 键可以是任意类型(包括对象) 保持插入顺序 查找性能优于普通对象(尤其是大量键时) // 创建缓存 const cache = new Map(); // 存入数据 cache.set('user_1', { name: 'Alice', age: 25 }); // 读取数据 i 阅读全文
posted @ 2025-10-14 12:01 SimoonJia 阅读(5) 评论(0) 推荐(0)
摘要: 主进程 import ClearTouchGroundCacheCode from '../utils/workers/clearTouchGroundCache.worker.js'; const blob = new Blob([ClearTouchGroundCacheCode], { typ 阅读全文
posted @ 2025-10-11 15:45 SimoonJia 阅读(5) 评论(0) 推荐(0)
摘要: 角度通常用 弧度(radian)表示,所以你要做的就是把任意弧度值「归一化」到 [0, 2π) 之间。 弧度归一 normalizeAngle(angle) { const twoPI = Math.PI * 2; return ((angle % twoPI) + twoPI) % twoPI; 阅读全文
posted @ 2025-09-28 19:15 SimoonJia 阅读(18) 评论(0) 推荐(0)
摘要: 常用方案三进行模型控制 方案 1:直接用 lookAt 如果你的方向向量是从 A → B,那么可以用 lookAt: const dir = p2.clone().sub(p1).normalize(); // 世界方向向量 const target = p1.clone().add(dir); / 阅读全文
posted @ 2025-09-26 16:20 SimoonJia 阅读(8) 评论(0) 推荐(0)