English中文

SteppedSpline

new Cesium.SteppedSpline(options)

由表示阶跃函数的分段常数组成的样条线。 A spline that is composed of piecewise constants representing a step function.
名称 Name 类型 Type 说明 Description
options object 具有以下属性的对象: Object with the following properties:
名称 Name 类型 Type 说明 Description
times Array.<number> 每个点的严格递增、无单位浮点时间数组。这些值与时钟时间没有任何关系。它们是曲线的参数化。 An array of strictly increasing, unit-less, floating-point times at each point. The values are in no way connected to the clock time. They are the parameterization for the curve.
points Array.<number> | Array.<Cartesian3> | Array.<Quaternion> 控制点数组。 The array of control points.
抛出: Throws:
  • DeveloperError : points.length must be greater than or equal to 2.
  • DeveloperError :times.length必须等于points.length。 : times.length must be equal to points.length.
示例: Example:
const times = [ 0.0, 1.5, 3.0, 4.5, 6.0 ];
const spline = new Cesium.SteppedSpline({
    times : times,
    points : [
        new Cesium.Cartesian3(1235398.0, -4810983.0, 4146266.0),
        new Cesium.Cartesian3(1372574.0, -5345182.0, 4606657.0),
        new Cesium.Cartesian3(-757983.0, -5542796.0, 4514323.0),
        new Cesium.Cartesian3(-2821260.0, -5248423.0, 4021290.0),
        new Cesium.Cartesian3(-2539788.0, -4724797.0, 3620093.0)
    ]
});

const p0 = spline.evaluate(times[0]);
另见: See:

成员 Members

readonly points : Array.<number>|Array.<Cartesian3>|Array.<Quaternion>

控制点数组。 An array of control points.

readonly times : Array.<number>

控制点的时间数组。 An array of times for the control points.

方法 Methods

clampTime(time)number

将给定时间限制为样条线覆盖的时间段。 Clamps the given time to the period covered by the spline.
名称 Name 类型 Type 说明 Description
time number 时间。 The time.
返回: Returns:
时间,固定在动画期间。 The time, clamped to the animation period.
评估给定时间的曲线。 Evaluates the curve at a given time.
名称 Name 类型 Type 说明 Description
time number 评估曲线的时间。 The time at which to evaluate the curve.
result Cartesian3 | Quaternion 可选 optional 用于存储结果的对象。 The object onto which to store the result.
返回: Returns:
修改后的结果参数或给定时间曲线上点的新实例。 The modified result parameter or a new instance of the point on the curve at the given time.
抛出: Throws:
  • DeveloperError : 时间必须在范围内 : time must be in the range [t0, tn], 其中 , where t0 是数组中的第一个元素 is the first element in the array times and tn 是数组中的最后一个元素 is the last element in the array times.

findTimeInterval(time, startIndex)number

查找索引 Finds an index i in times 这样参数 such that the parameter time 是在区间内 is in the interval [times[i], times[i + 1]].
名称 Name 类型 Type 说明 Description
time number 时间。 The time.
startIndex number 开始搜索的索引。 The index from which to start the search.
返回: Returns:
间隔开始处的元素的索引。 The index for the element at the start of the interval.
抛出: Throws:
  • DeveloperError : 时间必须在范围内 : time must be in the range [t0, tn], 其中 , where t0 是数组中的第一个元素 is the first element in the array times and tn 是数组中的最后一个元素 is the last element in the array times.

wrapTime(time)number

将给定时间包裹到样条线覆盖的时间段。 Wraps the given time to the period covered by the spline.
名称 Name 类型 Type 说明 Description
time number 时间。 The time.
返回: Returns:
时间,围绕着更新的动画。 The time, wrapped around to the updated animation.
需要帮助吗?获得答案的最快方法是从社区和团队那里获得答案 Need help? The fastest way to get answers is from the community and team on the Cesium Forum.