- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个由一组点组成的多边形,我想通过组合对应点的列表然后将最后一个点与第一个点组合来找到该多边形的线段列表
例如:点列表 - (p1,p2,p3,p4,p5,p6) 线段列表 - ((p1,p2),(p2,p3),(p3,p4),(p4,p5),(p5,p6),(p6,p1))
sealed trait Shape
case class Point(x: Int, y: Int) extends Shape {
//require(x != null & y !=null, "null values for point")
}
case class LineSegment(point1: Point, point2: Point) extends Shape {
require(point1 != point2)
class Group(val children: Shape*) extends Shape {
require(children != null, "null children in " + getClass.getSimpleName)
require(!children.contains(null), "null child in " +
getClass.getSimpleName) }
object Group {
def apply(children: Shape*) = new Group(children: _*)
def unapply(g: Group) = Some(g.children)
}
/** A special case of a group consisting only of Points. */
case class Polygon(override val children: Point*)
extends Group(children: _*){
require(children != null)
def findLineSegments(poylgon: Polygon): List[LineSegment] = {
val points = children.toList
val lineSegmentList = points.grouped(2).toList
return lineSegmentList
} }
// polygon example
val simplePolygon = Polygon(
Point(50, 50),
Point(60, 100),
Point(100, 110),
Point(120, 60)
)
我正在定义行为 findLineSegment 以对相应的点进行分组,但我得到的是 List[list(points)].. 如何将此列表转换为 LineSegments 列表?
最佳答案
您可以zip
列表及其自身的旋转版本,然后映射到LineSegments
:
(points zip ((points drop 1) ::: (points take 1))) map LineSegment.tupled
您可能还对滑动
方法感兴趣:
points.sliding(2).map { case List(a, b) => LineSegment(a, b) }
:+ LineSegment(points.last, points.head)
关于list - scala 列表 LineSegment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28663788/
我有一个由一组点组成的多边形,我想通过组合对应点的列表然后将最后一个点与第一个点组合来找到该多边形的线段列表 例如:点列表 - (p1,p2,p3,p4,p5,p6) 线段列表 - ((p1,p2),
这是 passing a color array for segments to THREE.LineSegments 的后续内容我希望找到并回答避免我完全陌生的低级着色器( potentially
我有一个 THREE.LineSegments 对象,我想动态更改顶点数。但是,当我修改几何顶点数组时,任何带有已删除顶点的线都将保留原样。 有没有办法在创建几何体后删除顶点? 例如,下面我采用了一个
我正在研究 Three.JS 中线条路径的可视化,并已成功将一堆具有正确顶点的线条添加到场景中,以及我想要的 Material ,但线条很难看到。有没有一种方法可以将线段转换为某种管,而不必从头开始并
在 Wpf 中你可以
我使用两个 Point 来定义一个 Line 和一个 LineSegment,例如: class Point { ... }; class Line { Point p1, p2; //...
我试图让 Three.js 仅渲染几何图形的 FrontSide 轮廓。我想要实现的是看起来尽可能接近这个: 使用 BoxGeomtry 我已经接近了我想要的效果,但是在 CylinderGeomet
我已经创建了一个示例来在 three.js 中绘制一个 LineSegment。我已将 vertexColors 应用于其 material 并为顶点推送 color。现在,当我将鼠标悬停在 Line
我在third.js中创建了两个绘制线条的示例,一个使用不同的geometry和material,另一个仅使用一种 >几何体和一种 Material 。 fiddle 的链接是:https://jsf
我正在处理一个渲染点和线段的 three.js 场景。 The scene如果我为线条使用 LineBasicMaterial Material ,渲染效果很好: /** * constructor
我正在研究 scene将一些 THREE.LineSegments 呈现为线框。我现在想慢慢地移动 LineSegments Material 中的顶点(这个对象在上面的场景中被命名为 warehou
我是一名优秀的程序员,十分优秀!