📅  最后修改于: 2023-12-03 15:08:35.424000             🧑  作者: Mango
在 C# 中,我们可以使用 System.Numerics 命名空间提供的 Vector3 结构体来表示 3D 向量,本文将介绍如何设置向量 3 变量。
要创建 Vector3 变量,我们需要使用 Vector3 结构体的构造函数。有两种常用的方式可以创建 Vector3 变量。
Vector3 vector = new Vector3(1.0f); // 给每个分量都赋值为 1.0f
在该方式下,传入的单个值会被赋值给所有分量,即向量的 x、y、z 三个分量都将被赋值为该值。
Vector3 vector = new Vector3(1.0f, 2.0f, 3.0f); // 分别赋值给 x、y、z 三个分量
在该方式下,我们需要传入三个实数值,分别代表向量的 x、y、z 三个分量。
我们可以通过直接访问 Vector3 的 public 实例字段 x、y、z 来获取向量的各个分量的值。
Vector3 vector = new Vector3(1.0f, 2.0f, 3.0f);
float x = vector.x;
float y = vector.y;
float z = vector.z;
Console.WriteLine($"x = {x}, y = {y}, z = {z}");
该代码片段的输出结果为:
x = 1, y = 2, z = 3
我们同样可以直接访问 Vector3 的 public 实例字段 x、y、z 来设定向量的各个分量的值。
Vector3 vector = new Vector3(1.0f, 2.0f, 3.0f);
vector.x = 4.0f;
vector.y = 5.0f;
vector.z = 6.0f;
Console.WriteLine($"x = {vector.x}, y = {vector.y}, z = {vector.z}");
该代码片段的输出结果为:
x = 4, y = 5, z = 6
在 System.Numerics 命名空间中,Vector3 结构体还提供了一些内置常量,如下所示:
public static readonly Vector3 Zero; // (0, 0, 0)
public static readonly Vector3 One; // (1, 1, 1)
public static readonly Vector3 UnitX; // (1, 0, 0)
public static readonly Vector3 UnitY; // (0, 1, 0)
public static readonly Vector3 UnitZ; // (0, 0, 1)
我们可以直接使用这些内置常量来创建 Vector3 变量。
Vector3 vector = Vector3.Zero; // 创建一个零向量
通过本文,我们学习了如何在 C# 中创建 Vector3 变量,获取和设定其分量的值。同时,我们还介绍了 Vector3 常用的内置常量。所有代码示例也可在 .NET Fiddle 上找到:https://dotnetfiddle.net/XstDMB。