# Vector3 Structure (Microsoft.DirectX)

How Do I...?

Describes and manipulates a vector in three-dimensional (3-D) space.

Definition

Visual Basic Public Structure Vector3 public struct Vector3 public value class Vector3 sealed In JScript, you can use structures, but you cannot define your own.

Members Table

The following table lists the members exposed by the object.

Fields

Field Description
X Retrieves or sets the x component of a 3-D vector.
Y Retrieves or sets the y component of a 3-D vector.
Z Retrieves or sets the z component of a 3-D vector.

Methods

Method Description
BaryCentric Returns a point in barycentric coordinates, using specified 3-D vectors.
CatmullRom Performs a Catmull-Rom interpolation using specified 3-D vectors.
Cross Determines the cross product of two 3-D vectors.
Dot Determines the dot product of two 3-D vectors.
Equals Returns a value that indicates whether the current instance is equal to a specified object.
GetHashCode Returns the hash code for the current instance.
Hermite Performs a Hermite spline interpolation using the specified 3-D vectors.
Length Returns the length of a 3-D vector.
LengthSq Returns the square of the length of a 3-D vector.
Lerp Performs a linear interpolation between two 3-D vectors.
Maximize Returns a 3-D vector that is made up of the largest components of two 3-D vectors.
Minimize Returns a 3-D vector that is made up of the smallest components of two 3-D vectors.
Multiply Multiplies a 3-D vector by a Single value.
Normalize Returns the normalized version of a 3-D vector.
op_Equality Compares the current instance of a class to another instance to determine whether they are the same.
op_Inequality Compares the current instance of a class to another instance to determine whether they are different.
op_Multiply Determines the product of a single value and a 3-D vector.
op_Subtraction Subtracts two 3-D vectors.
op_UnaryNegation Negates the vector.
Project Projects a vector from object space into screen space.
Scale Scales a 3-D vector.
Subtract Subtracts two 3-D vectors.
ToString Obtains a string representation of the current instance.
Transform Transforms a 3-D vector or an array of 3-D vectors by a given matrix.
TransformCoordinate Transforms a 3-D vector or an array of 3-D vectors by a given matrix, projecting the result back into w = 1.
TransformNormal Transforms a 3-D vector normal by the given matrix.
Unproject Projects a vector from screen space into object space.
Vector3 Initializes a new instance of the Vector3 class.

Properties

Property Description
Empty Retrieves an empty 3-D vector.

How Do I...?

Set Up a View Matrix

This example demonstrates how to initialize the view transformation matrix, which transforms world coordinates into camera or view space.

In the following C# code example, the vector components of the Vector3 structure form the arguments for the LookAtLH method, which builds a left-handed (LH) look-at matrix. The View transformation matrix is set to be equal to this look-at matrix.

The three input vectors represent the following, respectively:

1. The eye point: [0, 3, -5].
2. The camera look-at target: the origin [0, 0, 0].
3. The current world's up-direction: usually [0, 1, 0].

[C#]

using Microsoft.DirectX.Direct3D;

Device device = null;  // Create rendering device.

// Set up the view matrix. A view matrix can be defined given an eye point,
//   a point to view, and a direction for which way is up. Here, you set
//   the eye five units back along the z-axis and up three units, view the
//   origin, and define "up" to be in the y-direction.

device.Transform.View = Microsoft.DirectX.Matrix.LookAtLH(
new Vector3(0.0f, 3.0f, -5.0f),
new Vector3(0.0f, 0.0f, 0.0f),
new Vector3(0.0f, 1.0f, 0.0f));



Structure Information

Namespace Microsoft.DirectX Microsoft.DirectX (microsoft.directx.dll) Microsoft.DirectX,  Version=1.0.900.0,  Culture=neutral,  PublicKeyToken=d3231b57b74a1492