Files
XCEngine/docs/api/math/vector4/vector4.md
ssdfasd f5a34f8adc docs: 重构 API 文档 - components 和 scene 模块
- components: 修复英文标题为中文,添加缺失组件文档
  - 新增 camera-component, light-component, audio-source-component, audio-listener-component 类总览
  - 修复 get-position.md 格式
  - 更新 components.md 模块总览
- scene: 修复方法文档格式,新增缺失方法
  - 修复 find.md, create-game-object.md 英文标题
  - 新增 FindByID, SerializeToString, DeserializeFromString 方法文档
  - 更新 scene.md 类总览方法列表
2026-03-26 01:50:27 +08:00

2.0 KiB
Raw Blame History

Vector4

命名空间: XCEngine::Math

类型: struct

头文件: XCEngine/Core/Math/Vector4.h

描述: 四维向量,用于齐次坐标变换和四元数相关计算

概述

Vector4 是四维向量结构体,常用于:

  • 齐次坐标变换x, y, z, w
  • RGBA 颜色表示
  • SIMD 矢量操作
  • 四元数分量存储

结构体成员

成员 类型 描述 默认值
x float X 分量 0.0f
y float Y 分量 0.0f
z float Z 分量 0.0f
w float W 分量(齐次坐标) 0.0f

公共方法

方法 描述
Vector4() 默认构造函数,创建零向量
Vector4(x, y, z, w) 从四个分量构造向量
Vector4(Vector3, w) 从 Vector3 构造w 默认 0
Zero 返回零向量 (0, 0, 0, 0)
One 返回单位向量 (1, 1, 1, 1)
Dot 计算两个向量的点积
Project 将向量投影到法线向量上
ToVector3 转换为 Vector3
operator[] 下标访问分量
operator+ 向量加法
operator- 向量减法
operator* 向量数乘
operator== 相等比较
operator!= 不等比较

使用示例

#include <XCEngine/Core/Math/Vector4.h>
#include <XCEngine/Core/Math/Vector3.h>
#include <cstdio>

int main() {
    Vector4 a(1.0f, 2.0f, 3.0f, 4.0f);
    Vector4 b(4.0f, 3.0f, 2.0f, 1.0f);

    Vector4 sum = a + b;
    Vector4 scaled = a * 2.0f;
    float dot = Vector4::Dot(a, b);

    Vector4 projected = Vector4::Project(a, Vector4(1.0f, 0.0f, 0.0f, 0.0f));
    Vector3 v3 = a.ToVector3();

    return 0;
}

相关文档