Statics Methods Relevant to Transform3Bvr Objects

compose Creates a three-dimensional transformation behavior that is a composition of the given transformation behaviors.
compose3Array Creates a three-dimensional transformation behavior that is a composition of the Transform3Bvr objects in the array.
lookAtFrom Creates a three-dimensional transformation behavior 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.
rotate Creates a three-dimensional transformation behavior 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.
rotateDegrees Creates a three-dimensional transformation behavior 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.
rotateRate Creates a three-dimensional transformation behavior 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.
rotateRateDegrees Creates a three-dimensional transformation behavior 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.
scale(sx, sy, sz) Creates a three-dimensional transformation behavior that, when applied to a three-dimensional object, scales it. Scaling is specified as three integers.
scale(v) Creates a three-dimensional transformation behavior that, when applied to a three-dimensional object, scales it. The scaling is specified as a Vector3Bvr object.
scaleRate Creates a three-dimensional transformation behavior that, when applied to a three-dimensional object, scales it. The scaling rates are determined by multiplying the arguments by localTime.
scale3 Creates a three-dimensional transformation behavior that, when applied to a three-dimensional object, scales it uniformly.
scale3Rate 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.
transform4x4 Creates a three-dimensional transformation behavior that consists of the 4 by 4 matrix having the values specified by the given number behaviors.
translate(tx, ty, tz) Creates a three-dimensional transformation behavior that, when applied to a point behavior, translates (moves) the point by the amounts given by the number behaviors.
translate(loc) Creates a two-dimensional transformation that, when applied to a point, translates (moves) the point to the new location loc.
translate(v) Creates a three-dimensional transformation behavior that, when applied to a point behavior, translates (moves) the point by the amounts given by the vector behavior.
translateRate Creates a three-dimensional transformation behavior that, when applied to a point behavior, translates (moves) the point by the amounts given by the doubles.
xShear Shears the x-axis in the positive y-direction by a and in the positive z-direction by b.
xShearRate Shears the x-axis in the positive y-direction by a and in the positive z-direction by b.
yShear Shears the y-axis in the positive x-direction by c and in the positive z-direction by d.
yShearRate Shears the y-axis in the positive x-direction by c and in the positive z-direction by d.
zShear Shears the z-axis in the positive x-direction by e and in the positive y-direction by f.
zShearRate Shears the z-axis in the positive x-direction by e and in the positive y-direction by f.

compose

Statics Class

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

Syntax

public static Transform3Bvr compose( Transform3Bvr xf1, Transform3Bvr xf2 );

Parameters

xf1 and xf2
Transform3Bvr objects.

Return Value

Returns the Transform3Bvr object.

Remarks

Composing a transform is equivalent to first applying xf2 and then applying xf1. In other words:

geo.transform(compose(xf1, xf2)
== geo.transform(xf2).transform(xf1)

compose3Array

Statics Class

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

Syntax

public static Transform3Bvr compose3Array( Transform3Bvr[] xforms );

Parameters

xf1 and xf2
Transform3Bvr objects.

Return Value

Returns the Transform3Bvr object.

Remarks

Composing a transform is equivalent to first applying the nth transform, then applying the (nth-1) transform, and so on.

lookAtFrom

Statics Class

Creates a three-dimensional transformation behavior 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 positive y, and aimed in the negative z-direction.

Syntax

public static Transform3Bvr lookAtFrom( Point3Bvr from, Point3Bvr to, Vector3Bvr up );

Parameters

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

Return Value

Returns the Transform3Bvr object.

Remarks

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

rotate

Statics Class

Creates a three-dimensional transformation behavior 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

public static Transform3Bvr rotate( Vector3Bvr axis, NumberBvr radians );

Parameters

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

Return Value

Returns the Transform3Bvr object.

Remarks

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

rotateDegrees

Statics Class

Creates a three-dimensional transformation behavior 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.

Syntax

public static Transform3Bvr rotateDegrees( Vector3Bvr axis, double degrees );

Parameters

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

Return Value

Returns the Transform3Bvr object.

Remarks

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

rotateRate

Statics Class

Creates a three-dimensional transformation behavior 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

public static Transform3Bvr rotateRate( Vector3Bvr axis, double radians );

Parameters

axis
Vector3Bvr object representing the axis around which to rotate. The plane of rotation is perpendicular to the ray defined by this vector.
radians
The double value representing the angle of rotation, multiplied by localTime. The unit is radians per second.

Return Value

Returns the Transform3Bvr object.

Remarks

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

rotateRateDegrees

Statics Class

Creates a three-dimensional transformation behavior 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

public static Transform3Bvr rotateRateDegrees( Vector3Bvr axis, double degrees );

Parameters

axis
Vector3Bvr object representing the axis around which to rotate. The plane of rotation is perpendicular to the ray defined by this vector.
degrees
The double value representing the angle of rotation (expressed in degrees) multiplied by localTime. The unit is degrees per second.

Return Value

Returns the Transform3Bvr object.

Remarks

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

scale(sx, sy, sz)

Statics Class

Creates a three-dimensional transformation behavior 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 number behaviors. The scaling is specified as three integers, for scaling along the x, y, and z dimensions.

Syntax

public static Transform3Bvr scale( NumberBvr sx, NumberBvr sy, NumberBvr sz );

Parameters

sx, sy, and sz
NumberBvr 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. These parameters can also be of type double.

Return Value

Returns the Transform3Bvr object.

scale(v)

Statics Class

Creates a three-dimensional transformation behavior 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. The scaling is specified as a Vector3Bvr object.

Syntax

public static Transform3Bvr scale( Vector3Bvr v );

Parameters

v
Vector3Bvr 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 Transform3Bvr object.

scaleRate

Statics Class

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

Syntax

public Transform3Bvr scaleRate( double x, double y, double z );

Parameters

x, y, and z
The doubles representing the amounts to scale. The value of x applies to the x coordinate, y to the y coordinate, and z to the z coordinate.

Return Value

Returns the Transform3Bvr object.

scale3

Statics Class

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

Syntax

public static Transform3Bvr scale3( NumberBvr uniformFactor );

Parameters

uniformFactor
NumberBvr object representing the value to apply to the x, y, and z coordinates, respectively. This parameter can also be of type double.

Return Value

Returns the Transform3Bvr object.

See Also

scale, scale

scale3Rate

Statics 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

public Transform3Bvr scale3Rate( double rate );

Parameters

rate
The double value to apply to the x, y, and z coordinates, respectively, multiplied by localTime. The unit is degrees per second.

Return Value

Returns the Transform3Bvr object.

transform4x4

Statics 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

public static Transform3Bvr transform4x4( NumberBvr[] matrix );

Parameters

matrix
The 4 by 4 matrix. The first row of the matrix can be represented by the NumberBvr 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 NumberBvr 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 NumberBvr 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 NumberBvr objects a30, a31, a32, a33.

Return Value

Returns the Transform3Bvr 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].

translate(tx, ty, tz)

Statics Class

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

Syntax

public static Transform3Bvr translate( NumberBvr tx, NumberBvr ty, NumberBvr tz );

Parameters

tx, ty, and tz
NumberBvr objects representing the amounts to translate the point along the x, y, and z axes, respectively. These parameters can also be of type double.

Return Value

Returns the Transform3Bvr object.

Remarks

Vectors are unchanged by translations.

translate(loc)

Statics Class

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

Syntax

public static Transform3Bvr translate( Point3Bvr loc );

Parameters

loc
Point3Bvr object specifying the new location.

Return Value

Returns the Transform3Bvr object.

translate(v)

Statics Class

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

Syntax

public static Transform3Bvr translate( Vector3Bvr v );

Parameters

v
Vector3Bvr object. The x, y, and z coordinates of the vector behavior specify the amounts to translate along the x, y, and z axes, respectively.

Return Value

Returns the Transform3Bvr object.

Remarks

Vectors are unchanged by translations.

translateRate

Statics Class

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

Syntax

public Transform3Bvr translateRate( double x, double y, double z );

Parameters

x, y, and z
The doubles representing the amounts to translate the point along the x, y, and z axes, respectively.

Return Value

Returns the Transform3Bvr object.

Remarks

Vectors are unchanged by translations.

xShear

Statics 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

public static Transform3Bvr xShear( NumberBvr a, NumberBvr b );

Parameters

a
NumberBvr object representing the amount of shear in the Y direction. This parameter can also be of type double.
b
NumberBvr object representing the amount of shear in the Z direction. This parameter can also be of type double.

Return Value

Returns the Transform3Bvr object.

See Also

yShear, zShear

xShearRate

Statics 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

public static Transform3Bvr xShearRate( double a, double b );

Parameters

a
The double value representing the amount of shear in the y-direction, multiplied by localTime. The unit is meters per second.
b
The double value representing the amount of shear in the z-direction, multiplied by localTime. The unit is meters per second.

Return Value

Returns the Transform3Bvr object.

See Also

yShear, zShear

yShear

Statics 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

public static Transform3Bvr yShear( NumberBvr c, NumberBvr d );

Parameters

c
NumberBvr object representing the amount of shear in the X direction. This parameter can also be of type double.
d
NumberBvr object representing the amount of shear in the Z direction. This parameter can also be of type double.

Return Value

Returns the Transform3Bvr object.

See Also

xShear, zShear

yShearRate

Statics 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

public static Transform3Bvr yShearRate( double c, double d );

Parameters

c
The double value representing the amount of shear in the x-direction, multiplied by localTime. The unit is meters per second.
d
The double value representing the amount of shear in the z-direction, multiplied by localTime. The unit is meters per second.

Return Value

Returns the Transform3Bvr object.

See Also

xShear, zShear

zShear

Statics 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

public static Transform3Bvr zShear( NumberBvr e, NumberBvr f );

Parameters

e
NumberBvr object representing the amount of shear in the X direction. This parameter can also be of type double.
f
NumberBvr object representing the amount of shear in the Y direction. This parameter can also be of type double.

Return Value

Returns the Transform3Bvr object.

See Also

xShear, yShear

zShearRate

Statics 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

public static Transform3Bvr zShearRate( double e, double f );

Parameters

e
The double value representing the amount of shear in the x-direction, multiplied by localTime. The unit is meters per second.
f
The double representing the amount of shear in the y-direction, multiplied by localTime. The unit is meters per second.

Return Value

Returns the Transform3Bvr object.

See Also

xShear, yShear


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