DirectAnimation Animated Header --DAStatic Functions Relevant to DATransform3 Objects DirectAnimation Animated Header --DAStatic Functions Relevant to DATransform3 Objects* Microsoft DirectAnimation SDK
*Index  *Topic Contents
*Previous Topic: DAStatic Properties Relevant to DATransform2 Objects
*Next Topic: DAStatic Properties Relevant to DATransform3 Objects

DAStatic Functions Relevant to DATransform3 Objects



Compose3

DAStatics Class

Creates a three-dimensional transformation that is a composition of the given transformation objects.

lib.Compose3(
  xf1,
  xf2
  )

Parameters
xf1 and xf2
The DATransform3 objects.
Return Values

Returns the DATransform3 object.

Remarks

Composing a transform is equivalent to first applying xf2 and then applying xf1.


Compose3Array

DAStatics Class

Creates a three-dimensional transformation that is a composition of the DATransform3 objects in the array.

lib.Compose3Array(
  xforms
  )

Parameters
xf1 and xf2
The DATransform3 objects in the (variant) array.
Return Values

Returns the DATransform3 object.

Remarks

Composing a transform is equivalent to first applying xfn, then applying xfn-1, and so on.


LookAtFrom

DAStatics Class

Creates a three-dimensional transformation that transforms an object from a standard position and orientation to the "from" point, and aimed at the "to" point, with "up" mapping to the object's up direction. Prior to this transform, objects must be located at the origin, with the up side aligned with the positive y-axis, and aimed in the negative z-direction.

lib.LookAtFrom(
  from,
  to,
  up
  )

Parameters
from
The DAPoint3 object specifying the point from which to view.
to
The DAPoint3 object specifying the point toward which to view.
up
The DAVector3 object specifying the point determining the upright position.
Return Values

Returns the DATransform3 object.

Remarks

This transform is useful for positioning and orienting cameras, lights, microphones, and other three-dimensional objects.


Rotate3Anim

DAStatics Class

Creates a three-dimensional transformation that, when applied to a point or vector behavior, rotates the point or vector by the given angle (expressed in radians) around the given axis.

lib.Rotate3Anim(
  axis,
  radians
  )

Parameters
axis
The DAVector3 object representing the axis around which to rotate. The plane of rotation is perpendicular to the ray defined by this vector.
radians
The DANumber object representing the angle of rotation. This parameter can also be of type double.
Return Values

Returns the DATransform3 object.

Remarks

Rotations obey the right-hand rule. This means that, when looking down the axis vector, they are counter-clockwise.


Rotate3

DAStatics Class

Same as Rotate3Anim except that axis and radians are non-animated numbers.

lib.Rotate3(
  axis,
  radians
  )


Rotate3-Degrees

DAStatics Class

Creates a three-dimensional transformation that, when applied to a point or vector, rotates the point or vector by the given angle (expressed in degrees) around the given axis.

lib.Rotate3-Degrees(
  axis,
  degrees
  )

Parameters
axis
The DAVector3 object representing the axis around which to rotate. The plane of rotation is perpendicular to the ray defined by this vector.
degrees
The number (a double) representing the angle of rotation (expressed in degrees).
Return Values

Returns the DATransform3 object.

Remarks

Rotations obey the right-hand rule. This means that, when looking down the axis vector, they are counter-clockwise.


Rotate3Rate

DAStatics Class

Creates a three-dimensional transformation that, when applied to a point or vector behavior, rotates the point or vector by the given angle (expressed in radians) around the given axis. The rotation rate is determined by multiplying the angle by LocalTime.

lib.Rotate3Rate(
  axis,
  radians
  )

Parameters
axis
The DAVector3 object representing the axis around which to rotate. The plane of rotation is perpendicular to the ray defined by this vector.
radians
The number (a double) representing the angle of rotation, and multiplied by LocalTime.
Return Values

Returns the DATransform3 object.

Remarks

Rotations obey the right-hand rule. This means that, when looking down the axis vector, they are counter-clockwise.

The units can either be meters per second or pixels per second, depending on whether the MeterLibrary or the PixelLibrary is selected. If the PixelLibrary is selected, remember that the positive y-axis is down.


Rotate3RateDegrees

DAStatics Class

Creates a three-dimensional transformation that, when applied to a point or vector behavior, rotates the point or vector by the given angle (expressed in degrees) around the given axis. The rotation rate is determined by multiplying the angle by LocalTime.

lib.Rotate3RateDegrees(
  axis,
  degrees
  )

Parameters
axis
The DAVector3 object representing the axis around which to rotate. The plane of rotation is perpendicular to the ray defined by this vector.
degrees
The number (a double) representing the angle of rotation (expressed in degrees), and multiplied by LocalTime.
Return Values

Returns the DATransform3 object.

Remarks

Rotations obey the right-hand rule. This means that, when looking down the axis vector, they are counter-clockwise.

The units can either be meters per second or pixels per second, depending on whether the MeterLibrary or the PixelLibrary is selected. If the PixelLibrary is selected, remember that the positive y-axis is down.


Scale3Anim

DAStatics Class

Creates a three-dimensional transformation that, when applied to a three-dimensional object, scales it. For example, the transformation modifies the length of a vector by multiplying the vector's coordinates by the values of the corresponding numbers.

lib.Scale3Anim(
  sx,
  sy,
  sz
  )

Parameters
sx, sy, and sz
The DANumber objects representing the amounts to scale. The value of sx applies to the x coordinate, sy to the y coordinate, and sz to the z coordinate.
Return Values

Returns the DATransform3 object.

Remarks

The units can either be meters or pixels, depending on whether the MeterLibrary or the PixelLibrary is selected. If the PixelLibrary is selected, remember that the positive y-axis is down.


Scale3

DAStatics Class

Same as Scale3Anim except that sx, sy, and sz are non-animated numbers (doubles).

lib.Scale3(
  sx,
  sy,
  sz
  )


Scale3Rate

DAStatics Class

Creates a three-dimensional transformation that, when applied to a three-dimensional object, scales it. The scaling rates are determined by multiplying the arguments by LocalTime.

lib.Scale3Rate(
  x,
  y,
  z
  )

Parameters
x, y, and z
The numbers (doubles) representing the amounts to scale, multiplied by LocalTime. The value of x applies to the x coordinate, y to the y coordinate, and z to the z coordinate.
Return Values

Returns the DATransform3 object.

Remarks

The units can either be meters per second or pixels per second, depending on whether the MeterLibrary or the PixelLibrary is selected. If the PixelLibrary is selected, remember that the positive y-axis is down.


Scale3UniformAnim

DAStatics Class

Creates a three-dimensional transformation behavior that, when applied to a three-dimensional object, scales it uniformly.

lib.Scale3UniformAnim(
  uniformFactor
  )

Parameters
uniformFactor
The DANumber object representing the value to apply to the x, y, and z coordinates, respectively. These must be animated numbers.
Return Values

Returns the DATransform3 object.

See Also

Scale3Anim, Scale3Vector


Scale3Uniform

DAStatics Class

Same as Scale3UniformAnim except that uniformFactor is a non-animated number (a double).

lib.Scale3Uniform(
  uniformFactor
  )


Scale3UniformRate

DAStatics Class

Creates a three-dimensional transformation behavior that, when applied to a three-dimensional object, scales it uniformly. The scaling rate is determined by multiplying the argument by LocalTime.

lib.Scale3UniformRate(
  rate
  )

Parameters
rate
The number (a double) representing the value to apply to the x, y, and z coordinates, respectively, and multiplied by LocalTime.
Return Values

Returns the DATransform3 object.

Remarks

The units can either be meters per second or pixels per second, depending on whether the MeterLibrary or the PixelLibrary is selected. If the PixelLibrary is selected, remember that the positive y-axis is down.


Scale3Vector

DAStatics Class

Creates a three-dimensional transformation that, when applied to a three-dimensional object, scales it. For example, the transformation modifies the location of a point by multiplying the point's coordinates by the values of the corresponding vector coordinates.

lib.Scale3Vector(
  v
  )

Parameters
v
The DAVector3 object. The x, y, and z coordinates of the vector behavior specify the amounts to scale the x, y, and z coordinates, respectively.
Return Values

Returns the DATransform3 object.


Transform4x4Anim

DAStatics Class

Creates a three-dimensional transformation behavior that consists of the 4 by 4 matrix having the values specified by the given number behaviors.

lib.Transform4x4Anim(
  matrix
  )

Parameters
matrix
The 4 by 4 matrix. The first row of the matrix can be represented by the DANumber objects a00, a01, a02, a03. Use a00 to scale the x coordinate and a03 to translate x.
The second row of the matrix can be represented by the DANumber objects a10, a11, a12, a13. Use a11 to scale the y coordinate and a13 to translate y.
The third row of the matrix can be represented by the DANumber objects a20, a21, a22, a23. Use a22 to scale the z coordinate and a23 to translate z.
The fourth row of the matrix can be represented by the DANumber objects a30, a31, a32, a33.
Return Values

Returns the DATransform3 object.

Remarks

The translation components for the matrix are in the last column. The last row of the matrix must be [0 0 0 1].


Translate3Anim

DAStatics Class

Creates a three-dimensional transformation that, when applied to a point, translates (moves) the point by the amounts given by the tx, ty, and tz.

lib.Translate3Anim(
  tx,
  ty,
  tz
  )

Parameters
tx, ty, and tz
The DANumber objects representing the amounts to translate the point along the x, y, and z axes, respectively. These must be animated numbers.
Return Values

Returns the DATransform3 object.

Remarks

Vectors are unchanged by translations.

The units can either be meters or pixels, depending on whether the MeterLibrary or the PixelLibrary is selected. If the PixelLibrary is selected, remember that the positive y-axis is down.


Translate3

DAStatics Class

Same as Translate3Anim except that x, y, and z are non-animated numbers (doubles).

lib.Translate3(
  x,
  y,
  z
  )


Translate3Point

DAStatics Class

Creates a three-dimensional transformation that, when applied to a point, translates (moves) the point to the new location loc.

lib.Translate3Point(
  loc
  )

Parameters
loc
The DAPoint3 object specifying the new location. This must be an animated point.
Return Values

Returns the DATransform3 object.


Translate3Rate

DAStatics Class

Creates a three-dimensional transformation that, when applied to a point, translates (moves) the point by the amounts given by x, y, z. The translation rate is determined by multiplying the arguments by LocalTime.

lib.Translate3Rate(
  x,
  y,
  z
  )

Parameters
x, y, and z
The numbers (doubles) representing the amounts to translate the point along the x, y, and z axes, respectively, and multiplied by LocalTime.
Return Values

Returns the DATransform3 object.

Remarks

Vectors are unchanged by translations.

The units can either be meters per second or pixels per second, depending on whether the MeterLibrary or the PixelLibrary is selected. If the PixelLibrary is selected, remember that the positive y-axis is down.


Translate3Vector

DAStatics Class

Creates a three-dimensional transformation behavior that, when applied to a point, translates (moves) the point by the amounts given by the vector.

lib.Translate3Vector(
  v
  )

Parameters
v
The DAVector3 object. The x, y, and z coordinates of the vector specify the amounts to translate along the x, y, and z axes, respectively.
Return Values

Returns the DATransform3 object.

Remarks

Vectors are unchanged by translations.


XShear3Anim

DAStatics Class

Shears the x-axis in the positive y-direction by a and in the positive z-direction by b. The X-coordinate remains unchanged, and the Y and Z coordinates increase by the product of the X-coordinate and the shear factors. In other words, X2 = X1, Y2 = Y1 + aX1, and Z2 = Z1 + bX1, where a and b are the shear factors.

lib.XShear3Anim(
  a,
  b
  )

Parameters
a
The DANumber object representing the amount of shear in the Y direction. This must be an animated number.
b
The DANumber object representing the amount of shear in the Z direction. This must be an animated number.
Return Values

Returns the DATransform3 object.

Remarks

The units can either be meters or pixels, depending on whether the MeterLibrary or the PixelLibrary is selected. If the PixelLibrary is selected, remember that the positive y-axis is down.

See Also

YShear3Anim, ZShear3Anim


XShear3

DAStatics Class

Same as XShear3Anim except that a and b are non-animated numbers (doubles).

lib.XShear3(
  a,
  b
  )


XShear3Rate

DAStatics Class

Shears the x-axis in the positive y-direction by a and in the positive z-direction by b. The shear rates are determined by multiplying the arguments by LocalTime.

lib.XShear3Rate(
  a,
  b
  )

Parameters
a
The number (a double) representing the amount of shear in the Y direction, multiplied by LocalTime.
b
The number (a double) representing the amount of shear in the Z direction, multiplied by LocalTime.
Return Values

Returns the DATransform3 object.

Remarks

The units can either be meters per second or pixels per second, depending on whether the MeterLibrary or the PixelLibrary is selected. If the PixelLibrary is selected, remember that the positive y-axis is down.

See Also

YShear3Rate, ZShear3Rate


YShear3Anim

DAStatics Class

Shears the y-axis in the positive x-direction by c and in the positive z-direction by d. The Y-coordinate remains unchanged, and the X and Z coordinates increase by the product of the Y-coordinate and the shear factors. In other words, Y2 = Y1, X2 = X1 + cY1, and Z2 = Z1 + dY1, where c and d are the shear factors.

lib.YShear3Anim(
  c,
  d
  )

Parameters
c
The DANumber object representing the amount of shear in the X direction. This must be an animated number.
d
The DANumber object representing the amount of shear in the Z direction. This must be an animated number.
Return Values

Returns the DATransform3 object.

Remarks

The units can either be meters or pixels, depending on whether the MeterLibrary or the PixelLibrary is selected. If the PixelLibrary is selected, remember that the positive y-axis is down.

See Also

XShear3Anim, ZShear3Anim


YShear3

DAStatics Class

Same as YShearAnim except that c and d are non-animated numbers (double).

lib.YShear3(
  c,
  d
  )


YShear3Rate

DAStatics Class

Shears the y-axis in the positive x-direction by c and in the positive z-direction by d. The shear rates are determined by multiplying the arguments by LocalTime.

lib.YShear3Rate(
  c,
  d
  )

Parameters
c
The number (a double) representing the amount of shear in the X direction, multiplied by LocalTime.
d
The number (a double) representing the amount of shear in the Z direction, multiplied by LocalTime.
Return Values

Returns the DATransform3 object.

Remarks

The units can either be meters per second or pixels per second, depending on whether the MeterLibrary or the PixelLibrary is selected. If the PixelLibrary is selected, remember that the positive y-axis is down.

See Also

XShear3Rate, ZShear3Rate


ZShear3Anim

DAStatics Class

Shears the z-axis in the positive x-direction by e and in the positive y-direction by f. The Z-coordinate remains unchanged, and the X and Y coordinates increase by the product of the Z-coordinate and the shear factors. In other words, Z2 = Z1, X2 = X1 + eZ1, and Y2 = Y1 + fZ1, where e and f are the shear factors.

lib.ZShear3Anim(
  e,
  f
  )

Parameters
e
The DANumber object representing the amount of shear in the X direction. This must be an animated number.
f
The DANumber object representing the amount of shear in the Y direction. This must be an animated number.
Return Values

Returns the DATransform3 object.

Remarks

The units can either be meters or pixels, depending on whether the MeterLibrary or the PixelLibrary is selected. If the PixelLibrary is selected, remember that the positive y-axis is down.

See Also

XShear3Anim, YShear3Anim


ZShear3

DAStatics Class

Same as ZShear3Anim except that e and f are non-animated numbers (doubles).

lib.ZShear3(
  e,
  f
  )


ZShear3Rate

DAStatics Class

Shears the z-axis in the positive x-direction by e and in the positive y-direction by f. The shear rates are determined by multiplying the arguments by LocalTime.

lib.ZShear3Rate(
  e,
  f
  )

Parameters
e
The number (a double) representing the amount of shear in the X direction, multiplied by LocalTime.
f
The number (a double) representing the amount of shear in the Y direction, multiplied by LocalTime.
Return Values

Returns the DATransform3 object.

Remarks

The units can either be meters per second or pixels per second, depending on whether the MeterLibrary or the PixelLibrary is selected. If the PixelLibrary is selected, remember that the positive y-axis is down.

See Also

XShear3Rate, YShear3Rate

© 1998 Microsoft Corporation. All rights reserved. Terms of Use.

*Top of Page