Browsing Wiremod's section
← Back to ACE
🔁

Mirrored article

This page is synced automatically from the wiremod/wire GitHub wiki (last synced 1 hour ago). Edits made here will be overwritten on the next sync — contribute on the source wiki instead.

e2 docs vector

📁 MathUpdated 1 hour ago•0 views
Vector = vec() Same as vec(0,0,0) (1 ops) = vec( X) Makes a 3D vector (2 ops) = vec( X, Y, Z) Makes a 3D vector (2 ops) = vec( V2) Converts a 2D vector into a 3D vector (the z component is set to 0) (

Jump to table of contents

Vector
= vec()
Same as vec(0,0,0) (1 ops)

= vec( X)
Makes a 3D vector (2 ops)

= vec( X, Y, Z)
Makes a 3D vector (2 ops)

= vec( V2)
Converts a 2D vector into a 3D vector (the z component is set to 0) (2 ops)

= vec( V2, Z)
Converts a 2D vector into a 3D vector (the z component is set to the second argument) (2 ops)

= vec( V4)
Converts a 4D vector into a 3D vector (the w component is dropped) (2 ops)

= vec( Ang)
Changes an angle variable into a vector variable. PYR become XYZ respectively (2 ops)

= randvec()
Returns a uniformly distributed, random, normalized direction vector (10 ops)

= randvec( Min, Max)
Returns a random vector with its components between N1 and N2 (5 ops)

= randvec( Min, Max)
Returns a random vector between V1 and V2 (5 ops)

= :length()
Gets the length of the vector (2 ops)

= :length2()
Gets the squared length of the vector (2 ops)

= :distance( Other)
Gets the distance between vectors (2 ops)

= :distance2( Other)
Gets the squared distance between vectors (2 ops)

= :normalized()
Gets the normalized vector (2 ops)

= :dot( Other)
Gets the vector dot (scalar) product (2 ops)

= :cross( Other)
Gets the vector cross product (2 ops)

= :outerProduct( Other)
Gets the outer product (tensor product) and returns a matrix (tensor) (10 ops)

= :rotateAroundAxis( Axis, Degrees)
Returns the vector V1 rotated around vector V2 by N degrees (15 ops)

= :rotate( Ang)
Gets the rotated vector (5 ops)

= :rotate( Pitch, Yaw, Roll)
Gets the rotated vector (5 ops)

= :dehomogenized()
Converts a 2D homogeneous vector (x,y,w) into a 2D cartesian vector (5 ops)

= positive( Rv1)
Returns a vector containing the positive value of each vector component, equivalent to abs(N) (5 ops)

= toRad( Rv1)
Converts the vector's magnitude from radians to radians (3 ops)

= toDeg( Rv1)
Converts the vector's magnitude from radians to degrees (3 ops)

= clamp( Input, Min, Max)
Returns a vector in the same direction as vector 1, with length clamped between argument 2(min) and argument 3(max) (5 ops)

= :x()
Gets the x component of the vector (1 ops)

= :y()
Gets the y component of the vector (1 ops)

= :z()
Gets the z component of the vector (1 ops)

= :setX( X)
Returns a copy of the vector with X replaced (use as Vec = Vec:setX(...)) (2 ops)

= :setY( Y)
Returns a copy of the vector with Y replaced (use as Vec = Vec:setY(...)) (2 ops)

= :setZ( Z)
Returns a copy of the vector with Z replaced (use as Vec = Vec:setZ(...)) (2 ops)

= round( Rv1)
Rounds XYZ to the nearest integer (6 ops)

= round( Rv1, Decimals)
Rounds XYZ to argument 2's decimal precision (6 ops)

= ceil( Rv1)
Rounds XYZ up to the nearest integer (6 ops)

= ceil( Rv1, Decimals)
Rounds XYZ up to argument 2's decimal precision (6 ops)

= floor( Rv1)
Rounds XYZ down to the nearest integer (6 ops)

= floor( Rv1, Decimals)
Rounds XYZ down to argument 2's decimal precision (6 ops)

= min( Vec1, Vec2)
Returns the vector with the smallest length (10 ops)

= max( Vec1, Vec2)
Returns the vector with the greatest length (10 ops)

= maxVec( Rv1, Rv2)
Returns the vector combining the highest value components of V1 and V2 (10 ops)

= minVec( Rv1, Rv2)
Returns a vector combining the lowest value components of V1 and V2 (10 ops)

= mod( Rv1, Rv2)
Returns the remainder after XYZ have been divided by argument 2 (10 ops)

= mod( Rv1, Rv2)
Returns the remainder after the components of vector 1 have been divided by the components of vector 2 (10 ops)

= clamp( Value, Min, Max)
Clamps vector 1's XYZ between the XYZ of vector 2(min) and vector 3(max) (10 ops)

= lerp( From, To, Fraction)
Performs linear interpolation. Returns a new value between 'from' and 'to', based on a 0-1 percentage ('fraction') (10 ops)

= mix( To, From, Fraction)
Combines vector 1's XYZ with vector 2's XYZ by a proportion given by argument 3 (between 0 and 1) (10 ops)

= bezier( Startvec, Tangent, Endvec, Ratio)
Returns the 3D vector position on the bezier curve between the starting and ending 3D vector, given by the ratio (value between 0 and 1) (10 ops)

= bezier( Startvec, Tangent1, Tangent2, Endvec, Ratio)
Returns the 3D vector position on the bezier curve between the starting and ending 3D vector, given by the ratio (value between 0 and 1) (10 ops)

= shiftR( Vec)
Shifts the vector's components right: shiftR( x,y,z ) = ( z,x,y ) (2 ops)

= shiftL( Vec)
Shifts the vector's components left: shiftL( x,y,z ) = ( y,z,x ) (2 ops)

= inrange( Vec, Min, Max)
Returns 1 if each component of V is between (or is equal to) the components of Vmin and Vmax (5 ops)

= :toAngle()
Converts a direction vector into an angle (3 ops)

= :toAngle( Up)
Converts a direction vector into an angle with roll being determined by the up vector (3 ops)

= pointHasContent( Point, Has)
'S' can be a string containing the last half of the CONTENTS_ enums (ie without the "CONTENTS_"). Multiple CONTENTS types can be seperated by a comma. Check: Enumeration_List:Contents for a full list. Examples: "water,solid" or "empty,transparent". The function returns 1 if any one of the types are found in the vector point (20 ops)

= pointContents( Point)
Returns a string with all the "content" types in the vector point, seperated by commas (15 ops)

= pointContentsArray( Point)
Returns an array with all the "content" types in the vector point (15 ops)

= toWorld( Localpos, Localang, Worldpos, Worldang)
Converts a local position/angle to a world position/angle and returns the position (15 ops)

= toWorldAng( Localpos, Localang, Worldpos, Worldang)
Converts a local position/angle to a world position/angle and returns the angle (15 ops)

= toWorldPosAng( Localpos, Localang, Worldpos, Worldang)
Converts a local position/angle to a world position/angle and returns both in an array (15 ops)

= toLocal( Localpos, Localang, Worldpos, Worldang)
Converts a world position/angle to a local position/angle and returns the position (15 ops)

= toLocalAng( Localpos, Localang, Worldpos, Worldang)
Converts a world position/angle to a local position/angle and returns the angle (15 ops)

= toLocalPosAng( Localpos, Localang, Worldpos, Worldang)
Converts a world position/angle to a local position/angle and returns both in an array (15 ops)

= bearing( Originpos, Originangle, Pos)
Gets the bearing from the first position, at the specified angle, to the second position (15 ops)

= elevation( Originpos, Originangle, Pos)
Gets the elevation from the first position, at the specified angle, to the second position (15 ops)

= heading( Originpos, Originangle, Pos)
Gets the elevation and bearing from the first position, at the specified angle, to the second position (15 ops)

= :isInWorld()
Returns 1 if the position vector is within the world, 0 if not (10 ops)

= :toString()
Gets the vector nicely formatted as a string "[X,Y,Z]" (5 ops)

= toString( V)
Gets the vector nicely formatted as a string "[X,Y,Z]" (5 ops)

Was this article helpful?

See More

Discussion(0)

No comments yet. Be the first to ask a question!

Have a question? Sign in to join the discussion.