Microsoft DirectX 9.0 SDK Update (October 2004)

Vector3 Structure

Language:

Note: This documentation is preliminary and is subject to change.
How Do I...?

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

Definition

Visual Basic .NET Public Structure Vector3
C# public struct Vector3
Managed C++ public __value struct Vector3
JScript .NET In JScript .NET, you can use structures, but you cannot define your own.

Members Table

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.
Method Description
Add Adds two 3-D vectors.
static (Shared in Visual Basic .NET) BaryCentric Returns a point in barycentric coordinates, using specified 3-D vectors.
static (Shared in Visual Basic .NET) CatmullRom Performs a Catmull-Rom interpolation using specified 3-D vectors.
static (Shared in Visual Basic .NET) Cross Determines the cross product of two 3-D vectors.
static (Shared in Visual Basic .NET) 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.
static (Shared in Visual Basic .NET) 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.
static (Shared in Visual Basic .NET) 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 Leave Site value.
Normalize Returns the normalized version of a 3-D vector.
static (Shared in Visual Basic .NET) op_Addition Adds two vectors.
static (Shared in Visual Basic .NET) op_Equality Compares the current instance of a class to another instance to determine whether they are the same.
static (Shared in Visual Basic .NET) op_Inequality Compares the current instance of a class to another instance to determine whether they are different.
static (Shared in Visual Basic .NET) op_Multiply Determines the product of a single value and a 3-D vector.
static (Shared in Visual Basic .NET) op_Subtraction Subtracts two 3-D vectors.
static (Shared in Visual Basic .NET) 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.
static (Shared in Visual Basic .NET) 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.
Property Description
static (Shared in Visual Basic .NET) 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
Assembly Microsoft.DirectX (microsoft.directx.dll)
Strong Name Microsoft.DirectX,  Version=1.0.2902.0,  Culture=neutral,  PublicKeyToken=31bf3856ad364e35

See Also


© 2004 Microsoft Corporation. All rights reserved. Terms of use.

Feedback? Please provide us with your comments on this topic.
For more help, visit the DirectX Developer Center