Three.js API手册

动画
AnimationAction AnimationClip AnimationMixer AnimationObjectGroup AnimationUtils KeyframeTrack PropertyBinding PropertyMixer
动画 / 轨道
BooleanKeyframeTrack ColorKeyframeTrack NumberKeyframeTrack QuaternionKeyframeTrack StringKeyframeTrack VectorKeyframeTrack
音频
Audio AudioAnalyser AudioContext AudioListener PositionalAudio
摄像机
ArrayCamera Camera CubeCamera OrthographicCamera PerspectiveCamera StereoCamera
常量
Animation Core CustomBlendingEquation DrawModes Materials Renderer Textures
核心
BufferAttribute BufferGeometry Clock DirectGeometry EventDispatcher Face3 Geometry InstancedBufferAttribute InstancedBufferGeometry InstancedInterleavedBuffer InterleavedBuffer InterleavedBufferAttribute Layers Object3D Raycaster Uniform
核心 / BufferAttributes
BufferAttribute_Types
弃用列表
DeprecatedList
附件
Earcut ShapeUtils
附件 / 核心
Curve CurvePath Font Interpolations Path Shape ShapePath
附件 / 曲线
ArcCurve CatmullRomCurve3 CubicBezierCurve CubicBezierCurve3 EllipseCurve LineCurve LineCurve3 QuadraticBezierCurve QuadraticBezierCurve3 SplineCurve
附件 / 物体
ImmediateRenderObject
几何体
BoxBufferGeometry BoxGeometry CircleBufferGeometry CircleGeometry ConeBufferGeometry ConeGeometry CylinderBufferGeometry CylinderGeometry DodecahedronBufferGeometry DodecahedronGeometry EdgesGeometry ExtrudeBufferGeometry ExtrudeGeometry IcosahedronBufferGeometry IcosahedronGeometry LatheBufferGeometry LatheGeometry OctahedronBufferGeometry OctahedronGeometry ParametricBufferGeometry ParametricGeometry PlaneBufferGeometry PlaneGeometry PolyhedronBufferGeometry PolyhedronGeometry RingBufferGeometry RingGeometry ShapeBufferGeometry ShapeGeometry SphereBufferGeometry SphereGeometry TetrahedronBufferGeometry TetrahedronGeometry TextBufferGeometry TextGeometry TorusBufferGeometry TorusGeometry TorusKnotBufferGeometry TorusKnotGeometry TubeBufferGeometry TubeGeometry WireframeGeometry
辅助对象
ArrowHelper AxesHelper BoxHelper Box3Helper CameraHelper DirectionalLightHelper FaceNormalsHelper GridHelper PolarGridHelper PositionalAudioHelper HemisphereLightHelper PlaneHelper PointLightHelper RectAreaLightHelper SkeletonHelper SpotLightHelper VertexNormalsHelper
灯光
AmbientLight DirectionalLight HemisphereLight Light PointLight RectAreaLight SpotLight
灯光 / 阴影
DirectionalLightShadow LightShadow SpotLightShadow
加载器
AnimationLoader AudioLoader BufferGeometryLoader Cache CompressedTextureLoader CubeTextureLoader DataTextureLoader FileLoader FontLoader ImageBitmapLoader ImageLoader Loader LoaderUtils MaterialLoader ObjectLoader TextureLoader
加载器 / 管理器
DefaultLoadingManager LoadingManager
材质
LineBasicMaterial LineDashedMaterial Material MeshBasicMaterial MeshDepthMaterial MeshDistanceMaterial MeshLambertMaterial MeshMatcapMaterial MeshNormalMaterial MeshPhongMaterial MeshPhysicalMaterial MeshStandardMaterial MeshToonMaterial PointsMaterial RawShaderMaterial ShaderMaterial ShadowMaterial SpriteMaterial
数学库
Box2 Box3 Color Cylindrical Euler Frustum Interpolant Line3 Math Matrix3 Matrix4 Plane Quaternion Ray Sphere Spherical Triangle Vector2 Vector3 Vector4
数学库 / 插值
CubicInterpolant DiscreteInterpolant LinearInterpolant QuaternionLinearInterpolant
物体
Bone Group Line LineLoop LineSegments LOD Mesh Points Skeleton SkinnedMesh Sprite
渲染器
WebGLMultisampleRenderTarget WebGLRenderer WebGLRenderTarget WebGLRenderTargetCube
渲染器 / 着色器
ShaderChunk ShaderLib UniformsLib UniformsUtils
场景
Fog FogExp2 Scene
纹理贴图
CanvasTexture CompressedTexture CubeTexture DataTexture DataTexture3D DepthTexture Texture VideoTexture
在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

三角形(Triangle)

一个三角形由三个表示其三个角的Vector3所定义。

构造函数

Triangle( a : Vector3, b : Vector3, c : Vector3 )

a - 三角形的第一个角,默认值是一个在(0, 0, 0)处的Vector3。
b - 三角形的第二个角,默认值是一个在(0, 0, 0)处的Vector3。
c - 三角形的第三个角(最后一个角),默认值是一个在(0, 0, 0)处的Vector3。

创建一个新的Triangle。

属性

# .a : Vector3

三角形的第一个角,默认值是一个在(0, 0, 0)处的Vector3。

# .b : Vector3

三角形的第二个角,默认值是一个在(0, 0, 0)处的Vector3。

# .c : Vector3

三角形的第三个角(最后一个角),默认值是一个在(0, 0, 0)处的Vector3。

方法

# .clone () : Triangle

返回一个和该三角形具有相同a、b和c属性的新三角形。

# .closestPointToPoint ( point : Vector3, target : Vector3 ) : Vector3

point - Vector3
target — 结果将被拷贝到这一Vector3中。

返回三角形上最靠近所给定的point的点。

# .containsPoint ( point : Vector3 ) : Boolean

point - 将被检测的Vector3。

如果传入的点投影到三角形的平面内,则返回true。

# .copy ( triangle : Triangle ) : Triangle

将传入的三角形的a、b和c属性复制给这一三角形。

# .equals ( triangle : Triangle ) : Boolean

若这两个三角形具有相同的a、b和c属性,则返回true。

# .getArea () : Float

返回三角形的面积。

# .getBarycoord ( point : Vector3, target : Vector3 ) : Vector3

point - Vector3
target — 结果将会被拷贝到这一Vector3中。

从给定的向量中返回一个barycentric coordinate(重心坐标)。

请参阅关于这一概念的相关图片:Picture of barycentric coordinates

# .getMidpoint ( target : Vector3 ) : Vector3

target — 结果将会被拷贝到这一Vector3中。

计算三角形的中点。

# .getNormal ( target : Vector3 ) : Vector3

target — 结果将会被拷贝到这一Vector3中。

计算三角形的法向量(normal vector))。

# .getPlane ( target : Plane ) : Plane

target — 结果将会被拷贝到这一Plane中。

基于三角形计算出一个平面(plane)。

# .intersectsBox ( box : Box3 ) : Boolean

box - 将被用于检测是否与三角形有交集的box。

判定三角形与传入的box是否相交。

# .set ( a : Vector3, b : Vector3, c : Vector3 ) : Triangle this : Triangle

将三角形的a、b和c属性设置为所传入的vector3。

# .setFromPointsAndIndices ( points : Array, i0 : Integer, i1 : Integer, i2 : Integer ) : Triangle this : Triangle

points - Vector3数组(Array)
i0 - 整数(Integer)索引
i1 - 整数(Integer)索引
i2 - 整数(Integer)索引

设置三角形的向量为数组中的向量。

源代码

src/math/Triangle.js