本文整理汇总了TypeScript中@adrianlafond/geom.Point.distance方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Point.distance方法的具体用法?TypeScript Point.distance怎么用?TypeScript Point.distance使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@adrianlafond/geom.Point
的用法示例。
在下文中一共展示了Point.distance方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: tick
tick(vector: Vector, progress: number) {
const { joints, jointsStart, map } = this.model;
const index = joints.length - 1;
const radians = Math.atan2(map[index].y, map[index].x) + vector.radians;
const radius = Point.distance(map[index].point, new Point());
const land = new Point(vector.x + Math.cos(radians) * radius,
vector.y + Math.sin(radians) * radius);
const landRadians = Math.atan2(land.y - jointsStart[index].y,
land.x - jointsStart[index].x);
const distance = Point.distance(land, jointsStart[index]);
joints[index].x = jointsStart[index].x + Math.cos(landRadians) *
(distance * progress);
joints[index].y = jointsStart[index].y + Math.sin(landRadians) *
(distance * progress);
}
示例2: offset
offset(vector: Vector, index = 0) {
const { joints, map } = this.model;
const joint = joints[index];
const mapJoint = map[index];
const distance = Point.distance(mapJoint.point, new Point(0, 0));
const radians = mapJoint.radians + vector.radians;
joint.x = vector.x + Math.cos(radians) * distance;
joint.y = vector.y + Math.sin(radians) * distance;
}
示例3: target
set target(point: Point) {
const { foot, maxLength } = this.model;
const distance = Point.distance(foot, point);
if (distance > maxLength) {
const radians = Point.radians(foot, point);
this.model.target = new Point(
foot.x + Math.cos(radians) * maxLength,
foot.y + Math.sin(radians) * maxLength);
} else {
this.model.target = point.clone();
}
this.model.start = this.model.foot.clone();
this.model.progress = 0;
}