| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
- <head>
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
- <meta http-equiv="X-UA-Compatible" content="IE=11"/>
- <meta name="generator" content="Doxygen 1.9.8"/>
- <meta name="viewport" content="width=device-width, initial-scale=1"/>
- <title>TorqueScript Reference: Vector Math</title>
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="jquery.js"></script>
- <script type="text/javascript" src="dynsections.js"></script>
- <link href="doxygen.css" rel="stylesheet" type="text/css" />
- <link href="t2d-stylesheet-extra.css" rel="stylesheet" type="text/css"/>
- </head>
- <body>
- <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
- <div id="titlearea">
- <table cellspacing="0" cellpadding="0">
- <tbody>
- <tr id="projectrow">
- <td id="projectalign">
- <div id="projectname">TorqueScript Reference
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <!-- Generated by Doxygen 1.9.8 -->
- <script type="text/javascript" src="menudata.js"></script>
- <script type="text/javascript" src="menu.js"></script>
- <script type="text/javascript">
- /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
- $(function() {
- initMenu('',false,false,'search.php','Search');
- });
- /* @license-end */
- </script>
- <div id="main-nav"></div>
- </div><!-- top -->
- <div class="header">
- <div class="summary">
- <a href="#func-members">Functions</a> </div>
- <div class="headertitle"><div class="title">Vector Math<div class="ingroups"><a class="el" href="group__TorqueScriptFunctions.html">Function Categories</a></div></div></div>
- </div><!--header-->
- <div class="contents">
- <table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
- Functions</h2></td></tr>
- <tr class="memitem:ga0b548169a80a680f39a1da7353635ed2" id="r_ga0b548169a80a680f39a1da7353635ed2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__TorqueScriptTypes.html#gadd36cf0d984acde0881d9ab8fff3ae5d">String</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VectorMathFunctions.html#ga0b548169a80a680f39a1da7353635ed2">VectorAdd</a> (vecA, vecB)</td></tr>
- <tr class="separator:ga0b548169a80a680f39a1da7353635ed2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga37c978d80c3617e5aa013049c4164b25" id="r_ga37c978d80c3617e5aa013049c4164b25"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__TorqueScriptTypes.html#gadd36cf0d984acde0881d9ab8fff3ae5d">String</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VectorMathFunctions.html#ga37c978d80c3617e5aa013049c4164b25">VectorCross</a> (vecA, vecB)</td></tr>
- <tr class="separator:ga37c978d80c3617e5aa013049c4164b25"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga6f0aa7d5cbe91a2eff75f1ebec0a1f8a" id="r_ga6f0aa7d5cbe91a2eff75f1ebec0a1f8a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__TorqueScriptTypes.html#ga3eec930799ce76daa315153278a4cdb2">Float</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VectorMathFunctions.html#ga6f0aa7d5cbe91a2eff75f1ebec0a1f8a">VectorDist</a> (vecA, vecB)</td></tr>
- <tr class="separator:ga6f0aa7d5cbe91a2eff75f1ebec0a1f8a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gac137b5794802e7c175c33b1669db1656" id="r_gac137b5794802e7c175c33b1669db1656"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__TorqueScriptTypes.html#ga3eec930799ce76daa315153278a4cdb2">Float</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VectorMathFunctions.html#gac137b5794802e7c175c33b1669db1656">VectorDot</a> (vecA, vecB)</td></tr>
- <tr class="separator:gac137b5794802e7c175c33b1669db1656"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga4150395bc75a87bd93095927d8dab1ca" id="r_ga4150395bc75a87bd93095927d8dab1ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__TorqueScriptTypes.html#ga3eec930799ce76daa315153278a4cdb2">Float</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VectorMathFunctions.html#ga4150395bc75a87bd93095927d8dab1ca">VectorLen</a> (vec)</td></tr>
- <tr class="separator:ga4150395bc75a87bd93095927d8dab1ca"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gafa62e126e9a8656ea5818d1e896ff6d3" id="r_gafa62e126e9a8656ea5818d1e896ff6d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__TorqueScriptTypes.html#gadd36cf0d984acde0881d9ab8fff3ae5d">String</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VectorMathFunctions.html#gafa62e126e9a8656ea5818d1e896ff6d3">VectorNormalize</a> (vec)</td></tr>
- <tr class="separator:gafa62e126e9a8656ea5818d1e896ff6d3"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gabc8cf5208a792234d687c1b933117061" id="r_gabc8cf5208a792234d687c1b933117061"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__TorqueScriptTypes.html#gadd36cf0d984acde0881d9ab8fff3ae5d">String</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VectorMathFunctions.html#gabc8cf5208a792234d687c1b933117061">VectorOrthoBasis</a> (vec)</td></tr>
- <tr class="separator:gabc8cf5208a792234d687c1b933117061"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga90bc3718b58245b677c89534858f8aaa" id="r_ga90bc3718b58245b677c89534858f8aaa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__TorqueScriptTypes.html#gadd36cf0d984acde0881d9ab8fff3ae5d">String</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VectorMathFunctions.html#ga90bc3718b58245b677c89534858f8aaa">VectorScale</a> (vec, scale)</td></tr>
- <tr class="separator:ga90bc3718b58245b677c89534858f8aaa"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga326db4f26fab744752e02b8487efbb00" id="r_ga326db4f26fab744752e02b8487efbb00"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__TorqueScriptTypes.html#gadd36cf0d984acde0881d9ab8fff3ae5d">String</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VectorMathFunctions.html#ga326db4f26fab744752e02b8487efbb00">VectorSub</a> (vecA, vecB)</td></tr>
- <tr class="separator:ga326db4f26fab744752e02b8487efbb00"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
- <p>‍/</p>
- <p><functions, functions, functions!></p>
- <p>/*! </p>
- <h2 class="groupheader">Function Documentation</h2>
- <a id="ga0b548169a80a680f39a1da7353635ed2" name="ga0b548169a80a680f39a1da7353635ed2"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga0b548169a80a680f39a1da7353635ed2">◆ </a></span>VectorAdd()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__TorqueScriptTypes.html#gadd36cf0d984acde0881d9ab8fff3ae5d">String</a> VectorAdd </td>
- <td>(</td>
- <td class="paramtype">vecA </td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">vecB </td>
- <td class="paramname"> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Use the VectorAdd function to add two vectors of up to three elements each to each other </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">vecA</td><td>A vector of up to three elements. </td></tr>
- <tr><td class="paramname">vecB</td><td>A vector of up to three elements. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>Returns the result of vecA + vecB. </dd></dl>
- <dl class="section see"><dt>See also</dt><dd>vectorSub </dd></dl>
- </div>
- </div>
- <a id="ga37c978d80c3617e5aa013049c4164b25" name="ga37c978d80c3617e5aa013049c4164b25"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga37c978d80c3617e5aa013049c4164b25">◆ </a></span>VectorCross()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__TorqueScriptTypes.html#gadd36cf0d984acde0881d9ab8fff3ae5d">String</a> VectorCross </td>
- <td>(</td>
- <td class="paramtype">vecA </td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">vecB </td>
- <td class="paramname"> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Use the VectorCross function to calculate the cross product of two vectors of up to three elements each. Remember, the resultant vector will always be an right angles (orthogonal) to both input vectors. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">vecA</td><td>A vector of up to three elements. </td></tr>
- <tr><td class="paramname">vecB</td><td>A vector of up to three elements. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>Returns the result of vecA x vecB. </dd></dl>
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="group__VectorMathFunctions.html#gac137b5794802e7c175c33b1669db1656">VectorDot</a> </dd></dl>
- </div>
- </div>
- <a id="ga6f0aa7d5cbe91a2eff75f1ebec0a1f8a" name="ga6f0aa7d5cbe91a2eff75f1ebec0a1f8a"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga6f0aa7d5cbe91a2eff75f1ebec0a1f8a">◆ </a></span>VectorDist()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__TorqueScriptTypes.html#ga3eec930799ce76daa315153278a4cdb2">Float</a> VectorDist </td>
- <td>(</td>
- <td class="paramtype">vecA </td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">vecB </td>
- <td class="paramname"> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Use the VectorDist function to calculate distance between two vectors of up to three elements each. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">vecA</td><td>A vector of up to three elements. </td></tr>
- <tr><td class="paramname">vecB</td><td>A vector of up to three elements. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>Returns the result of \ |Xa - Xb| |Ya - Yb| |Za - Zb| . </dd></dl>
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="group__VectorMathFunctions.html#ga4150395bc75a87bd93095927d8dab1ca">VectorLen</a> </dd></dl>
- </div>
- </div>
- <a id="gac137b5794802e7c175c33b1669db1656" name="gac137b5794802e7c175c33b1669db1656"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gac137b5794802e7c175c33b1669db1656">◆ </a></span>VectorDot()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__TorqueScriptTypes.html#ga3eec930799ce76daa315153278a4cdb2">Float</a> VectorDot </td>
- <td>(</td>
- <td class="paramtype">vecA </td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">vecB </td>
- <td class="paramname"> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Use the VectorCross function to calculate the dot product of two unit vectors of up to three elements each. Warning! Be sure to always normalize both vecA and vecB before attempting to find the dot product. Calculating a dot product using un-normalized vectors (non- unit vectors) will result in meaningless results. If the return value is < 0, the inner-angle between the vectors is > 90 degrees. If the return value is == 0, the inner-angle between the vectors is == 90 degrees. If the return value is > 0, the inner-angle between the vectors is < 90 degrees. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">vecA</td><td>A unit-vector of up to three elements. </td></tr>
- <tr><td class="paramname">vecB</td><td>A unit-vector of up to three elements. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>Returns a scalar value equal to the result of vecA . vecB. This value which will always be a single floating-point value in the range [ -1 , +1 ]. </dd></dl>
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="group__VectorMathFunctions.html#ga37c978d80c3617e5aa013049c4164b25">VectorCross</a> </dd></dl>
- </div>
- </div>
- <a id="ga4150395bc75a87bd93095927d8dab1ca" name="ga4150395bc75a87bd93095927d8dab1ca"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga4150395bc75a87bd93095927d8dab1ca">◆ </a></span>VectorLen()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__TorqueScriptTypes.html#ga3eec930799ce76daa315153278a4cdb2">Float</a> VectorLen </td>
- <td>(</td>
- <td class="paramtype">vec </td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Use the VectorLen function to calculate the length of vector vec. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">vec</td><td>A vector of up to three elements. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>Returns a scalar representing the length of the vector vec. </dd></dl>
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="group__VectorMathFunctions.html#ga6f0aa7d5cbe91a2eff75f1ebec0a1f8a">VectorDist</a> </dd></dl>
- </div>
- </div>
- <a id="gafa62e126e9a8656ea5818d1e896ff6d3" name="gafa62e126e9a8656ea5818d1e896ff6d3"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gafa62e126e9a8656ea5818d1e896ff6d3">◆ </a></span>VectorNormalize()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__TorqueScriptTypes.html#gadd36cf0d984acde0881d9ab8fff3ae5d">String</a> VectorNormalize </td>
- <td>(</td>
- <td class="paramtype">vec </td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Use the VectorNormalize function to calculated the unit vector equivalent of the vector vec. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">vec</td><td>A vector of up to three elements. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>Returns the unit vector equivalent of the vector vec. </dd></dl>
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="group__VectorMathFunctions.html#ga90bc3718b58245b677c89534858f8aaa">VectorScale</a> </dd></dl>
- </div>
- </div>
- <a id="gabc8cf5208a792234d687c1b933117061" name="gabc8cf5208a792234d687c1b933117061"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gabc8cf5208a792234d687c1b933117061">◆ </a></span>VectorOrthoBasis()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__TorqueScriptTypes.html#gadd36cf0d984acde0881d9ab8fff3ae5d">String</a> VectorOrthoBasis </td>
- <td>(</td>
- <td class="paramtype">vec </td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Use the VectorOrthoBasis function to calculate a 3x3 Row-Major formated matrix representing the orthogonal basis for the vector vec. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">vec</td><td>A four element vector of the form \AxisX AxisY AxisZ theta\, where theta is the angle of rotation about the vector formed by the prior three values. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>Returns a 3x3 Row-Major formated matrix </dd></dl>
- </div>
- </div>
- <a id="ga90bc3718b58245b677c89534858f8aaa" name="ga90bc3718b58245b677c89534858f8aaa"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga90bc3718b58245b677c89534858f8aaa">◆ </a></span>VectorScale()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__TorqueScriptTypes.html#gadd36cf0d984acde0881d9ab8fff3ae5d">String</a> VectorScale </td>
- <td>(</td>
- <td class="paramtype">vec </td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">scale </td>
- <td class="paramname"> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Use the VectorScale function to scale the vector vec by the scalar scale. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">vec</td><td>A vector of up to three elements. </td></tr>
- <tr><td class="paramname">scale</td><td>A numeric value (integer or floating-point) representing the scaling factor. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>Returns a scaled version of the vector vec, equivalent to: ( scale * X ) ( scale * Y ) ( scale * Z ). </dd></dl>
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="group__VectorMathFunctions.html#gafa62e126e9a8656ea5818d1e896ff6d3">VectorNormalize</a> </dd></dl>
- </div>
- </div>
- <a id="ga326db4f26fab744752e02b8487efbb00" name="ga326db4f26fab744752e02b8487efbb00"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga326db4f26fab744752e02b8487efbb00">◆ </a></span>VectorSub()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__TorqueScriptTypes.html#gadd36cf0d984acde0881d9ab8fff3ae5d">String</a> VectorSub </td>
- <td>(</td>
- <td class="paramtype">vecA </td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">vecB </td>
- <td class="paramname"> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Use the VectorSub function to subtract vecB from vecA. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">vecA</td><td>Left side vector in subtraction equation. </td></tr>
- <tr><td class="paramname">vecB</td><td>Right side vector in subtraction equation. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>Returns a new vector equivalent to: \vecA - vecB. </dd></dl>
- <dl class="section see"><dt>See also</dt><dd>vectorAdd </dd></dl>
- </div>
- </div>
- </div><!-- contents -->
- <!-- start footer part -->
- <hr class="footer"/><address class="footer"><small>
- Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
- </small></address>
- </body>
- </html>
|