GeometrySample 几何采样

GeometrySample算子用于对指定的几何目标进行等分。该算子将指定的几何目标划分为数个等分段,用于检测和识别几何目标。

type 功能
Line 将线段等分,输出分割点的坐标。
Circle 将圆的圆周等分,输出分割点的坐标。
CirclePart 起始点和结束点到圆心的连线投影到圆圈上,与圆圈生成 2 个交点,等分 2 个点之间的圆周部分,输出分割点的坐标。

Line

将 GeometrySample 算子 类型 设置为Line,用于将线段 sample_num-1 等分,输出一系列分割点( Pose 形式 ) 。

Line 分割后的每一个 pose ,其 X 轴都沿着 Line 的线段方向。

算子参数

  • 采样数量/sample_num:将线段分割成 ( sample_num-1 ) 段,输出 sample_num 个分割点。

  • 坐标列表/pose_list:对分割点列表进行显示控制。

    • icon_visOn 打开分割点列表可视化。

    • icon_visOff 关闭分割点列表可视化。

    • icon_size 设置分割点列表的尺寸大小。取值范围:[0.001,10] 。默认值:0.1 。

数据信号输入输出

输入:

  • line

    • 数据类型:Line

    • 输入内容:线段

输出:

  • poses

    • 数据类型:PoseList

    • 输出内容:N 等分的分割点

功能演示

使用 GeometrySample 算子中 Line ,将生成的线段分成 4 等分,并输出一系列分割点( Pose 形式)。

步骤1:算子准备

添加 Trigger 、Emit 、Emit_1 、Emit_2 、GeometrySample 算子至算子图。

步骤2:设置算子参数

  1. 设置 Emit 算子参数:

    • 类型 → Pose

    • 坐标 → 0.1 0.08 0 1 0 0

  2. 设置 Emit_1 算子参数:

    • 类型 → Pose

    • 坐标 → 0.03 0.1 0.05 0 1 0

  3. 设置 Emit_2 算子参数:

    • 类型 → Line

    • 线段 → icon_visOn 可视

  4. 设置 GeometrySample 算子参数

    • 类型 →Line

    • 采样数量 → 5

    • 坐标列表 → icon_visOn 可视 → icon_size 0.01

步骤3:连接算子

3D_GeometrySample_Line_nodes

步骤4:运行

点击 RVS 运行按钮,触发 Trigger 算子。

运行结果

结果如下图所示,线段被分成 4等分,并输出一系列分割点。

3D_GeometrySample_Line_result

Circle

将 GeometrySample算子 类型 设置为 Circle ,用于将圆的圆周 sample_num 等分,输出一系列分割点 ( Pose 形式) 。Circle分割后的每一个 pose ,其 Z 轴都垂直于圆平面。

算子参数

  • 采样数量/sample_num:将圆分割成 sample_num 段,输出 sample_num 个分割点。取值范围:[1,+∞]。默认值:2。

  • other_rot:设置生成的 pose_list 方向。

    • True:按照圆心 pose 顺时针方向。

    • False:按照圆心 pose 逆时针方向。

  • 中心坐标/center_pose:设置圆心在 3D 视图中的可视化属性。

    • icon_visOn 打开圆心 pose 可视化。

    • icon_visOff 关闭圆心 pose 可视化。

    • icon_size 设置圆心的尺寸大小。取值范围:[0.001,10] 。默认值:0.1 。

  • 坐标列表/pose_list:设置分割点列表在3D视图中的可视化属性。

    • icon_visOn 打开分割点列表可视化。

    • icon_visOff 关闭分割点列表可视化。

    • icon_size 设置分割点列表的尺寸大小。取值范围:[0.001,10] 。默认值:0.1 。

数据信号输入输出

输入:

  • circle

    • 数据类型:Circle

    • 输入内容:圆

输出:

  • center_pose:

    • 数据类型:Pose

    • 输出内容:圆心

  • poses

    • 数据类型:PoseList

    • 输出内容:圆周分割点

功能演示

使用 GeometrySample 算子 中 Circle ,用于将生成的圆的圆周分成 5 等分,并输出一系列分割点( Pose 形式)。

步骤1:算子准备

添加 Trigger 、Emit 、GeometrySample 算子至算子图。

步骤2:设置算子参数

  1. 设置 Emit 算子参数:

    • 类型 → circle

    • 半径→ 0.3

    • 圆圈 → icon_visOn 可视

  2. 设置 GeometrySample 算子参数:

    • 类型 → circle

    • 采样数量 → 5

    • 坐标列表 → icon_visOn 可视

步骤3:连接算子

3D_GeometrySample_Circle_nodes

步骤4:运行

点击 RVS 运行按钮,触发 Trigger 算子。

运行结果

结果如下图所示,用于将圆的圆周分成 5 等分,并显示 5 个分割点。

3d_GeometrySample_circle_result

CirclePart

将 GeometrySample 算子类型选择 CirclePart, 起始点和结束点到圆心的连线投影到圆圈上,与圆圈生成 2 个交点,等分 2 个点之间的圆周部分,输出分割点的坐标。

算子参数

  • 采样数量/sample_num:将选取的圆周分割成 (sample_num-1) 段,输出 sample_num 个分割点。取值范围:[1,+∞]。默认值:2。

  • another_part:设置圆周等分的区域。

    • True: 圆中心 pose 的正方向(右手法则)。

    • False: 圆中心 pose 的反方向(右手法则)。

  • 中心坐标/center_pose:设置圆心在 3D 视图中的可视化属性。

    • icon_visOn 打开圆心 pose 可视化。

    • icon_visOff 关闭圆心 pose 可视化。

    • icon_size 设置圆心的尺寸大小。取值范围:[0.001,10] 。默认值:0.1 。

  • 坐标列表/poses:设置分割点列表在3D视图中的可视化属性。

    • icon_visOn 打开分割点列表可视化。

    • icon_visOff 关闭分割点列表可视化。

    • icon_size 设置分割点列表的尺寸大小。取值范围:[0.001,10] 。默认值:0.1 。

数据信号输入输出

输入:

  • circle

    • 数据类型:Circle

    • 输入内容:圆

  • start_point

    • 数据类型:Pose

    • 输入内容:圆周的起始角度

  • circle

    • 数据类型:Pose

    • 输入内容:圆周的结束角度

输出:

  • center_pose:

    • 数据类型:Pose

    • 输出内容:圆心

  • poses

    • 数据类型:PoseList

    • 输出内容:选取圆周分割点

功能演示

使用 GeometrySample 算子 中 CirclePart ,起始点和结束点到圆心的连线投影到圆圈上,与圆圈生成 2 个交点,等分 2 个点之间的圆周部分,输出5个分割点的坐标。

步骤1:算子准备

添加 Trigger 、Emit (3个)、GeometrySample 算子至算子图。

步骤2:设置算子参数

  1. 设置 Emit 算子参数:

    • 算子名称 → Emit_Circle

    • 类型 → circle

    • 圆圈 → icon_visOn 可视

  2. 设置 Emit_1 算子参数:

    • 算子名称 → Emit_start_point

    • 类型 → pose

    • 坐标 →1 0 0 0 0 0

    • 坐标 → icon_visOn 可视

  3. 设置 Emit_2 算子参数:

    • 算子名称 → Emit_end_point

    • 类型 → pose

    • 坐标 →-0.5 0.5 0 0 0 0

    • 坐标 → icon_visOn 可视

  4. 设置 GeometrySample 算子参数:

    • 类型 → CirclePart

    • 采样数量 → 5

    • 中心坐标 → icon_visOn可视 → icon_size 0.5

    • 坐标列表 → icon_visOn可视 → icon_size 0.3

步骤3:连接算子

3d_GeometrySample_circlepart_nodes

步骤4:运行

点击 RVS 运行按钮,触发 Trigger 算子。

运行结果

结果如下图所示, 起始点和结束点到圆心的连线投影到圆圈上,与圆圈生成 2 个交点,等分 2 个点之间的圆周部分,输出了5个分割点的坐标。

3d_GeometrySample_circlepart_result