Skip to content

Home > @esengine/ecs-framework-monorepo > Circle

Circle class

2D圆形类

表示一个圆形,提供圆形相关的几何运算功能: - 圆形创建和属性获取 - 包含检测(点、圆形) - 相交检测和计算 - 变换和操作

Signature:

typescript
export declare class Circle

Constructors

Constructor

Modifiers

Description

(constructor)(x, y, radius)

创建圆形

Properties

Property

Modifiers

Type

Description

area

readonly

number

获取面积

bounds

readonly

Rectangle

获取包围矩形

center

Vector2

获取圆心坐标

circumference

readonly

number

获取周长

diameter

number

获取直径

EMPTY

static

readonly

Circle

空圆形

isEmpty

readonly

boolean

检查是否为空圆形

radius

number

半径

UNIT

static

readonly

Circle

单位圆

x

number

圆心X坐标

y

number

圆心Y坐标

Methods

Method

Modifiers

Description

clone()

克隆当前圆形

closestPointTo(point)

获取圆形上距离指定点最近的点

contains(x, y)

检查是否包含指定坐标

containsCircle(other)

检查是否完全包含另一个圆形

containsPoint(point)

检查是否包含指定点

copy(other)

复制另一个圆形的值

distanceToCircle(other)

计算两个圆心之间的距离

distanceToCircleFromBoundary(other)

计算两个圆形边界之间的最短距离

distanceToPoint(point)

计算圆心到点的距离

distanceToPointFromBoundary(point)

计算圆形边界到点的最短距离

distanceToRect(rect)

计算圆形到矩形的最短距离

equals(other, epsilon)

检查两个圆形是否相等

exactEquals(other)

检查两个圆形是否完全相等

farthestPointFrom(point)

获取圆形上距离指定点最远的点

fromDiameter(x, y, diameter)

static

从直径创建圆形

fromPointArray(points)

static

从点数组创建最小包围圆

fromThreePoints(p1, p2, p3)

static

从三个点创建外接圆

getAngleToPoint(point)

获取点相对于圆心的角度

getLineIntersections(lineStart, lineEnd)

获取圆形与直线的交点

getPointAtAngle(angle)

获取指定角度上的圆周点

inflate(amount)

扩展圆形

intersectionArea(other)

计算与另一个圆形的相交面积

intersects(other)

检查是否与另一个圆形相交

intersectsRect(rect)

检查是否与矩形相交

lerp(a, b, t)

static

线性插值两个圆形

pointOnBoundary(point, epsilon)

检查点是否在圆的边界上

scale(scale)

缩放圆形

set(x, y, radius)

设置圆形属性

setCenter(center)

设置圆心位置(使用向量)

setPosition(x, y)

设置圆心位置

setRadius(radius)

设置半径

toArray()

转换为数组

toObject()

转换为普通对象

toString()

转换为字符串

translate(dx, dy)

平移圆形

translateBy(offset)

平移圆形(使用向量)

基于 MIT 许可证发布