1# SceneType
2本模块提供3D图形中常用的数据类型。
3
4> **说明:**
5> - 本模块首批接口从API version 12开始支持,后续版本的新增接口,采用上角标标记接口的起始版本。
6
7## 导入模块
8```ts
9import { Vec2, Vec3, Vec4, Color, Rect, Quaternion, Aabb, Position3, Rotation3,
10  Scale3 } from '@kit.ArkGraphics3D';
11```
12
13## Vec2
14二维向量,通常用于表示2D空间中的点或方向,由x和y两个分量组成。
15
16**系统能力:** SystemCapability.ArkUi.Graphics3D
17| 名称 | 类型 | 只读 | 可选 | 说明 |
18| ---- | ---- | ---- | ---- | ---- |
19| x | number | 否 | 否 | x轴分量,取值范围是实数。 |
20| y | number | 否 | 否 | y轴分量,取值范围是实数。|
21
22## Vec3
23三维向量,通常用于表示3D空间中的点、方向或向量变换,由x、y和z三个分量组成。
24
25**系统能力:** SystemCapability.ArkUi.Graphics3D
26| 名称 | 类型 | 只读 | 可选 | 说明 |
27| ---- | ---- | ---- | ---- | ---- |
28| x | number | 否 | 否 | x轴分量,取值范围是实数。 |
29| y | number | 否 | 否 | y轴分量,取值范围是实数。 |
30| z | number | 否 | 否 | z轴分量,取值范围是实数。 |
31
32## Vec4
33四维向量,通常用于表示4D空间中的点、方向或向量变换,由x、y、z和w四个分量组成,增加第四个分量为各种计算和变换增加了规整性和便捷性。
34
35**系统能力:** SystemCapability.ArkUi.Graphics3D
36| 名称 | 类型 | 只读 | 可选 | 说明 |
37| ---- | ---- | ---- | ---- | ---- |
38| x | number | 否 | 否 | x轴分量,取值范围是实数。 |
39| y | number | 否 | 否 | y轴分量,取值范围是实数。 |
40| z | number | 否 | 否 | z轴分量,取值范围是实数。 |
41| w | number | 否 | 否 | w轴分量,取值范围是实数。 |
42
43## Quaternion
44用于表示3D空间中旋转的数学结构。与传统的欧拉角相比,四元数在数值稳定性和避免万向节锁方面具有优势。
45
46**系统能力:** SystemCapability.ArkUi.Graphics3D
47| 名称 | 类型 | 只读 | 可选 | 说明 |
48| ---- | ---- | ---- | ---- | ---- |
49| x | number | 否 | 否 | x轴分量,取值范围是实数。 |
50| y | number | 否 | 否 | y轴分量,取值范围是实数。 |
51| z | number | 否 | 否 | z轴分量,取值范围是实数。 |
52| w | number | 否 | 否 | w轴分量,取值范围是实数。 |
53
54## Aabb
55轴对齐边界盒,主要用于判断空间中的物体是否重叠。
56
57**系统能力:** SystemCapability.ArkUi.Graphics3D
58| 名称 | 类型 | 只读 | 可选 | 说明 |
59| ---- | ---- | ---- | ---- | ---- |
60| aabbMin | [Vec3](#vec3) | 否 | 否 | 轴对齐边界盒的小值点。 |
61| aabbMax | [Vec3](#vec3) | 否 | 否 | 轴对齐边界盒的大值点。 |
62
63## Color
64用于表示RGBA格式的颜色,包含四个分量,依次为红色、绿色、蓝色和透明度。
65
66**系统能力:** SystemCapability.ArkUi.Graphics3D
67| 名称 | 类型 | 只读 | 可选 | 说明 |
68| ---- | ---- | ---- | ---- | ---- |
69| r | number | 否 | 否 | 红色分量,取值范围是[0, 1]。 |
70| g | number | 否 | 否 | 绿色分量,取值范围是[0, 1]。 |
71| b | number | 否 | 否 | 蓝色分量,取值范围是[0, 1]。 |
72| a | number | 否 | 否 | 透明度分量,取值范围是[0, 1]。 |
73
74## Rect
75用于表示平面中的矩形。
76
77**系统能力:** SystemCapability.ArkUi.Graphics3D
78| 名称 | 类型 | 只读 | 可选 | 说明 |
79| ---- | ---- | ---- | ---- | ---- |
80| x | number | 否 | 否 | 矩形左下角x轴分量,取值范围是实数。 |
81| y | number | 否 | 否 | 矩形左下角y轴分量,取值范围是实数。 |
82| width | number | 否 | 否 | 矩形宽度,有效取值范围大于0。 |
83| height | number | 否 | 否 | 矩形高度,有效取值范围大于0。 |
84
85## Position3
86type Position3 = Vec3
87
88用于表示3维空间中物体的位置,是[Vec3](#vec3)类型。
89
90**系统能力:** SystemCapability.ArkUi.Graphics3D
91
92| 类型  | 说明 |
93| ---- | ---- |
94| [Vec3](#vec3) | 类型为三维向量,可取任意值。 |
95
96## Rotation3
97type Rotation3 = Vec3
98
99用于表示3维空间中物体的旋转,是[Vec3](#vec3)类型。
100
101**系统能力:** SystemCapability.ArkUi.Graphics3D
102
103| 类型  | 说明 |
104| ---- | ---- |
105| [Vec3](#vec3) | 类型为三维向量,可取任意值。 |
106
107## Scale3
108type Scale3 = Vec3
109
110用于表示3维空间中物体的缩放,是[Vec3](#vec3)类型。
111
112**系统能力:** SystemCapability.ArkUi.Graphics3D
113
114| 类型 | 说明 |
115| ---- | ---- |
116| [Vec3](#vec3) | 类型为三维向量,可取任意值。 |
117