spp 点在参考平面内按逆时针/顺时针排序 · SP

将点换基到参考平面坐标,以局部 X/Y 极角排序并由按钮状态切换升序或降序
📂 LK → Point📄 SortPtsByPln.cs🔘 按钮(顺/逆时针)

📖 功能概述

输入点列表和参考平面,将世界坐标换基到参考平面局部坐标;使用局部 X/Y 的 Atan2 极角排序,局部 Z 不参与极角计算。

💡 核心逻辑:每个点会先换算出相对于平面原点的极角,再按角度顺序输出。

🔘 按钮状态

状态按钮文字排序方向
btnState1 = false(默认)顺时针按角度升序
btnState1 = true逆时针按角度降序

📥 输入参数

名称类型必填说明
Points (P)Point必需需要排序的点列表。
Plane (p)Plane必需参考平面。
Index (i)Integer可选起始点序号;未指定时自动选择起点。

📤 输出参数

名称类型说明
Sorted Points (P)Point排序后的点列表。
Indices (i)Integer排序结果中每个点在原列表中的索引。
Starting Index (si)Integer实际使用的起始点索引。

🧠 源码执行流程

SortPtsByPln 换基、极角、起点和方向排序信息图
图 1:点先换基到参考平面坐标,排序使用局部 X/Y 极角;起点来自有效原索引或自动选择,随后按相对角与距离升序或降序输出。

⚠️ 注意事项

📋 组件信息

名称点在参考平面内按逆时针/顺时针排序
英文名SP
分类LK → Point
基类ButtonComponent