所有已实现的接口:
Iterable<double[]>, Region<Sphere1D>

public class ArcsSet extends AbstractRegion<Sphere1D,Sphere1D> implements Iterable<double[]>
该类表示圆的区域:一组弧。

请注意,由于围绕 \(2 \pi\) 的包装,这里的重心是不明确的。它仅在这里被定义以满足 Region 接口的要求,但不建议使用它。

  • 构造器详细资料

  • 方法详细资料

    • buildNew

      public ArcsSet buildNew(BSPTree<Sphere1D> tree)
      使用实例作为原型构建区域。

      此方法允许创建新实例,而无需确切了解区域的类型。这是原型设计模式的应用。

      BSP树的叶节点必须具有表示相应单元格内部状态的 Boolean 属性(对于内部单元格为true,对于外部单元格为false)。为了避免构建太多小对象,建议使用预定义的常量 Boolean.TRUEBoolean.FALSE。树还必须具有空的内部节点或按照 getTree 方法中指定的边界的内部节点)。

      指定者:
      buildNew 在接口中 Region<Sphere1D>
      指定者:
      buildNew 在类中 AbstractRegion<Sphere1D,Sphere1D>
      参数:
      tree - 表示新区域的内部/外部BSP树
      返回:
      构建的区域
    • computeGeometricalProperties

      protected void computeGeometricalProperties()
      计算一些几何属性。

      要计算的属性包括重心和大小。

      指定者:
      computeGeometricalProperties 在类中 AbstractRegion<Sphere1D,Sphere1D>
    • projectToBoundary

      public BoundaryProjection<Sphere1D> projectToBoundary(Point<Sphere1D> point)
      在区域边界上投影点。
      指定者:
      projectToBoundary 在接口中 Region<Sphere1D>
      覆盖:
      projectToBoundary 在类中 AbstractRegion<Sphere1D,Sphere1D>
      参数:
      point - 要检查的点
      返回:
      点在边界上的投影
    • asList

      public List<Arc> asList()
      构建表示实例的有序弧列表。

      此方法将此弧集构建为一个有序的 Arc 元素列表。一个空树将构建一个空列表,而表示整个圆的树将构建一个元素为 \( 0 和 2 \pi \) 的列表。

      返回:
      包含 Arc 元素的新有序列表
    • iterator

      public Iterator<double[]> iterator()

      迭代器按逆时针顺序返回子弧的限制角对。

      迭代器不支持可选的 remove 操作。

      指定者:
      iterator 在接口中 Iterable<double[]>
    • split

      public ArcsSet.Split split(Arc arc)
      通过弧将实例分为两部分。
      参数:
      arc - 分割弧
      返回:
      包含实例正面部分和负面部分的对象