当一个点与紧邻其前的点重复时将其移除;距离更远的相同点则保留。
打开 checkFirstAndLast 时,与第一个重复的最后一个点也会被丢弃。相互之间在 tolerance 以内的点算作相同。
示例:[[0,0,0], [0,0,0], [1,0,0], [1,0,0], [2,0,0]] -> [[0,0,0], [1,0,0], [2,0,0]]
点、容差以及是否比较首尾两点
去除连续重复后的点
由 x、y 和 z 值构建 3D 点。
示例:x=10, y=5, z=3 -> [10,5,3]
三个值
点 [x, y, z]
在 XY 平面内布置蜂窝状六边形的中心点。
radiusHexagon 是六边形中心到角的距离;列沿 X,行沿 Y,每隔一行偏移半列。orientOnCenter 使网格以原点为中心,pointsOnGround 将其放在 XZ 平面上。
六边形大小、列数和行数,以及网格的放置位置
中心点,逐行排列
布置一片填满给定宽度和高度的蜂窝状六边形,根据数量确定六边形的大小。
结果包含每个六边形的中心点和六个角。除非设置 flatTop,否则角朝上;扩展标志将外侧行拉伸到边缘之外,以覆盖矩形而没有锯齿状边框。
要填充的区域、六边形数量、朝向和放置选项
每个六边形的中心和角点
找出与经过三点的平面垂直的方向,长度为 1。
方向遵循从第一点到第二点再到第三点的右手定则;reverseNormal 将其翻转。共线的点没有平面,因此结果为 undefined。
示例:[0,0,0], [1,0,0], [0,1,0] -> [0,0,1]
三个点以及是否反转结果
单位法线,当三点共线时为 undefined
找出容纳所有点的最小轴对齐盒。
结果包含最小和最大角点、中心,以及宽度(X)、高度(Y)和长度(Z)。 示例:点 [[0,0,0], [10,5,3]] -> min [0,0,0],max [10,5,3],center [5,2.5,1.5]
边界框及其角点、中心和尺寸
测量一个点到列表中最近点的距离。
示例:点 [0,0,0] 和点 [[5,0,0], [10,0,0], [3,0,0]] -> 3
测量起点和要搜索的点
到最近点的距离,以模型单位表示
找出列表中最近点的位置,从 1 开始计数。
示例:点 [0,0,0] 和点 [[5,0,0], [10,0,0], [3,0,0]] -> 3
测量起点和要搜索的点
最近点的索引,从 1 开始
找出列表中离给定点最近的点。
示例:点 [0,0,0] 和点 [[5,0,0], [10,0,0], [3,0,0]] -> [3,0,0]
测量起点和要搜索的点
最近的点
找出适合某个角的最大圆角:圆弧与两条线段都相切并保持在它们之内。
角是 end;start 和 center 是在此相交的两条线段的远端。半径受较短线段限制。平直或折回的角,或短于 tolerance 的线段,给出 0。
每条线段的远端、它们共享的角点,以及容差
最大圆角半径,以模型单位表示
找出某个角的最大圆角,其圆弧在每条线段较近的一半内与之相切,使折线的相邻各角都能倒圆角而圆弧不重叠。
角是 end;start 和 center 是两条线段的远端。平直或折回的角,或短于 tolerance 的线段,给出 0。
每条线段的远端、它们共享的角点,以及容差
半段规则下的最大圆角半径,以模型单位表示
找出折线每个角的最大圆角,各自限制在其线段较近的一半内,使圆角永不重叠。
打开 checkLastWithFirst 时,折线被视为闭合,两端的两个角也包含在内。少于三个点给出空列表。
折线的点、是否闭合,以及容差
每个角点一个半径,按角点顺序排列
找出适合折线每个角的一个圆角半径:半线段规则下各角最大值中的最小者。
打开 checkLastWithFirst 时,折线被视为闭合。少于三个点,或任一角不允许圆角,给出 0。
折线的点、是否闭合,以及容差
适用于每个角点的半径,以模型单位表示
测量两点之间的直线距离。
示例:[0,0,0] 到 [3,4,0] -> 5
两个点
以模型单位表示的距离
测量一个点到列表中每个点的距离。
示例:起点 [0,0,0] 和终点 [[3,0,0], [0,4,0], [5,0,0]] -> [3, 4, 5]
起点和要测量到的点
每个终点一个距离,顺序相同
判断两点之间的距离是否小于容差。
示例:[1.0000001, 2, 3] 和 [1, 2, 3],容差 1e-6 -> true
两个点和容差
当两点之间的距离小于容差时为 true
对一个点应用一个变换矩阵,或按顺序应用一个矩阵列表。
示例:点 [0,0,0] 平移 [5,5,0] -> [5,5,0]
点和要应用的变换
变换后的点
对每个点应用同一个变换矩阵,或按顺序应用同一个矩阵列表。
示例:五个点旋转 90 度 -> 五个点一起旋转
点和要应用于每个点的变换
变换后的点,顺序相同
对每个点应用不同的变换:第一个变换用于第一个点,依此类推。
两个列表的长度必须相同,否则抛出错误。 示例:三个点配三个平移 -> 每个点按自己的平移移动
点和每个点各自的变换
变换后的点,顺序相同
将每个点按同一个向量移动。
示例:点 [[0,0,0], [1,0,0]] 移动 [5,5,0] -> [[5,5,0], [6,5,0]]
点和移动它们的向量
移动后的点,顺序相同
将每个点按自己的向量移动:第一个点按第一个向量,依此类推。
两个列表的长度必须相同,否则抛出错误。 示例:三个点配三个向量 -> 每个点按自己的向量移动
点和每个点各自的向量
移动后的点,顺序相同
将每个点按给定的 x、y 和 z 量移动。
示例:点 [0,0,0],x=10, y=5, z=0 -> [10,5,0]
点和沿每个轴移动的距离
移动后的点,顺序相同
以中心为基准向外或向内缩放点,每个轴有自己的系数。
示例:点 [10,0,0] 绕中心 [5,0,0],系数 [2,1,1] -> [15,0,0]
点、缩放所围绕的中心和每个轴的系数
缩放后的点,顺序相同
从中心出发沿一个方向拉伸点;垂直于该方向的距离保持不变。
示例:点 [10,0,0] 从中心 [0,0,0] 沿 [1,0,0],缩放 2 -> [20,0,0]
点、中心、拉伸方向和系数
拉伸后的点,顺序相同
绕经过中心的轴旋转点。
角度以度为单位,当轴指向你时逆时针转动。 示例:点 [10,0,0] 绕经过 [0,0,0] 的 Y 轴转 90 -> [0,0,-10]
点、轴方向、轴所经过的中心以及以度为单位的角度
旋转后的点,顺序相同
在列表中将一个点重复给定次数。
示例:点 [5,5,0] 三次 -> [[5,5,0], [5,5,0], [5,5,0]]
点和要生成的副本数量
副本列表
以普通数值数组表示的点。点是
[x, y, z],Y 指向上方,与向量的形式相同,因此两者可以互相传给对方的方法;2D 点是[x, y]。每个方法都返回新的点或数值,从不更改其输入。角度以度为单位,长度以模型单位表示。