DAStatics Functions Relevant to DATransform3 Objects

Compose3 Creates a three-dimensional transformation that is a composition of the given transformation objects.
Compose3Array Creates a three-dimensional transformation that is a composition of the DATransform3 objects in the array.
LookAtFrom 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.
Rotate3 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. Same as Rotate3Anim except that axis and radians are nonanimated numbers.
Rotate3Anim 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.
Rotate3Degrees 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.
Rotate3Rate 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.
Rotate3RateDegrees 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.
Scale3 Creates a three-dimensional transformation that, when applied to a three-dimensional object, scales it. Same as Scale3Anim except that sx, sy, and sz are nonanimated numbers (doubles).
Scale3Anim Creates a three-dimensional transformation that, when applied to a three-dimensional object, scales it.
Scale3Rate Creates a three-dimensional transformation that, when applied to a three-dimensional object, scales it.
Scale3Uniform Creates a three-dimensional transformation behavior that, when applied to a three-dimensional object, scales it uniformly. Same as Scale3UniformAnim except that uniformFactor is a nonanimated number (a double).
Scale3UniformAnim Creates a three-dimensional transformation behavior that, when applied to a three-dimensional object, scales it uniformly.
Scale3UniformRate Creates a three-dimensional transformation behavior that, when applied to a three-dimensional object, scales it uniformly.
Scale3Vector Creates a three-dimensional transformation that, when applied to a three-dimensional object, scales it.
Transform4x4Anim Creates a three-dimensional transformation behavior that consists of the 4 by 4 matrix having the values specified by the given number behaviors.
Translate3 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 parameters. Same as Translate3Anim except that tx, ty, and tz are nonanimated numbers (doubles).
Translate3Anim 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 parameters.
Translate3Point Creates a three-dimensional transformation that, when applied to a point, translates (moves) the point to the new location loc.
Translate3Rate Creates a three-dimensional transformation that, when applied to a point, translates (moves) the point by the amounts given by x, y, z.
Translate3Vector Creates a three-dimensional transformation behavior that, when applied to a point, translates (moves) the point by the amounts given by the vector.
XShear3 Shears the x-axis in the positive y-direction by a and in the positive z-direction by b. Same as XShear3Anim except that a and b are nonanimated numbers (doubles).
XShear3Anim Shears the x-axis in the positive y-direction by a and in the positive z-direction by b.
XShear3Rate Shears the x-axis in the positive y-direction by a and in the positive z-direction by b.
YShear3 Shears the y-axis in the positive x-direction by c and in the positive z-direction by d. Same as YShear3Anim except that c and d are nonanimated numbers (double).
YShear3Anim Shears the y-axis in the positive x-direction by c and in the positive z-direction by d.
YShear3Rate Shears the y-axis in the positive x-direction by c and in the positive z-direction by d.
ZShear3 Shears the z-axis in the positive x-direction by e and in the positive y-direction by f. Same as ZShear3Anim except that e and f are nonanimated numbers (doubles).
ZShear3Anim Shears the z-axis in the positive x-direction by e and in the positive y-direction by f.
ZShear3Rate Shears the z-axis in the positive x-direction by e and in the positive y-direction by f.

Compose3

DAStatics Class

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

Syntax

lib.Compose3( xf1, xf2 )

Parameters

xf1 and xf2
DATransform3 objects.

Return Value

Returns the DATransform3 object.

Remarks

Composing a transform is equivalent to applying the transforms in the array.

Compose3Array

DAStatics Class

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

Syntax

lib.Compose3Array( xforms )

Parameters

xforms
DATransform3 objects in the (variant) array.

Return Value

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.

Syntax

lib.LookAtFrom( from, to, up )

Parameters

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

Return Value

Returns the DATransform3 object.

Remarks

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

Rotate3

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. Same as Rotate3Anim except that axis and radians are nonanimated numbers.

Syntax

lib.Rotate3( axis, radians )

Parameters

axis
DAVector3 object representing the axis around which to rotate. The plane of rotation is perpendicular to the ray defined by this vector. This is a nonanimated number.
radians
A double value representing the angle of rotation. This is a nonanimated number.

Return Value

Returns the DATransform3 object.

Remarks

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

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.

Syntax

lib.Rotate3Anim( axis, radians )

Parameters

axis
DAVector3 object representing the axis around which to rotate. The plane of rotation is perpendicular to the ray defined by this vector.
radians
DANumber object representing the angle of rotation.

Return Value

Returns the DATransform3 object.

Remarks

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

Rotate3Degrees

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.

Syntax

lib.Rotate3Degrees( axis, degrees )

Parameters

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

Return Value

Returns the DATransform3 object.

Remarks

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

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.

Syntax

lib.Rotate3Rate( axis, radians )

Parameters

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

Return Value

Returns the DATransform3 object.

Remarks

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

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.

Syntax

lib.Rotate3RateDegrees( axis, degrees )

Parameters

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

Return Value

Returns the DATransform3 object.

Remarks

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

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.

Scale3

DAStatics Class

Creates a three-dimensional transformation that, when applied to a three-dimensional object, scales it. Same as Scale3Anim except that sx, sy, and sz are nonanimated numbers (doubles).

Syntax

lib.Scale3( sx, sy, sz )

Parameters

sx, sy, and sz
Values 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. These are nonanimated numbers (double values).

Return Value

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.

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.

Syntax

lib.Scale3Anim( sx, sy, sz )

Parameters

sx, sy, and sz
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 Value

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.

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.

Syntax

lib.Scale3Rate( x, y, z )

Parameters

x, y, and z
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 Value

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.

Scale3Uniform

DAStatics Class

Creates a three-dimensional transformation behavior that, when applied to a three-dimensional object, scales it uniformly. Same as Scale3UniformAnim except that uniformFactor is a nonanimated number (a double).

Syntax

lib.Scale3Uniform( uniformFactor )

Parameters

uniformFactor
A double value representing the value to apply to the x, y, and z coordinates, respectively. These are nonanimated numbers.

Return Value

Returns the DATransform3 object.

Scale3UniformAnim

DAStatics Class

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

Syntax

lib.Scale3UniformAnim( uniformFactor )

Parameters

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

Return Value

Returns the DATransform3 object.

See Also

Scale3Anim, Scale3Vector

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.

Syntax

lib.Scale3UniformRate( rate )

Parameters

rate
Number (a double) representing the value to apply to the x, y, and z coordinates, respectively, and multiplied by LocalTime.

Return Value

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.

Syntax

lib.Scale3Vector( v )

Parameters

v
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 Value

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.

Syntax

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 Value

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].

Translate3

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 parameters. Same as Translate3Anim except that tx, ty, and tz are nonanimated numbers (doubles).

Syntax

lib.Translate3( tx, ty, tz )

Parameters

tx, ty, and tz
Values representing the amounts to translate the point along the x-, y-, and z-axes, respectively. These are nonanimated numbers (doubles).

Return Value

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.

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 parameters.

Syntax

lib.Translate3Anim( tx, ty, tz )

Parameters

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

Return Value

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.

Translate3Point

DAStatics Class

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

Syntax

lib.Translate3Point( loc )

Parameters

loc
DAPoint3 object specifying the new location. This must be an animated point.

Return Value

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.

Syntax

lib.Translate3Rate( x, y, z )

Parameters

x, y, and z
Numbers (doubles) representing the amounts to translate the point along the x, y, and z axes, respectively, and multiplied by LocalTime.

Return Value

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.

Syntax

lib.Translate3Vector( v )

Parameters

v
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 Value

Returns the DATransform3 object.

Remarks

Vectors are unchanged by translations.

XShear3

DAStatics Class

Shears the x-axis in the positive y-direction by a and in the positive z-direction by b. Same as XShear3Anim except that a and b are nonanimated numbers (doubles).

Syntax

lib.XShear3( a, b )

Parameters

a
A double value representing the amount of shear in the y-direction. This is a nonanimated number.
b
A double value representing the amount of shear in the z-direction. This is a nonanimated number.

Return Value

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.

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.

Syntax

lib.XShear3Anim( a, b )

Parameters

a
DANumber object representing the amount of shear in the y-direction. This must be an animated number.
b
DANumber object representing the amount of shear in the z-direction. This must be an animated number.

Return Value

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

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.

Syntax

lib.XShear3Rate( a, b )

Parameters

a
Number (a double) representing the amount of shear in the Y direction, multiplied by LocalTime.
b
Number (a double) representing the amount of shear in the Z direction, multiplied by LocalTime.

Return Value

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

YShear3

DAStatics Class

Shears the y-axis in the positive x-direction by c and in the positive z-direction by d. Same as YShear3Anim except that c and d are nonanimated numbers (double values).

Syntax

lib.YShear3( c, d )

Parameters

c
A double value representing the amount of shear in the x-direction. This is a nonanimated number.
d
A double value representing the amount of shear in the z-direction. This is a nonanimated number.

Return Value

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.

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.

Syntax

lib.YShear3Anim( c, d )

Parameters

c
DANumber object representing the amount of shear in the x-direction. This must be an animated number.
d
DANumber object representing the amount of shear in the z-direction. This must be an animated number.

Return Value

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

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.

Syntax

lib.YShear3Rate( c, d )

Parameters

c
Number (a double) representing the amount of shear in the x direction, multiplied by LocalTime.
d
Number (a double) representing the amount of shear in the z direction, multiplied by LocalTime.

Return Value

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

ZShear3

DAStatics Class

Shears the z-axis in the positive x-direction by e and in the positive y-direction by f. Same as ZShear3Anim except that e and f are nonanimated numbers (doubles).

Syntax

lib.ZShear3( e, f )

Parameters

e
A double value representing the amount of shear in the x-direction. This is a nonanimated number.
f
A double value representing the amount of shear in the y-direction. This is a nonanimated number.

Return Value

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.

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.

Syntax

lib.ZShear3Anim( e, f )

Parameters

e
DANumber object representing the amount of shear in the x-direction. This must be an animated number.
f
DANumber object representing the amount of shear in the y-direction. This must be an animated number.

Return Value

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

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.

Syntax

lib.ZShear3Rate( e, f )

Parameters

e
Number (a double) representing the amount of shear in the x direction, multiplied by LocalTime.
f
Number (a double) representing the amount of shear in the y direction, multiplied by LocalTime.

Return Value

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


Top of Page Top of Page
© 2000 Microsoft and/or its suppliers. All rights reserved. Terms of Use.