BufferGeometry
Object3D
Raycaster
Camera
CubeCamera
PerspectiveCamera
OrthographicCamera
StereoCamera
Clock
Curve
CurvePath
Path
Shape
ShapePath
ArrowHelper
AxesHelper
BoxHelper
Box3Helper
CameraHelper
DirectionalLightHelper
GridHelper
PolarGridHelper
HemisphereLightHelper
PlaneHelper
PointLightHelper
SkeletonHelper
SpotLightHelper
Light
PointLight
RectAreaLight
SpotLight
DirectionalLight
HemisphereLight
LightShadow
PointLightShadow
AnimationLoader
AudioLoader
BufferGeometryLoader
CompressedTextureLoader
CubeTextureLoader
DataTextureLoader
FileLoader
ImageBitmapLoader
ImageLoader
Loader
LoaderUtils
MaterialLoader
ObjectLoader
TextureLoader
LoadingManager
Material
Box2
Box3
Color
Cylindrical
Euler
Frustum
Interpolant
Line3
MathUtils
Matrix3
Matrix4
Plane
Quaternion
AnimationAction
AnimationClip
AnimationMixer
AnimationObjectGroup
AnimationUtils
keyframeTrack
PropertyBinding
PropertyMixer
BooleanKeyframeTrack
QuaternionKeyframeTrack
StringKeyframeTrack
Audio
AudioAnalyser
AudioContext
AudioListener
PositionalAudio

Path.ellipse()

概述

Path.ellipse()方法是three.js库中Path类的一个静态方法,用于创建椭圆曲线。该方法会返回一个由Vector2对象组成的数组,表示以(x,y)为中心、长轴为a、短轴为b的椭圆曲线。

语法

Path.ellipse(x, y, a, b, startAngle, endAngle, clockwise, rotation);

参数

  • x(required): 椭圆中心的x坐标。
  • y(required): 椭圆中心的y坐标。
  • a(required): 椭圆长轴的长度。
  • b(required): 椭圆短轴的长度。
  • startAngle(optional): 起始弧度角。默认为0。
  • endAngle(optional): 终止弧度角。默认为2 * Math.PI。
  • clockwise(optional): 椭圆曲线是否是顺时针方向。默认为false,表示逆时针方向。
  • rotation(optional): 椭圆曲线相对于水平轴的旋转角度。默认为0。

返回值

Vector2对象组成的数组,表示椭圆曲线上的点集。

示例

const path = new THREE.Path();
const center = new THREE.Vector2(0,0);
const a = 10;
const b = 5;
const startAngle = 0;
const endAngle = 2 * Math.PI;
const clockwise = false;
const rotation = 0;

const points = THREE.Path.ellipse(center.x, center.y, a, b, startAngle, endAngle, clockwise, rotation);

path.setFromPoints(points);

注意事项

  • 各参数均为标量值,不支持向量参数。
  • startAngleendAngle为弧度角,而非角度值。
  • clockwise参数为true时,椭圆曲线会沿顺时针方向绘制,反之则沿逆时针方向绘制。
  • rotation参数为旋转角度,单位为弧度,表示椭圆曲线相对于水平方向的旋转角度。
  • 生成的椭圆曲线是不封闭的,因此不可以用于闭合图形的路径,需要手动将曲线终点连接回起点。
  • 由于椭圆曲线包含许多分段曲线,因此在使用时需要注意细分程度,以满足绘制精度要求。