Changes

Jump to navigation Jump to search

Category:Physics Engine/Vectors

1,266 bytes removed, 07:10, 18 July 2012
no edit summary
Line 1: Line 1: −
 
+
A vector is a 2-dimensional object with x and y components. Its type is TI.cpVect.  
−
A vector is a 2-dimensional object with x and y components. Its type is TI.cpVect.
      
----
 
----
−
===== Vect =====
      +
===== Vect  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">vector = physics.Vect(x, y)
−
vector = physics.Vect(x, y)
   
vector = physics.Vect(angle)
 
vector = physics.Vect(angle)
 
vector = physics.Vect(vect)
 
vector = physics.Vect(vect)
−
</pre><!-- code end-->
+
</pre><!-- code end--> <!-- table start -->  
−
 
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
<!-- table start -->
+
! Parameter  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Type  
−
<!-- header row start -->
+
! Description <!-- header row end -->
−
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| x  
+
| x  
−
| '''in''' number  
+
| '''in''' number  
−
| The _x_ component of the vector  
+
| The _x_ component of the vector
 
|-
 
|-
−
| y  
+
| y  
−
| '''in''' number  
+
| '''in''' number  
−
| The _y_ component of the vector  
+
| The _y_ component of the vector
 
|-
 
|-
−
| angle  
+
| angle  
−
| '''in''' number  
+
| '''in''' number  
−
| An angle in radians  
+
| An angle in radians
 
|-
 
|-
−
| vect  
+
| vect  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| A vector  
+
| A vector
 
|-
 
|-
−
| vector  
+
| vector  
−
| '''out''' physics.Vect  
+
| '''out''' physics.Vect  
−
| A vector  
+
| A vector
−
|}<!-- table end -->
+
|}
−
 
+
<!-- table end -->  
−
<br/>
+
<br> Creates a vector with initial x and y component values. The second form creates a unit vector pointing in direction ''angle''. The third form creates a copy of the input vector.  
−
Creates a vector with initial x and y component values. The second form creates a unit vector pointing in direction ''angle''. The third form creates a copy of the input vector.
     −
Introduced in platform.apiLevel = '2.0'
+
Introduced in platform.apiLevel = '2.0'  
    
----
 
----
−
===== add =====
      +
===== add  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">sum = physics.Vect:add(vec)
−
sum = physics.Vect:add(vec)
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| vec  
+
| vec  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| A vector to add to ''self''  
+
| A vector to add to ''self''
 
|-
 
|-
−
| sum  
+
| sum  
−
| '''out''' physics.Vect  
+
| '''out''' physics.Vect  
−
| The vector sum of ''self'' and ''vec''  
+
| The vector sum of ''self'' and ''vec''
−
|}<!-- table end -->
+
|}
 +
<!-- table end -->  
 +
<br> Returns the vector sum of ''self'' and ''vec''.
   −
<br/>
+
The Vect class also implements the addition operator (+). Therefore vectors ''v1'' and ''v2'' can be added with the expression ''v1'' + ''v2''.  
−
Returns the vector sum of ''self'' and ''vec''.
     −
The Vect class also implements the addition operator (+). Therefore vectors ''v1'' and ''v2'' can be added with the expression ''v1'' + ''v2''.
+
Introduced in platform.apiLevel = '2.0'  
−
 
  −
Introduced in platform.apiLevel = '2.0'
      
----
 
----
−
===== clamp =====
      +
===== clamp  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">clamped = physics.Vect:clamp(len)
−
clamped = physics.Vect:clamp(len)
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| len  
+
| len  
−
| '''in''' number  
+
| '''in''' number  
−
| The maximum length of the vector  
+
| The maximum length of the vector
 
|-
 
|-
−
| clamped  
+
| clamped  
−
| '''out''' physics.Vect  
+
| '''out''' physics.Vect  
−
| A new vector with a length no longer than ''len''  
+
| A new vector with a length no longer than ''len''
−
|}<!-- table end -->
+
|}
−
 
+
<!-- table end -->  
−
<br/>
+
<br> Returns a copy of ''self'' clamped to length ''len''.  
−
Returns a copy of ''self'' clamped to length ''len''.
     −
Introduced in platform.apiLevel = '2.0'
+
Introduced in platform.apiLevel = '2.0'  
    
----
 
----
−
===== cross =====
      +
===== cross  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">crossprod = physics.Vect:cross(vec)
−
crossprod = physics.Vect:cross(vec)
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| vec  
+
| vec  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The vector to cross with ''self''  
+
| The vector to cross with ''self''
 
|-
 
|-
−
| zmag  
+
| zmag  
−
| '''out''' number  
+
| '''out''' number  
−
| The z magnitude of the cross product of ''self'' and ''vec''  
+
| The z magnitude of the cross product of ''self'' and ''vec''
−
|}<!-- table end -->
+
|}
−
 
+
<!-- table end -->  
−
<br/>
+
<br> Returns the z magnitude of the cross product of ''self'' and ''vec''.  
−
Returns the z magnitude of the cross product of ''self'' and ''vec''.
     −
Introduced in platform.apiLevel = '2.0'
+
Introduced in platform.apiLevel = '2.0'  
    
----
 
----
−
===== dist =====
      +
===== dist  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">dist = physics.Vect:dist(vec)
−
dist = physics.Vect:dist(vec)
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| vec  
+
| vec  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The vector to which to find the distance from ''self''  
+
| The vector to which to find the distance from ''self''
 
|-
 
|-
−
| dist  
+
| dist  
−
| '''out''' number  
+
| '''out''' number  
−
| The distance from ''self'' to ''vec''  
+
| The distance from ''self'' to ''vec''
−
|}<!-- table end -->
+
|}
 +
<!-- table end -->  
 +
<br> Returns the distance between ''self'' and ''vec''.
   −
<br/>
+
Introduced in platform.apiLevel = '2.0'  
−
Returns the distance between ''self'' and ''vec''.
  −
 
  −
Introduced in platform.apiLevel = '2.0'
      
----
 
----
−
===== distsq =====
      +
===== distsq  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">distsq = physics.Vect:distsq(vec)
−
distsq = physics.Vect:distsq(vec)
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| vec  
+
| vec  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The vector to which to find the distance squared from ''self''  
+
| The vector to which to find the distance squared from ''self''
 
|-
 
|-
−
| distsq  
+
| distsq  
−
| '''out''' number  
+
| '''out''' number  
−
| The distance squared from ''self'' to ''vec''  
+
| The distance squared from ''self'' to ''vec''
−
|}<!-- table end -->
+
|}
−
 
+
<!-- table end -->  
−
<br/>
+
<br> Returns the distance squared between ''self'' and ''vec''. This routine is faster than physics.Vect:dist when you only need to compare distances.  
−
Returns the distance squared between ''self'' and ''vec''. This routine is faster than {{physics.Vect:dist}} when you only need to compare distances.
     −
Introduced in platform.apiLevel = '2.0'
+
Introduced in platform.apiLevel = '2.0'  
    
----
 
----
−
===== dot =====
      +
===== dot  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">dotprod = physics.Vect:dot(vec)
−
dotprod = physics.Vect:dot(vec)
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| vec  
+
| vec  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The other vector  
+
| The other vector
 
|-
 
|-
−
| dotprod  
+
| dotprod  
−
| '''out''' number  
+
| '''out''' number  
−
| The scalar dot product of ''self'' and ''vec''  
+
| The scalar dot product of ''self'' and ''vec''
−
|}<!-- table end -->
+
|}
 +
<!-- table end -->  
 +
<br> Returns the scalar dot product of ''self'' and ''vec''.
   −
<br/>
+
Introduced in platform.apiLevel = '2.0'  
−
Returns the scalar dot product of ''self'' and ''vec''.
  −
 
  −
Introduced in platform.apiLevel = '2.0'
      
----
 
----
−
===== eql =====
      +
===== eql  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">isequ = physics.Vect:eql(vec)
−
isequ = physics.Vect:eql(vec)
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| vec  
+
| vec  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The vector against which to compare with ''self''  
+
| The vector against which to compare with ''self''
 
|-
 
|-
−
| isequ  
+
| isequ  
−
| '''out''' boolean  
+
| '''out''' boolean  
−
| True if the components of ''self'' equal the components of ''vec''  
+
| True if the components of ''self'' equal the components of ''vec''
−
|}<!-- table end -->
+
|}
 +
<!-- table end -->  
 +
<br> Returns true if the x and y components of ''self'' equal those of ''vec''. Take the usual precautions when comparing floating point numbers for equality.
   −
<br/>
+
The Vect class also implements the equal comparison operator (==). Therefore vectors ''v1'' and ''v2'' can be compared with the expression ''v1'' == ''v2''.  
−
Returns true if the x and y components of ''self'' equal those of ''vec''. Take the usual precautions when comparing floating point numbers for equality.
     −
The Vect class also implements the equal comparison operator (==). Therefore vectors ''v1'' and ''v2'' can be compared with the expression ''v1'' == ''v2''.
+
Introduced in platform.apiLevel = '2.0'  
−
 
  −
Introduced in platform.apiLevel = '2.0'
      
----
 
----
−
===== length =====
      +
===== length  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">len = physics.Vect:length()
−
len = physics.Vect:length()
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| len  
+
| len  
−
| '''out''' number  
+
| '''out''' number  
−
| The length of vector ''self''  
+
| The length of vector ''self''
−
|}<!-- table end -->
+
|}
 +
<!-- table end -->  
 +
<br> Returns the magnitude of ''self''.
   −
<br/>
+
Introduced in platform.apiLevel = '2.0'  
−
Returns the magnitude of ''self''.
  −
 
  −
Introduced in platform.apiLevel = '2.0'
      
----
 
----
−
===== lengthsq =====
      +
===== lengthsq  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">lensq = physics.Vect:lengthsq()
−
lensq = physics.Vect:lengthsq()
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| lensq  
+
| lensq  
−
| '''out''' number  
+
| '''out''' number  
−
| The length squared of vector ''self''  
+
| The length squared of vector ''self''
−
|}<!-- table end -->
+
|}
−
 
+
<!-- table end -->  
−
<br/>
+
<br> Returns the length squared of ''self''. This routine is faster than Vect:length() when you only need to compare lengths.  
−
Returns the length squared of ''self''. This routine is faster than {{Vect:length()}} when you only need to compare lengths.
     −
Introduced in platform.apiLevel = '2.0'
+
Introduced in platform.apiLevel = '2.0'  
    
----
 
----
−
===== lerp =====
  −
  −
  −
<!-- code start-->
  −
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
  −
v = physics.Vect:lerp(vec, f)
  −
</pre><!-- code end-->
      +
===== lerp  =====
   −
<!-- table start -->
+
<!-- code start-->
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">v = physics.Vect:lerp(vec, f)
−
<!-- header row start -->
+
</pre><!-- code end--> <!-- table start -->  
−
! Parameter !! Type !! Description
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
<!-- header row end -->
   
|-
 
|-
−
|  self
+
! Parameter
−
|  '''in''' physics.Vect
+
! Type
−
|  The input vector
+
! Description <!-- header row end -->
 
|-
 
|-
−
| vec
+
| self
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The other vector  
+
| The input vector
 
|-
 
|-
−
| f
+
| vec
−
| '''in''' number
+
| '''in''' physics.Vect
−
| ''f_ is a fractional number from 0 to 1 representing the proportion of distance between _self'' and ''vec''
+
| The other vector
 
|-
 
|-
−
| v
+
| f
−
| '''out''' physics.Vect
+
| '''in''' number
−
| A vector interpolated between ''self'' and ''vec''
+
| ''f_ is a fractional number from 0 to 1 representing the proportion of distance between _self'' and ''vec''
−
|}<!-- table end -->
  −
 
  −
<br/>
  −
Returns the linear interpolation between ''self'' and ''vec'' as a vector. ''f_ is the fraction of distance between _self'' and ''vec''.
  −
{|  width="100%" style="padding: 20px; margin-left:20px; border:solid; border-color:#aaa; border-width:0px; text-align:left; background-color:#FFFFCE;"
   
|-
 
|-
−
| <span style="color:#AAAA00">'''NOTE'''</span><hr>
+
| v
−
|-
+
| '''out''' physics.Vect
−
 
+
| A vector interpolated between ''self'' and ''vec''
 +
|}
 +
<!-- table end -->  
 +
<br> Returns the linear interpolation between ''self'' and ''vec'' as a vector. ''f_ is the fraction of distance between _self'' and ''vec''.
 
<div style="white-space: pre">
 
<div style="white-space: pre">
 +
May not behave as expected for f larger than 1.0 or less than 0.
 +
</div>
 +
{| width="100%" style="padding: 20px; margin-left:20px; border:solid; border-color:#aaa; border-width:0px; text-align:left; background-color:#FFFFCE;"
 +
|}
   −
May not behave as expected for f larger than 1.0 or less than 0.
+
<br>  
−
 
  −
</div>
  −
|}
  −
<br/>
     −
Introduced in platform.apiLevel = '2.0'
+
Introduced in platform.apiLevel = '2.0'  
    
----
 
----
−
===== lerpconst =====
  −
  −
  −
<!-- code start-->
  −
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
  −
v = physics.Vect:lerpconst(vec, d)
  −
</pre><!-- code end-->
      +
===== lerpconst  =====
   −
<!-- table start -->
+
<!-- code start-->
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">v = physics.Vect:lerpconst(vec, d)
−
<!-- header row start -->
+
</pre><!-- code end--> <!-- table start -->  
−
! Parameter !! Type !! Description
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
<!-- header row end -->
   
|-
 
|-
−
|  self
+
! Parameter
−
|  '''in''' physics.Vect
+
! Type
−
|  The input vector
+
! Description <!-- header row end -->
 
|-
 
|-
−
| vec
+
| self
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The other vector  
+
| The input vector
 
|-
 
|-
−
| d
+
| vec
−
| '''in''' number
+
| '''in''' physics.Vect
−
| The distance from ''self'' to ''vec'' to interpolate a new vector  
+
| The other vector
 
|-
 
|-
−
| v
+
| d
−
| '''out''' physics.Vect
+
| '''in''' number
−
|
+
| The distance from ''self'' to ''vec'' to interpolate a new vector
−
|}<!-- table end -->
  −
 
  −
<br/>
  −
Returns a vector interpolated from ''self'' towards ''vec'' with length _d_.
  −
{|  width="100%" style="padding: 20px; margin-left:20px; border:solid; border-color:#aaa; border-width:0px; text-align:left; background-color:#FFFFCE;"
   
|-
 
|-
−
| <span style="color:#AAAA00">'''NOTE'''</span><hr>
+
| v
−
|-
+
| '''out''' physics.Vect
−
 
+
|
 +
|}
 +
<!-- table end -->  
 +
<br> Returns a vector interpolated from ''self'' towards ''vec'' with length _d_.
 
<div style="white-space: pre">
 
<div style="white-space: pre">
 +
May not behave as expected for d larger than 1.0 or less than 0.
 +
</div>
 +
{| width="100%" style="padding: 20px; margin-left:20px; border:solid; border-color:#aaa; border-width:0px; text-align:left; background-color:#FFFFCE;"
 +
|}
   −
May not behave as expected for d larger than 1.0 or less than 0.
+
<br>
   −
</div>
+
Introduced in platform.apiLevel = '2.0'  
−
|}
  −
<br/>
  −
 
  −
Introduced in platform.apiLevel = '2.0'
      
----
 
----
−
===== mult =====
      +
===== mult  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">v = physics.Vect:mult(factor)
−
v = physics.Vect:mult(factor)
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| factor  
+
| factor  
−
| '''in''' number  
+
| '''in''' number  
−
| The value to multiply by ''self''  
+
| The value to multiply by ''self''
 
|-
 
|-
−
| v  
+
| v  
−
| '''out''' physics.Vect  
+
| '''out''' physics.Vect  
−
| The resulting scaled vector  
+
| The resulting scaled vector
−
|}<!-- table end -->
+
|}
 +
<!-- table end -->  
 +
<br> Multiplies a vector by a factor.
   −
<br/>
+
Introduced in platform.apiLevel = '2.0'  
−
Multiplies a vector by a factor.
  −
 
  −
Introduced in platform.apiLevel = '2.0'
      
----
 
----
−
===== near =====
      +
===== near  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">isnear = physics.Vect:near(vec, distance)
−
isnear = physics.Vect:near(vec, distance)
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| vec  
+
| vec  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The value to multiply by ''self''  
+
| The value to multiply by ''self''
 
|-
 
|-
−
| distance  
+
| distance  
−
| '''in''' number  
+
| '''in''' number  
−
| The distance from ''vec''  
+
| The distance from ''vec''
 
|-
 
|-
−
| isnear  
+
| isnear  
−
| '''out''' boolean  
+
| '''out''' boolean  
−
| True if ''self'' is within ''distance'' of ''vec''  
+
| True if ''self'' is within ''distance'' of ''vec''
−
|}<!-- table end -->
+
|}
−
 
+
<!-- table end -->  
−
<br/>
+
<br> Determines if ''self'' is near another vector.  
−
Determines if ''self'' is near another vector.
     −
Introduced in platform.apiLevel = '2.0'
+
Introduced in platform.apiLevel = '2.0'  
    
----
 
----
−
===== neg =====
      +
===== neg  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">v = physics.Vect:neg()
−
v = physics.Vect:neg()
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| v  
+
| v  
−
| '''out''' physics.Vect  
+
| '''out''' physics.Vect  
−
| The resulting negated vector  
+
| The resulting negated vector
−
|}<!-- table end -->
+
|}
−
 
+
<!-- table end -->  
−
<br/>
+
<br> Returns the negative of ''self''.  
−
Returns the negative of ''self''.
     −
The Vect class also implements the unary minus operator (<nowiki>-</nowiki>''self'').
+
The Vect class also implements the unary minus operator (<nowiki>-</nowiki>''self'').  
   −
Introduced in platform.apiLevel = '2.0'
+
Introduced in platform.apiLevel = '2.0'  
    
----
 
----
    +
<br>
   −
===== normalize =====
+
===== normalize =====
   −
 
+
<!-- code start-->  
−
<!-- code start-->
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">normvec = physics.Vect:normalize()
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
</pre><!-- code end--> <!-- table start -->  
−
normvec = physics.Vect:normalize()
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
</pre><!-- code end-->
+
|-
−
 
+
! Parameter  
−
 
+
! Type  
−
<!-- table start -->
+
! Description <!-- header row end -->
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
  −
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| normvec  
+
| normvec  
−
| '''out''' physics.Vect  
+
| '''out''' physics.Vect  
−
| The resulting normalized vector  
+
| The resulting normalized vector
−
|}<!-- table end -->
+
|}
 +
<!-- table end -->  
 +
<br> Returns a normalized copy of ''self''. The length of a normal vector is 1.
   −
<br/>
+
Introduced in platform.apiLevel = '2.0'  
−
Returns a normalized copy of ''self''. The length of a normal vector is 1.
  −
 
  −
Introduced in platform.apiLevel = '2.0'
      
----
 
----
−
===== normalizeSafe =====
      +
===== normalizeSafe  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">normvec = physics.Vect:normalizeSafe()
−
normvec = physics.Vect:normalizeSafe()
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| normvec  
+
| normvec  
−
| '''out''' physics.Vect  
+
| '''out''' physics.Vect  
−
| The resulting normalized vector  
+
| The resulting normalized vector
−
|}<!-- table end -->
+
|}
−
 
+
<!-- table end -->  
−
<br/>
+
<br> Returns a normalized copy of ''self''. Protects against division by zero.  
−
Returns a normalized copy of ''self''. Protects against division by zero.
     −
Introduced in platform.apiLevel = '2.0'
+
Introduced in platform.apiLevel = '2.0'  
    
----
 
----
−
===== perp =====
      +
===== perp  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">perpvec = physics.Vect:perp()
−
perpvec = physics.Vect:perp()
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| perpvec  
+
| perpvec  
−
| '''out''' physics.Vect  
+
| '''out''' physics.Vect  
−
| The resulting perpendicular vector  
+
| The resulting perpendicular vector
−
|}<!-- table end -->
+
|}
 +
<!-- table end -->  
 +
<br> Returns a vector perpendicular to ''self''. (90 degree rotation)
   −
<br/>
+
Introduced in platform.apiLevel = '2.0'  
−
Returns a vector perpendicular to ''self''. (90 degree rotation)
  −
 
  −
Introduced in platform.apiLevel = '2.0'
      
----
 
----
−
===== project =====
      +
===== project  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">pvec = physics.Vect:project(vec)
−
pvec = physics.Vect:project(vec)
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| vec  
+
| vec  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The other vector  
+
| The other vector
 
|-
 
|-
−
| pvec  
+
| pvec  
−
| '''out''' physics.Vect  
+
| '''out''' physics.Vect  
−
| The vector of ''self'' projected onto ''vec''  
+
| The vector of ''self'' projected onto ''vec''
−
|}<!-- table end -->
+
|}
−
 
+
<!-- table end -->  
−
<br/>
+
<br> Computes the projection of ''self'' onto another vector.  
−
Computes the projection of ''self'' onto another vector.
     −
Introduced in platform.apiLevel = '2.0'
+
Introduced in platform.apiLevel = '2.0'  
    
----
 
----
−
===== rotate =====
      +
===== rotate  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">rvec = physics.Vect:rotate(vec)
−
rvec = physics.Vect:rotate(vec)
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| vec  
+
| vec  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The other vector  
+
| The other vector
 
|-
 
|-
−
| rvec  
+
| rvec  
−
| '''out''' physics.Vect  
+
| '''out''' physics.Vect  
−
| The resulting rotated vector  
+
| The resulting rotated vector
−
|}<!-- table end -->
+
|}
−
 
+
<!-- table end -->  
−
<br/>
+
<br> Uses complex multiplication to rotate ''self'' by ''vec''. Scaling will occur if ''self'' is not a unit vector.  
−
Uses complex multiplication to rotate ''self'' by ''vec''. Scaling will occur if ''self'' is not a unit vector.
     −
Introduced in platform.apiLevel = '2.0'
+
Introduced in platform.apiLevel = '2.0'  
    
----
 
----
−
===== rperp =====
      +
===== rperp  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">perpvec = physics.Vect:rperp()
−
perpvec = physics.Vect:rperp()
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| perpvec  
+
| perpvec  
−
| '''out''' physics.Vect  
+
| '''out''' physics.Vect  
−
| The resulting perpendicular vector  
+
| The resulting perpendicular vector
−
|}<!-- table end -->
+
|}
 +
<!-- table end -->  
 +
<br> Returns a vector perpendicular to ''self''. (90 degree rotation)
   −
<br/>
+
Introduced in platform.apiLevel = '2.0'  
−
Returns a vector perpendicular to ''self''. (90 degree rotation)
  −
 
  −
Introduced in platform.apiLevel = '2.0'
      
----
 
----
−
===== setx =====
      +
===== setx  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">self = physics.Vect:setx(x)
−
self = physics.Vect:setx(x)
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The vector to modify  
+
| The vector to modify
 
|-
 
|-
−
| x  
+
| x  
−
| '''in''' number  
+
| '''in''' number  
−
| The new value of the _x_ component of the vector  
+
| The new value of the _x_ component of the vector
 
|-
 
|-
−
| self  
+
| self  
−
| '''out''' physics.Vect  
+
| '''out''' physics.Vect  
−
| The input vector is returned as the output  
+
| The input vector is returned as the output
−
|}<!-- table end -->
+
|}
−
 
+
<!-- table end -->  
−
<br/>
+
<br> Changes the value of the ''x_ component of _self''. Returns ''self''.  
−
Changes the value of the ''x_ component of _self''. Returns ''self''.
     −
Introduced in platform.apiLevel = '2.0'
+
Introduced in platform.apiLevel = '2.0'  
    
----
 
----
−
===== sety =====
      +
===== sety  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">self = physics.Vect:sety(y)
−
self = physics.Vect:sety(y)
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The vector to modify  
+
| The vector to modify
 
|-
 
|-
−
| y  
+
| y  
−
| '''in''' number  
+
| '''in''' number  
−
| The new value of the _y_ component of the vector  
+
| The new value of the _y_ component of the vector
 
|-
 
|-
−
| self  
+
| self  
−
| '''out''' physics.Vect  
+
| '''out''' physics.Vect  
−
| The input vector is returned as the output  
+
| The input vector is returned as the output
−
|}<!-- table end -->
+
|}
−
 
+
<!-- table end -->  
−
<br/>
+
<br> Changes the value of the ''y_ component of _self''. Returns ''self''.  
−
Changes the value of the ''y_ component of _self''. Returns ''self''.
     −
Introduced in platform.apiLevel = '2.0'
+
Introduced in platform.apiLevel = '2.0'  
    
----
 
----
−
===== slerp =====
      +
===== slerp  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">v = physics.Vect:slerp(vec, f)
−
v = physics.Vect:slerp(vec, f)
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| A unit vector  
+
| A unit vector
 
|-
 
|-
−
| vec  
+
| vec  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The other unit vector  
+
| The other unit vector
 
|-
 
|-
−
| f  
+
| f  
−
| '''in''' number  
+
| '''in''' number  
−
| ''f_ is a fractional number from 0 to 1 representing the proportion of distance between _self'' and ''vec''  
+
| ''f_ is a fractional number from 0 to 1 representing the proportion of distance between _self'' and ''vec''
 
|-
 
|-
−
| v  
+
| v  
−
| '''out''' physics.Vect  
+
| '''out''' physics.Vect  
−
| A vector interpolated between ''self'' and ''vec''  
+
| A vector interpolated between ''self'' and ''vec''
−
|}<!-- table end -->
+
|}
−
 
+
<!-- table end -->  
−
<br/>
+
<br> Computes a spherical linear interpolation between unit vectors ''self'' and ''vec''.  
−
Computes a spherical linear interpolation between unit vectors ''self'' and ''vec''.
+
<div style="white-space: pre">
 +
See [[http://en.wikipedia.org/wiki/Slerp http://en.wikipedia.org/wiki/Slerp]] for a discussion of the meaning, value, and usage of spherical linear interpolation.
 +
</div>
 
{| width="100%" style="padding: 20px; margin-left:20px; border:solid; border-color:#aaa; border-width:0px; text-align:left; background-color:#D8E4F1;"
 
{| width="100%" style="padding: 20px; margin-left:20px; border:solid; border-color:#aaa; border-width:0px; text-align:left; background-color:#D8E4F1;"
 
|-
 
|-
−
| <span style="color:#0000AA">'''INFO'''</span><hr>
+
|}
−
|-
     −
<div style="white-space: pre">
+
<br> <!-- code start-->  
   −
See [[http://en.wikipedia.org/wiki/Slerp http://en.wikipedia.org/wiki/Slerp]] for a discussion of the meaning, value, and usage of spherical linear interpolation.
+
===== physics.Vect:slerp  =====
   −
</div>
+
----
−
|}
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">local vect1 = physics.Vect(math.pi/3) -- unit vector with angle pi/3 radians
−
<br/>
  −
 
  −
<!-- code start-->
  −
<h5 style="text-align:center">physics.Vect:slerp</h5><hr>
  −
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
  −
local vect1 = physics.Vect(math.pi/3) -- unit vector with angle pi/3 radians
   
local vect2 = physics.Vect(math.pi/2) -- unit vector with angle pi/2 radians
 
local vect2 = physics.Vect(math.pi/2) -- unit vector with angle pi/2 radians
 
local result = vect1:slerp(vect2, 0.55) -- compute spherical linear interpolation
 
local result = vect1:slerp(vect2, 0.55) -- compute spherical linear interpolation
−
</pre><!-- code end-->
+
</pre><!-- code end--> <div style="white-space: pre">
 +
This routine computes meaningful results only when the two inputs are unit vectors.
 +
 
 +
May not behave as expected for f larger than 1.0 or less than 0.
 +
</div>  
 
{| width="100%" style="padding: 20px; margin-left:20px; border:solid; border-color:#aaa; border-width:0px; text-align:left; background-color:#FFFFCE;"
 
{| width="100%" style="padding: 20px; margin-left:20px; border:solid; border-color:#aaa; border-width:0px; text-align:left; background-color:#FFFFCE;"
 
|-
 
|-
−
| <span style="color:#AAAA00">'''NOTE''':</span> '''Notes'''<hr>
+
| <span style="color:#AAAA00">'''NOTE''':</span> '''Notes'''  
−
|-
+
----
   −
<div style="white-space: pre">
+
|}
−
This routine computes meaningful results only when the two inputs are unit vectors.
     −
May not behave as expected for f larger than 1.0 or less than 0.
+
<br>  
−
</div>
  −
|}
  −
<br/>
     −
Introduced in platform.apiLevel = '2.0'
+
Introduced in platform.apiLevel = '2.0'  
    
----
 
----
−
===== slerpconst =====
      +
===== slerpconst  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">v = physics.Vect:slerpconst(vec, angle)
−
v = physics.Vect:slerpconst(vec, angle)
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| A unit vector  
+
| A unit vector
 
|-
 
|-
−
| vec  
+
| vec  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The other unit vector  
+
| The other unit vector
 
|-
 
|-
−
| angle  
+
| angle  
−
| '''in''' number  
+
| '''in''' number  
−
| The maximum angle between ''self'' and ''vec'' to interpolate a new vector  
+
| The maximum angle between ''self'' and ''vec'' to interpolate a new vector
 
|-
 
|-
−
| v  
+
| v  
−
| '''out''' physics.Vect  
+
| '''out''' physics.Vect  
−
|
+
|  
−
|}<!-- table end -->
+
|}
−
 
+
<!-- table end -->  
−
<br/>
+
<br> Returns the spherical linear interpolation from ''self'' towards ''vec'' but by no more than ''angle'' in radians.  
−
Returns the spherical linear interpolation from ''self'' towards ''vec'' but by no more than ''angle'' in radians.
+
<div style="white-space: pre">
 +
See [[http://en.wikipedia.org/wiki/Slerp http://en.wikipedia.org/wiki/Slerp]] for a discussion of the meaning, value, and usage of spherical linear interpolation.
 +
</div>
 
{| width="100%" style="padding: 20px; margin-left:20px; border:solid; border-color:#aaa; border-width:0px; text-align:left; background-color:#D8E4F1;"
 
{| width="100%" style="padding: 20px; margin-left:20px; border:solid; border-color:#aaa; border-width:0px; text-align:left; background-color:#D8E4F1;"
−
|-
+
|}
−
|  <span style="color:#0000AA">'''INFO'''</span><hr>
  −
|-
      +
<br>
 
<div style="white-space: pre">
 
<div style="white-space: pre">
−
 
+
This routine computes meaningful results only when the two inputs are unit vectors.  
−
See [[http://en.wikipedia.org/wiki/Slerp http://en.wikipedia.org/wiki/Slerp]] for a discussion of the meaning, value, and usage of spherical linear interpolation.
+
</div>  
−
 
  −
</div>
  −
|}
  −
<br/>
   
{| width="100%" style="padding: 20px; margin-left:20px; border:solid; border-color:#aaa; border-width:0px; text-align:left; background-color:#FFFFCE;"
 
{| width="100%" style="padding: 20px; margin-left:20px; border:solid; border-color:#aaa; border-width:0px; text-align:left; background-color:#FFFFCE;"
 
|-
 
|-
−
| <span style="color:#AAAA00">'''NOTE''':</span> '''NOTE'''<hr>
+
| <span style="color:#AAAA00">'''NOTE''':</span> '''NOTE'''  
−
|-
+
----
   −
<div style="white-space: pre">
  −
This routine computes meaningful results only when the two inputs are unit vectors.
  −
</div>
   
|}
 
|}
−
<br/>
     −
Introduced in platform.apiLevel = '2.0'
+
<br>
 +
 
 +
Introduced in platform.apiLevel = '2.0'  
    
----
 
----
−
===== sub =====
      +
===== sub  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">diff = physics.Vect:sub(vec)
−
diff = physics.Vect:sub(vec)
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| vec  
+
| vec  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| A vector to subtract from ''self''  
+
| A vector to subtract from ''self''
 
|-
 
|-
−
| diff  
+
| diff  
−
| '''out''' physics.Vect  
+
| '''out''' physics.Vect  
−
| The vector difference between ''self'' and ''vec''  
+
| The vector difference between ''self'' and ''vec''
−
|}<!-- table end -->
+
|}
 +
<!-- table end -->  
 +
<br> Returns the vector difference of ''self'' and ''vec''.
   −
<br/>
+
The Vect class also implements the subtraction operator (-). Therefore vector ''v2'' can be subtracted from ''v1'' with the expression ''v1'' <nowiki>-</nowiki> ''v2''.  
−
Returns the vector difference of ''self'' and ''vec''.
     −
The Vect class also implements the subtraction operator (-). Therefore vector ''v2'' can be subtracted from ''v1'' with the expression ''v1'' <nowiki>-</nowiki> ''v2''.
+
Introduced in platform.apiLevel = '2.0'  
−
 
  −
Introduced in platform.apiLevel = '2.0'
      
----
 
----
−
===== toangle =====
      +
===== toangle  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">angle = physics.Vect:toangle()
−
angle = physics.Vect:toangle()
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| angle  
+
| angle  
−
| '''out''' number  
+
| '''out''' number  
−
| The angle of ''self''  
+
| The angle of ''self''
−
|}<!-- table end -->
+
|}
−
 
+
<!-- table end -->  
−
<br/>
+
<br> Returns the angle in radians of ''self''.  
−
Returns the angle in radians of ''self''.
     −
Introduced in platform.apiLevel = '2.0'
+
Introduced in platform.apiLevel = '2.0'  
    
----
 
----
−
===== unrotate =====
      +
===== unrotate  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">uvec = physics.Vect:unrotate(vec)
−
uvec = physics.Vect:unrotate(vec)
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| vec  
+
| vec  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The other vector  
+
| The other vector
 
|-
 
|-
−
| uvec  
+
| uvec  
−
| '''out''' physics.Vect  
+
| '''out''' physics.Vect  
−
| The resulting unrotated vector  
+
| The resulting unrotated vector
−
|}<!-- table end -->
+
|}
 +
<!-- table end -->  
 +
<br> Inverse of physics.Vect:rotate(vec).
   −
<br/>
+
Introduced in platform.apiLevel = '2.0'  
−
Inverse of {{physics.Vect:rotate(vec)}}.
  −
 
  −
Introduced in platform.apiLevel = '2.0'
      
----
 
----
−
===== x =====
      +
===== x  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">x = physics.Vect:x()
−
x = physics.Vect:x()
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| x  
+
| x  
−
| '''out''' number  
+
| '''out''' number  
−
| The value of the _x_ component of the vector  
+
| The value of the _x_ component of the vector
−
|}<!-- table end -->
+
|}
−
 
+
<!-- table end -->  
−
<br/>
+
<br> Returns the value of the _x_ component of the input vector.  
−
Returns the value of the _x_ component of the input vector.
     −
Introduced in platform.apiLevel = '2.0'
+
Introduced in platform.apiLevel = '2.0'  
    
----
 
----
−
===== y =====
      +
===== y  =====
   −
<!-- code start-->
+
<!-- code start-->  
−
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">y = physics.Vect:y()
−
y = physics.Vect:y()
+
</pre><!-- code end--> <!-- table start -->  
−
</pre><!-- code end-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"
−
 
+
|-
−
 
+
! Parameter  
−
<!-- table start -->
+
! Type  
−
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable sortable"  
+
! Description <!-- header row end -->
−
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
−
| self  
+
| self  
−
| '''in''' physics.Vect  
+
| '''in''' physics.Vect  
−
| The input vector  
+
| The input vector
 
|-
 
|-
−
| y  
+
| y  
−
| '''out''' number  
+
| '''out''' number  
−
| The value of the _y_ component of the vector  
+
| The value of the _y_ component of the vector
−
|}<!-- table end -->
+
|}
−
 
+
<!-- table end -->  
−
<br/>
+
<br> Returns the value of the _y_ component of the input vector.  
−
Returns the value of the _y_ component of the input vector.
  −
 
  −
Introduced in platform.apiLevel = '2.0'
  −
 
      +
Introduced in platform.apiLevel = '2.0'
    
[[Category:Physics_Engine]]
 
[[Category:Physics_Engine]]

Navigation menu