cesium-examples/map/3d/static/Cesium/Build/Documentation/Matrix3.html

8336 lines
162 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Matrix3 - Cesium Documentation</title>
<!--[if lt IE 9]>
<script src="javascript/html5.js"></script>
<![endif]-->
<link href="styles/jsdoc-default.css" rel="stylesheet">
<link href="styles/prism.css" rel="stylesheet">
</head>
<body>
<div id="main">
<h1 class="page-title">
<a href="index.html"><img src="Images/CesiumLogo.png" class="cesiumLogo"></a>
Matrix3
<div class="titleCenterer"></div>
</h1>
<section>
<header>
</header>
<article>
<div class="container-overview">
<div class="nameContainer">
<h4 class="name" id="Matrix3">
<a href="#Matrix3" class="doc-link"></a>
new Cesium.Matrix3<span class="signature">(<span class="optional">column0Row0</span>, <span class="optional">column1Row0</span>, <span class="optional">column2Row0</span>, <span class="optional">column0Row1</span>, <span class="optional">column1Row1</span>, <span class="optional">column2Row1</span>, <span class="optional">column0Row2</span>, <span class="optional">column1Row2</span>, <span class="optional">column2Row2</span>)</span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L45">Core/Matrix3.js 45</a>
</div>
</h4>
</div>
<div class="description">
A 3x3 matrix, indexable as a column-major order array. Constructor parameters are in row-major order for code readability.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>column0Row0</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
<code class="language-javascript">0.0</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The value for column 0, row 0.</td>
</tr>
<tr>
<td class="name"><code>column1Row0</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
<code class="language-javascript">0.0</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The value for column 1, row 0.</td>
</tr>
<tr>
<td class="name"><code>column2Row0</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
<code class="language-javascript">0.0</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The value for column 2, row 0.</td>
</tr>
<tr>
<td class="name"><code>column0Row1</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
<code class="language-javascript">0.0</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The value for column 0, row 1.</td>
</tr>
<tr>
<td class="name"><code>column1Row1</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
<code class="language-javascript">0.0</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The value for column 1, row 1.</td>
</tr>
<tr>
<td class="name"><code>column2Row1</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
<code class="language-javascript">0.0</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The value for column 2, row 1.</td>
</tr>
<tr>
<td class="name"><code>column0Row2</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
<code class="language-javascript">0.0</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The value for column 0, row 2.</td>
</tr>
<tr>
<td class="name"><code>column1Row2</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
<code class="language-javascript">0.0</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The value for column 1, row 2.</td>
</tr>
<tr>
<td class="name"><code>column2Row2</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
<code class="language-javascript">0.0</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The value for column 2, row 2.</td>
</tr>
</tbody>
</table>
<dl class="details">
<h5>See:</h5>
<ul class="see-list">
<li><a href="Matrix3.html#.fromColumnMajorArray">Matrix3.fromColumnMajorArray</a></li>
<li><a href="Matrix3.html#.fromRowMajorArray">Matrix3.fromRowMajorArray</a></li>
<li><a href="Matrix3.html#.fromQuaternion">Matrix3.fromQuaternion</a></li>
<li><a href="Matrix3.html#.fromScale">Matrix3.fromScale</a></li>
<li><a href="Matrix3.html#.fromUniformScale">Matrix3.fromUniformScale</a></li>
<li><a href="Matrix2.html">Matrix2</a></li>
<li><a href="Matrix4.html">Matrix4</a></li>
</ul>
</dl>
</div>
<h3 class="subsection-title">Members</h3>
<div class="nameContainer">
<h4 class="name" id="length">
<a href="#length" class="doc-link"></a>
length<span class="type-signature"> : Number</span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1428">Core/Matrix3.js 1428</a>
</div>
</h4>
</div>
<div class="description">
Gets the number of items in the collection.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".COLUMN0ROW0">
<a href="#.COLUMN0ROW0" class="doc-link"></a>
<span class="type-signature attribute-static">static</span><span class="type-signature attribute-constant">constant</span>Cesium.Matrix3.COLUMN0ROW0<span class="type-signature"> : Number</span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1355">Core/Matrix3.js 1355</a>
</div>
</h4>
</div>
<div class="description">
The index into Matrix3 for column 0, row 0.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".COLUMN0ROW1">
<a href="#.COLUMN0ROW1" class="doc-link"></a>
<span class="type-signature attribute-static">static</span><span class="type-signature attribute-constant">constant</span>Cesium.Matrix3.COLUMN0ROW1<span class="type-signature"> : Number</span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1363">Core/Matrix3.js 1363</a>
</div>
</h4>
</div>
<div class="description">
The index into Matrix3 for column 0, row 1.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".COLUMN0ROW2">
<a href="#.COLUMN0ROW2" class="doc-link"></a>
<span class="type-signature attribute-static">static</span><span class="type-signature attribute-constant">constant</span>Cesium.Matrix3.COLUMN0ROW2<span class="type-signature"> : Number</span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1371">Core/Matrix3.js 1371</a>
</div>
</h4>
</div>
<div class="description">
The index into Matrix3 for column 0, row 2.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".COLUMN1ROW0">
<a href="#.COLUMN1ROW0" class="doc-link"></a>
<span class="type-signature attribute-static">static</span><span class="type-signature attribute-constant">constant</span>Cesium.Matrix3.COLUMN1ROW0<span class="type-signature"> : Number</span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1379">Core/Matrix3.js 1379</a>
</div>
</h4>
</div>
<div class="description">
The index into Matrix3 for column 1, row 0.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".COLUMN1ROW1">
<a href="#.COLUMN1ROW1" class="doc-link"></a>
<span class="type-signature attribute-static">static</span><span class="type-signature attribute-constant">constant</span>Cesium.Matrix3.COLUMN1ROW1<span class="type-signature"> : Number</span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1387">Core/Matrix3.js 1387</a>
</div>
</h4>
</div>
<div class="description">
The index into Matrix3 for column 1, row 1.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".COLUMN1ROW2">
<a href="#.COLUMN1ROW2" class="doc-link"></a>
<span class="type-signature attribute-static">static</span><span class="type-signature attribute-constant">constant</span>Cesium.Matrix3.COLUMN1ROW2<span class="type-signature"> : Number</span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1395">Core/Matrix3.js 1395</a>
</div>
</h4>
</div>
<div class="description">
The index into Matrix3 for column 1, row 2.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".COLUMN2ROW0">
<a href="#.COLUMN2ROW0" class="doc-link"></a>
<span class="type-signature attribute-static">static</span><span class="type-signature attribute-constant">constant</span>Cesium.Matrix3.COLUMN2ROW0<span class="type-signature"> : Number</span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1403">Core/Matrix3.js 1403</a>
</div>
</h4>
</div>
<div class="description">
The index into Matrix3 for column 2, row 0.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".COLUMN2ROW1">
<a href="#.COLUMN2ROW1" class="doc-link"></a>
<span class="type-signature attribute-static">static</span><span class="type-signature attribute-constant">constant</span>Cesium.Matrix3.COLUMN2ROW1<span class="type-signature"> : Number</span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1411">Core/Matrix3.js 1411</a>
</div>
</h4>
</div>
<div class="description">
The index into Matrix3 for column 2, row 1.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".COLUMN2ROW2">
<a href="#.COLUMN2ROW2" class="doc-link"></a>
<span class="type-signature attribute-static">static</span><span class="type-signature attribute-constant">constant</span>Cesium.Matrix3.COLUMN2ROW2<span class="type-signature"> : Number</span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1419">Core/Matrix3.js 1419</a>
</div>
</h4>
</div>
<div class="description">
The index into Matrix3 for column 2, row 2.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".IDENTITY">
<a href="#.IDENTITY" class="doc-link"></a>
<span class="type-signature attribute-static">static</span><span class="type-signature attribute-constant">constant</span>Cesium.Matrix3.IDENTITY<span class="type-signature"> : <a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1335">Core/Matrix3.js 1335</a>
</div>
</h4>
</div>
<div class="description">
An immutable Matrix3 instance initialized to the identity matrix.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".packedLength">
<a href="#.packedLength" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.packedLength<span class="type-signature"> : Number</span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L63">Core/Matrix3.js 63</a>
</div>
</h4>
</div>
<div class="description">
The number of elements used to pack the object into an array.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".ZERO">
<a href="#.ZERO" class="doc-link"></a>
<span class="type-signature attribute-static">static</span><span class="type-signature attribute-constant">constant</span>Cesium.Matrix3.ZERO<span class="type-signature"> : <a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1345">Core/Matrix3.js 1345</a>
</div>
</h4>
</div>
<div class="description">
An immutable Matrix3 instance initialized to the zero matrix.
</div>
<dl class="details">
</dl>
<h3 class="subsection-title">Methods</h3>
<div class="nameContainer">
<h4 class="name" id="clone">
<a href="#clone" class="doc-link"></a>
clone<span class="signature">(<span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1441">Core/Matrix3.js 1441</a>
</div>
</h4>
</div>
<div class="description">
Duplicates the provided Matrix3 instance.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The object onto which to store the result.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter or a new Matrix3 instance if one was not provided.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id="equals">
<a href="#equals" class="doc-link"></a>
equals<span class="signature">(<span class="optional">right</span>)</span> &rarr; <span class="type-signature returnType">Boolean</span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1452">Core/Matrix3.js 1452</a>
</div>
</h4>
</div>
<div class="description">
Compares this matrix to the provided matrix componentwise and returns <code>true</code> if they are equal, <code>false</code> otherwise.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>right</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The right hand side matrix.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
<code>true</code> if they are equal, <code>false</code> otherwise.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id="equalsEpsilon">
<a href="#equalsEpsilon" class="doc-link"></a>
equalsEpsilon<span class="signature">(<span class="optional">right</span>, epsilon)</span> &rarr; <span class="type-signature returnType">Boolean</span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1480">Core/Matrix3.js 1480</a>
</div>
</h4>
</div>
<div class="description">
Compares this matrix to the provided matrix componentwise and returns <code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>right</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The right hand side matrix.</td>
</tr>
<tr>
<td class="name"><code>epsilon</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The epsilon to use for equality testing.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
<code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id="toString">
<a href="#toString" class="doc-link"></a>
toString<span class="signature">()</span> &rarr; <span class="type-signature returnType">String</span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1490">Core/Matrix3.js 1490</a>
</div>
</h4>
</div>
<div class="description">
Creates a string representing this Matrix with each row being on a separate line and in the format '(column0, column1, column2)'.
</div>
<h5>Returns:</h5>
<div class="param-desc">
A string representing the provided Matrix with each row being on a separate line and in the format '(column0, column1, column2)'.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".abs">
<a href="#.abs" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.abs<span class="signature">(matrix, result)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1187">Core/Matrix3.js 1187</a>
</div>
</h4>
</div>
<div class="description">
Computes a matrix, which contains the absolute (unsigned) values of the provided matrix's elements.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>matrix</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The matrix with signed elements.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The object onto which to store the result.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".add">
<a href="#.add" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.add<span class="signature">(left, right, result)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L829">Core/Matrix3.js 829</a>
</div>
</h4>
</div>
<div class="description">
Computes the sum of two matrices.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>left</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The first matrix.</td>
</tr>
<tr>
<td class="name"><code>right</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The second matrix.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The object onto which to store the result.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".clone">
<a href="#.clone" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.clone<span class="signature">(matrix, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L133">Core/Matrix3.js 133</a>
</div>
</h4>
</div>
<div class="description">
Duplicates a Matrix3 instance.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>matrix</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The matrix to duplicate.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The object onto which to store the result.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter or a new Matrix3 instance if one was not provided. (Returns undefined if matrix is undefined)
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".computeEigenDecomposition">
<a href="#.computeEigenDecomposition" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.computeEigenDecomposition<span class="signature">(matrix, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType">Object</span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1141">Core/Matrix3.js 1141</a>
</div>
</h4>
</div>
<div class="description">
Computes the eigenvectors and eigenvalues of a symmetric matrix. <p> Returns a diagonal matrix and unitary matrix such that: <code>matrix = unitary matrix * diagonal matrix * transpose(unitary matrix)</code> </p> <p> The values along the diagonal of the diagonal matrix are the eigenvalues. The columns of the unitary matrix are the corresponding eigenvectors. </p>
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>matrix</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The matrix to decompose into diagonal and unitary matrix. Expected to be symmetric.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last">
<span class="optional">optional</span>
An object with unitary and diagonal properties which are matrices onto which to store the result.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
An object with unitary and diagonal properties which are the unitary and diagonal matrices, respectively.
</div>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">var a = //... symetric matrix var result = { unitary : new Cesium.Matrix3(), diagonal : new Cesium.Matrix3() }; Cesium.Matrix3.computeEigenDecomposition(a, result); var unitaryTranspose = Cesium.Matrix3.transpose(result.unitary, new Cesium.Matrix3()); var b = Cesium.Matrix3.multiply(result.unitary, result.diagonal, new Cesium.Matrix3()); Cesium.Matrix3.multiply(b, unitaryTranspose, b); // b is now equal to a var lambda = Cesium.Matrix3.getColumn(result.diagonal, 0, new Cesium.Cartesian3()).x; // first eigenvalue var v = Cesium.Matrix3.getColumn(result.unitary, 0, new Cesium.Cartesian3()); // first eigenvector var c = Cesium.Cartesian3.multiplyByScalar(v, lambda, new Cesium.Cartesian3()); // equal to Cesium.Matrix3.multiplyByVector(a, v)</code></pre>
</dl>
<div class="nameContainer">
<h4 class="name" id=".determinant">
<a href="#.determinant" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.determinant<span class="signature">(matrix)</span> &rarr; <span class="type-signature returnType">Number</span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1212">Core/Matrix3.js 1212</a>
</div>
</h4>
</div>
<div class="description">
Computes the determinant of the provided matrix.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>matrix</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The matrix to use.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The value of the determinant of the matrix.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".equals">
<a href="#.equals" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.equals<span class="signature">(<span class="optional">left</span>, <span class="optional">right</span>)</span> &rarr; <span class="type-signature returnType">Boolean</span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1285">Core/Matrix3.js 1285</a>
</div>
</h4>
</div>
<div class="description">
Compares the provided matrices componentwise and returns <code>true</code> if they are equal, <code>false</code> otherwise.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>left</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The first matrix.</td>
</tr>
<tr>
<td class="name"><code>right</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The second matrix.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
<code>true</code> if left and right are equal, <code>false</code> otherwise.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".equalsEpsilon">
<a href="#.equalsEpsilon" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.equalsEpsilon<span class="signature">(<span class="optional">left</span>, <span class="optional">right</span>, epsilon)</span> &rarr; <span class="type-signature returnType">Boolean</span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1310">Core/Matrix3.js 1310</a>
</div>
</h4>
</div>
<div class="description">
Compares the provided matrices componentwise and returns <code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>left</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The first matrix.</td>
</tr>
<tr>
<td class="name"><code>right</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The second matrix.</td>
</tr>
<tr>
<td class="name"><code>epsilon</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The epsilon to use for equality testing.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
<code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".fromArray">
<a href="#.fromArray" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.fromArray<span class="signature">(array, <span class="optional">startingIndex</span>, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L175">Core/Matrix3.js 175</a>
</div>
</h4>
</div>
<div class="description">
Creates a Matrix3 from 9 consecutive elements in an array.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>array</code></td>
<td class="type">
<span class="param-type">Array.&lt;Number></span>
</td>
<td class="default">
</td>
<td class="description last">
The array whose 9 consecutive elements correspond to the positions of the matrix. Assumes column-major order.</td>
</tr>
<tr>
<td class="name"><code>startingIndex</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
<code class="language-javascript">0</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The offset into the array of the first element, which corresponds to first column first row position in the matrix.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="default">
</td>
<td class="description last">
<span class="optional">optional</span>
The object onto which to store the result.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter or a new Matrix3 instance if one was not provided.
</div>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">// Create the Matrix3: // [1.0, 2.0, 3.0] // [1.0, 2.0, 3.0] // [1.0, 2.0, 3.0] var v = [1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0]; var m = Cesium.Matrix3.fromArray(v); // Create same Matrix3 with using an offset into an array var v2 = [0.0, 0.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0]; var m2 = Cesium.Matrix3.fromArray(v2, 2);</code></pre>
</dl>
<div class="nameContainer">
<h4 class="name" id=".fromColumnMajorArray">
<a href="#.fromColumnMajorArray" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.fromColumnMajorArray<span class="signature">(values, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L205">Core/Matrix3.js 205</a>
</div>
</h4>
</div>
<div class="description">
Creates a Matrix3 instance from a column-major order array.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>values</code></td>
<td class="type">
<span class="param-type">Array.&lt;Number></span>
</td>
<td class="description last">
The column-major order array.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The object in which the result will be stored, if undefined a new instance will be created.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter, or a new Matrix3 instance if one was not provided.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".fromCrossProduct">
<a href="#.fromCrossProduct" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.fromCrossProduct<span class="signature">(vector, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L433">Core/Matrix3.js 433</a>
</div>
</h4>
</div>
<div class="description">
Computes a Matrix3 instance representing the cross product equivalent matrix of a Cartesian3 vector.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>vector</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="description last">
the vector on the left hand side of the cross product operation.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The object in which the result will be stored, if undefined a new instance will be created.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter, or a new Matrix3 instance if one was not provided.
</div>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">// Creates // [0.0, -9.0, 8.0] // [9.0, 0.0, -7.0] // [-8.0, 7.0, 0.0] var m = Cesium.Matrix3.fromCrossProduct(new Cesium.Cartesian3(7.0, 8.0, 9.0));</code></pre>
</dl>
<div class="nameContainer">
<h4 class="name" id=".fromHeadingPitchRoll">
<a href="#.fromHeadingPitchRoll" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.fromHeadingPitchRoll<span class="signature">(headingPitchRoll, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L302">Core/Matrix3.js 302</a>
</div>
</h4>
</div>
<div class="description">
Computes a 3x3 rotation matrix from the provided headingPitchRoll. (see http://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles )
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>headingPitchRoll</code></td>
<td class="type">
<span class="param-type"><a href="HeadingPitchRoll.html">HeadingPitchRoll</a></span>
</td>
<td class="description last">
the headingPitchRoll to use.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The object in which the result will be stored, if undefined a new instance will be created.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The 3x3 rotation matrix from this headingPitchRoll.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".fromQuaternion">
<a href="#.fromQuaternion" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.fromQuaternion<span class="signature">(quaternion, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L250">Core/Matrix3.js 250</a>
</div>
</h4>
</div>
<div class="description">
Computes a 3x3 rotation matrix from the provided quaternion.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>quaternion</code></td>
<td class="type">
<span class="param-type"><a href="Quaternion.html">Quaternion</a></span>
</td>
<td class="description last">
the quaternion to use.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The object in which the result will be stored, if undefined a new instance will be created.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The 3x3 rotation matrix from this quaternion.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".fromRotationX">
<a href="#.fromRotationX" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.fromRotationX<span class="signature">(angle, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L470">Core/Matrix3.js 470</a>
</div>
</h4>
</div>
<div class="description">
Creates a rotation matrix around the x-axis.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>angle</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The angle, in radians, of the rotation. Positive angles are counterclockwise.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The object in which the result will be stored, if undefined a new instance will be created.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter, or a new Matrix3 instance if one was not provided.
</div>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">// Rotate a point 45 degrees counterclockwise around the x-axis. var p = new Cesium.Cartesian3(5, 6, 7); var m = Cesium.Matrix3.fromRotationX(Cesium.Math.toRadians(45.0)); var rotated = Cesium.Matrix3.multiplyByVector(m, p, new Cesium.Cartesian3());</code></pre>
</dl>
<div class="nameContainer">
<h4 class="name" id=".fromRotationY">
<a href="#.fromRotationY" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.fromRotationY<span class="signature">(angle, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L511">Core/Matrix3.js 511</a>
</div>
</h4>
</div>
<div class="description">
Creates a rotation matrix around the y-axis.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>angle</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The angle, in radians, of the rotation. Positive angles are counterclockwise.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The object in which the result will be stored, if undefined a new instance will be created.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter, or a new Matrix3 instance if one was not provided.
</div>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">// Rotate a point 45 degrees counterclockwise around the y-axis. var p = new Cesium.Cartesian3(5, 6, 7); var m = Cesium.Matrix3.fromRotationY(Cesium.Math.toRadians(45.0)); var rotated = Cesium.Matrix3.multiplyByVector(m, p, new Cesium.Cartesian3());</code></pre>
</dl>
<div class="nameContainer">
<h4 class="name" id=".fromRotationZ">
<a href="#.fromRotationZ" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.fromRotationZ<span class="signature">(angle, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L552">Core/Matrix3.js 552</a>
</div>
</h4>
</div>
<div class="description">
Creates a rotation matrix around the z-axis.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>angle</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The angle, in radians, of the rotation. Positive angles are counterclockwise.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The object in which the result will be stored, if undefined a new instance will be created.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter, or a new Matrix3 instance if one was not provided.
</div>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">// Rotate a point 45 degrees counterclockwise around the z-axis. var p = new Cesium.Cartesian3(5, 6, 7); var m = Cesium.Matrix3.fromRotationZ(Cesium.Math.toRadians(45.0)); var rotated = Cesium.Matrix3.multiplyByVector(m, p, new Cesium.Cartesian3());</code></pre>
</dl>
<div class="nameContainer">
<h4 class="name" id=".fromRowMajorArray">
<a href="#.fromRowMajorArray" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.fromRowMajorArray<span class="signature">(values, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L221">Core/Matrix3.js 221</a>
</div>
</h4>
</div>
<div class="description">
Creates a Matrix3 instance from a row-major order array. The resulting matrix will be in column-major order.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>values</code></td>
<td class="type">
<span class="param-type">Array.&lt;Number></span>
</td>
<td class="description last">
The row-major order array.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The object in which the result will be stored, if undefined a new instance will be created.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter, or a new Matrix3 instance if one was not provided.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".fromScale">
<a href="#.fromScale" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.fromScale<span class="signature">(scale, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L357">Core/Matrix3.js 357</a>
</div>
</h4>
</div>
<div class="description">
Computes a Matrix3 instance representing a non-uniform scale.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>scale</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="description last">
The x, y, and z scale factors.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The object in which the result will be stored, if undefined a new instance will be created.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter, or a new Matrix3 instance if one was not provided.
</div>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">// Creates // [7.0, 0.0, 0.0] // [0.0, 8.0, 0.0] // [0.0, 0.0, 9.0] var m = Cesium.Matrix3.fromScale(new Cesium.Cartesian3(7.0, 8.0, 9.0));</code></pre>
</dl>
<div class="nameContainer">
<h4 class="name" id=".fromUniformScale">
<a href="#.fromUniformScale" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.fromUniformScale<span class="signature">(scale, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L395">Core/Matrix3.js 395</a>
</div>
</h4>
</div>
<div class="description">
Computes a Matrix3 instance representing a uniform scale.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>scale</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The uniform scale factor.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The object in which the result will be stored, if undefined a new instance will be created.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter, or a new Matrix3 instance if one was not provided.
</div>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">// Creates // [2.0, 0.0, 0.0] // [0.0, 2.0, 0.0] // [0.0, 0.0, 2.0] var m = Cesium.Matrix3.fromUniformScale(2.0);</code></pre>
</dl>
<div class="nameContainer">
<h4 class="name" id=".getColumn">
<a href="#.getColumn" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.getColumn<span class="signature">(matrix, index, result)</span> &rarr; <span class="type-signature returnType"><a href="Cartesian3.html">Cartesian3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L645">Core/Matrix3.js 645</a>
</div>
</h4>
</div>
<div class="description">
Retrieves a copy of the matrix column at the provided index as a Cartesian3 instance.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>matrix</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The matrix to use.</td>
</tr>
<tr>
<td class="name"><code>index</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The zero-based index of the column to retrieve.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="description last">
The object onto which to store the result.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter.
</div>
<h5>Throws:</h5>
<ul>
<li>
<div class="param-desc">
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
: index must be 0, 1, or 2.
</div>
</li>
</ul>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".getElementIndex">
<a href="#.getElementIndex" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.getElementIndex<span class="signature">(row, column)</span> &rarr; <span class="type-signature returnType">Number</span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L624">Core/Matrix3.js 624</a>
</div>
</h4>
</div>
<div class="description">
Computes the array index of the element at the provided row and column.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>row</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The zero-based index of the row.</td>
</tr>
<tr>
<td class="name"><code>column</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The zero-based index of the column.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The index of the element at the provided row and column.
</div>
<h5>Throws:</h5>
<ul>
<li>
<div class="param-desc">
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
: row must be 0, 1, or 2.
</div>
</li>
<li>
<div class="param-desc">
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
: column must be 0, 1, or 2.
</div>
</li>
</ul>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">var myMatrix = new Cesium.Matrix3(); var column1Row0Index = Cesium.Matrix3.getElementIndex(1, 0); var column1Row0 = myMatrix[column1Row0Index] myMatrix[column1Row0Index] = 10.0;</code></pre>
</dl>
<div class="nameContainer">
<h4 class="name" id=".getMaximumScale">
<a href="#.getMaximumScale" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.getMaximumScale<span class="signature">(matrix)</span> &rarr; <span class="type-signature returnType">Number</span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L777">Core/Matrix3.js 777</a>
</div>
</h4>
</div>
<div class="description">
Computes the maximum scale assuming the matrix is an affine transformation. The maximum scale is the maximum length of the column vectors.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>matrix</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The matrix.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The maximum scale.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".getRow">
<a href="#.getRow" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.getRow<span class="signature">(matrix, index, result)</span> &rarr; <span class="type-signature returnType"><a href="Cartesian3.html">Cartesian3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L702">Core/Matrix3.js 702</a>
</div>
</h4>
</div>
<div class="description">
Retrieves a copy of the matrix row at the provided index as a Cartesian3 instance.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>matrix</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The matrix to use.</td>
</tr>
<tr>
<td class="name"><code>index</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The zero-based index of the row to retrieve.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="description last">
The object onto which to store the result.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter.
</div>
<h5>Throws:</h5>
<ul>
<li>
<div class="param-desc">
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
: index must be 0, 1, or 2.
</div>
</li>
</ul>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".getScale">
<a href="#.getScale" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.getScale<span class="signature">(matrix, result)</span> &rarr; <span class="type-signature returnType"><a href="Cartesian3.html">Cartesian3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L756">Core/Matrix3.js 756</a>
</div>
</h4>
</div>
<div class="description">
Extracts the non-uniform scale assuming the matrix is an affine transformation.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>matrix</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The matrix.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="description last">
The object onto which to store the result.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".inverse">
<a href="#.inverse" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.inverse<span class="signature">(matrix, result)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L1239">Core/Matrix3.js 1239</a>
</div>
</h4>
</div>
<div class="description">
Computes the inverse of the provided matrix.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>matrix</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The matrix to invert.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The object onto which to store the result.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter.
</div>
<h5>Throws:</h5>
<ul>
<li>
<div class="param-desc">
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
: matrix is not invertible.
</div>
</li>
</ul>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".multiply">
<a href="#.multiply" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.multiply<span class="signature">(left, right, result)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L790">Core/Matrix3.js 790</a>
</div>
</h4>
</div>
<div class="description">
Computes the product of two matrices.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>left</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The first matrix.</td>
</tr>
<tr>
<td class="name"><code>right</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The second matrix.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The object onto which to store the result.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".multiplyByScalar">
<a href="#.multiplyByScalar" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.multiplyByScalar<span class="signature">(matrix, scalar, result)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L912">Core/Matrix3.js 912</a>
</div>
</h4>
</div>
<div class="description">
Computes the product of a matrix and a scalar.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>matrix</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The matrix.</td>
</tr>
<tr>
<td class="name"><code>scalar</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The number to multiply by.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The object onto which to store the result.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".multiplyByScale">
<a href="#.multiplyByScale" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.multiplyByScale<span class="signature">(matrix, scale, result)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L947">Core/Matrix3.js 947</a>
</div>
</h4>
</div>
<div class="description">
Computes the product of a matrix times a (non-uniform) scale, as if the scale were a scale matrix.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>matrix</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The matrix on the left-hand side.</td>
</tr>
<tr>
<td class="name"><code>scale</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="description last">
The non-uniform scale on the right-hand side.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The object onto which to store the result.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter.
</div>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">// Instead of Cesium.Matrix3.multiply(m, Cesium.Matrix3.fromScale(scale), m); Cesium.Matrix3.multiplyByScale(m, scale, m);</code></pre>
<h5>See:</h5>
<ul class="see-list">
<li><a href="Matrix3.html#.fromScale">Matrix3.fromScale</a></li>
<li>Matrix3.multiplyByUniformScale</li>
</ul>
</dl>
<div class="nameContainer">
<h4 class="name" id=".multiplyByVector">
<a href="#.multiplyByVector" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.multiplyByVector<span class="signature">(matrix, cartesian, result)</span> &rarr; <span class="type-signature returnType"><a href="Cartesian3.html">Cartesian3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L883">Core/Matrix3.js 883</a>
</div>
</h4>
</div>
<div class="description">
Computes the product of a matrix and a column vector.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>matrix</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The matrix.</td>
</tr>
<tr>
<td class="name"><code>cartesian</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="description last">
The column.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="description last">
The object onto which to store the result.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".negate">
<a href="#.negate" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.negate<span class="signature">(matrix, result)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L973">Core/Matrix3.js 973</a>
</div>
</h4>
</div>
<div class="description">
Creates a negated copy of the provided matrix.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>matrix</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The matrix to negate.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The object onto which to store the result.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".pack">
<a href="#.pack" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.pack<span class="signature">(value, array, <span class="optional">startingIndex</span>)</span> &rarr; <span class="type-signature returnType">Array.&lt;Number></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L74">Core/Matrix3.js 74</a>
</div>
</h4>
</div>
<div class="description">
Stores the provided instance into the provided array.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>value</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="default">
</td>
<td class="description last">
The value to pack.</td>
</tr>
<tr>
<td class="name"><code>array</code></td>
<td class="type">
<span class="param-type">Array.&lt;Number></span>
</td>
<td class="default">
</td>
<td class="description last">
The array to pack into.</td>
</tr>
<tr>
<td class="name"><code>startingIndex</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
<code class="language-javascript">0</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The index into the array at which to start packing the elements.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The array that was packed into
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".setColumn">
<a href="#.setColumn" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.setColumn<span class="signature">(matrix, index, cartesian, result)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L675">Core/Matrix3.js 675</a>
</div>
</h4>
</div>
<div class="description">
Computes a new matrix that replaces the specified column in the provided matrix with the provided Cartesian3 instance.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>matrix</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The matrix to use.</td>
</tr>
<tr>
<td class="name"><code>index</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The zero-based index of the column to set.</td>
</tr>
<tr>
<td class="name"><code>cartesian</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="description last">
The Cartesian whose values will be assigned to the specified column.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The object onto which to store the result.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter.
</div>
<h5>Throws:</h5>
<ul>
<li>
<div class="param-desc">
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
: index must be 0, 1, or 2.
</div>
</li>
</ul>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".setRow">
<a href="#.setRow" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.setRow<span class="signature">(matrix, index, cartesian, result)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L731">Core/Matrix3.js 731</a>
</div>
</h4>
</div>
<div class="description">
Computes a new matrix that replaces the specified row in the provided matrix with the provided Cartesian3 instance.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>matrix</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The matrix to use.</td>
</tr>
<tr>
<td class="name"><code>index</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The zero-based index of the row to set.</td>
</tr>
<tr>
<td class="name"><code>cartesian</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="description last">
The Cartesian whose values will be assigned to the specified row.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The object onto which to store the result.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter.
</div>
<h5>Throws:</h5>
<ul>
<li>
<div class="param-desc">
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
: index must be 0, 1, or 2.
</div>
</li>
</ul>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".subtract">
<a href="#.subtract" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.subtract<span class="signature">(left, right, result)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L856">Core/Matrix3.js 856</a>
</div>
</h4>
</div>
<div class="description">
Computes the difference of two matrices.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>left</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The first matrix.</td>
</tr>
<tr>
<td class="name"><code>right</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The second matrix.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The object onto which to store the result.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".toArray">
<a href="#.toArray" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.toArray<span class="signature">(matrix, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType">Array.&lt;Number></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L588">Core/Matrix3.js 588</a>
</div>
</h4>
</div>
<div class="description">
Creates an Array from the provided Matrix3 instance. The array will be in column-major order.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>matrix</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The matrix to use..</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type">Array.&lt;Number></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The Array onto which to store the result.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified Array parameter or a new Array instance if one was not provided.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".transpose">
<a href="#.transpose" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.transpose<span class="signature">(matrix, result)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L998">Core/Matrix3.js 998</a>
</div>
</h4>
</div>
<div class="description">
Computes the transpose of the provided matrix.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>matrix</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The matrix to transpose.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="description last">
The object onto which to store the result.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".unpack">
<a href="#.unpack" class="doc-link"></a>
<span class="type-signature attribute-static">static</span>Cesium.Matrix3.unpack<span class="signature">(array, <span class="optional">startingIndex</span>, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Matrix3.html">Matrix3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/AnalyticalGraphicsInc/cesium/blob/1.58/Source/Core/Matrix3.js#L103">Core/Matrix3.js 103</a>
</div>
</h4>
</div>
<div class="description">
Retrieves an instance from a packed array.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>array</code></td>
<td class="type">
<span class="param-type">Array.&lt;Number></span>
</td>
<td class="default">
</td>
<td class="description last">
The packed array.</td>
</tr>
<tr>
<td class="name"><code>startingIndex</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
<code class="language-javascript">0</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The starting index of the element to be unpacked.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix3.html">Matrix3</a></span>
</td>
<td class="default">
</td>
<td class="description last">
<span class="optional">optional</span>
The object into which to store the result.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter or a new Matrix3 instance if one was not provided.
</div>
<dl class="details">
</dl>
</article>
</section>
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.2</a>
</footer>
</div>
<div class="nav">
<div class="menu">
<input type="text" class="classFilter" id="ClassFilter" placeholder="Search">
<ul id="ClassList"><li data-name="Animation"><a href="Animation.html">Animation</a></li><li data-name="AnimationViewModel"><a href="AnimationViewModel.html">AnimationViewModel</a></li><li data-name="Appearance"><a href="Appearance.html">Appearance</a></li><li data-name="ArcGisMapServerImageryProvider"><a href="ArcGisMapServerImageryProvider.html">ArcGisMapServerImageryProvider</a></li><li data-name="ArcType"><a href="ArcType.html">ArcType</a></li><li data-name="AssociativeArray"><a href="AssociativeArray.html">AssociativeArray</a></li><li data-name="AxisAlignedBoundingBox"><a href="AxisAlignedBoundingBox.html">AxisAlignedBoundingBox</a></li><li data-name="barycentricCoordinates"><a href="barycentricCoordinates.html">barycentricCoordinates</a></li><li data-name="BaseLayerPicker"><a href="BaseLayerPicker.html">BaseLayerPicker</a></li><li data-name="BaseLayerPickerViewModel"><a href="BaseLayerPickerViewModel.html">BaseLayerPickerViewModel</a></li><li data-name="Billboard"><a href="Billboard.html">Billboard</a></li><li data-name="BillboardCollection"><a href="BillboardCollection.html">BillboardCollection</a></li><li data-name="BillboardGraphics"><a href="BillboardGraphics.html">BillboardGraphics</a></li><li data-name="BillboardVisualizer"><a href="BillboardVisualizer.html">BillboardVisualizer</a></li><li data-name="binarySearch"><a href="binarySearch.html">binarySearch</a></li><li data-name="BingMapsApi"><a href="BingMapsApi.html">BingMapsApi</a></li><li data-name="BingMapsGeocoderService"><a href="BingMapsGeocoderService.html">BingMapsGeocoderService</a></li><li data-name="BingMapsImageryProvider"><a href="BingMapsImageryProvider.html">BingMapsImageryProvider</a></li><li data-name="BingMapsStyle"><a href="BingMapsStyle.html">BingMapsStyle</a></li><li data-name="BlendEquation"><a href="BlendEquation.html">BlendEquation</a></li><li data-name="BlendFunction"><a href="BlendFunction.html">BlendFunction</a></li><li data-name="BlendingState"><a href="BlendingState.html">BlendingState</a></li><li data-name="BlendOption"><a href="BlendOption.html">BlendOption</a></li><li data-name="BoundingRectangle"><a href="BoundingRectangle.html">BoundingRectangle</a></li><li data-name="BoundingSphere"><a href="BoundingSphere.html">BoundingSphere</a></li><li data-name="BoxEmitter"><a href="BoxEmitter.html">BoxEmitter</a></li><li data-name="BoxGeometry"><a href="BoxGeometry.html">BoxGeometry</a></li><li data-name="BoxGeometryUpdater"><a href="BoxGeometryUpdater.html">BoxGeometryUpdater</a></li><li data-name="BoxGraphics"><a href="BoxGraphics.html">BoxGraphics</a></li><li data-name="BoxOutlineGeometry"><a href="BoxOutlineGeometry.html">BoxOutlineGeometry</a></li><li data-name="CallbackProperty"><a href="CallbackProperty.html">CallbackProperty</a></li><li data-name="Camera"><a href="Camera.html">Camera</a></li><li data-name="CameraEventAggregator"><a href="CameraEventAggregator.html">CameraEventAggregator</a></li><li data-name="CameraEventType"><a href="CameraEventType.html">CameraEventType</a></li><li data-name="cancelAnimationFrame"><a href="cancelAnimationFrame.html">cancelAnimationFrame</a></li><li data-name="Cartesian2"><a href="Cartesian2.html">Cartesian2</a></li><li data-name="Cartesian3"><a href="Cartesian3.html">Cartesian3</a></li><li data-name="Cartesian4"><a href="Cartesian4.html">Cartesian4</a></li><li data-name="Cartographic"><a href="Cartographic.html">Cartographic</a></li><li data-name="CartographicGeocoderService"><a href="CartographicGeocoderService.html">CartographicGeocoderService</a></li><li data-name="CatmullRomSpline"><a href="CatmullRomSpline.html">CatmullRomSpline</a></li><li data-name="Cesium3DTile"><a href="Cesium3DTile.html">Cesium3DTile</a></li><li data-name="Cesium3DTileColorBlendMode"><a href="Cesium3DTileColorBlendMode.html">Cesium3DTileColorBlendMode</a></li><li data-name="Cesium3DTileContent"><a href="Cesium3DTileContent.html">Cesium3DTileContent</a></li><li data-name="Cesium3DTileFeature"><a href="Cesium3DTileFeature.html">Cesium3DTileFeature</a></li><li data-name="Cesium3DTilePointFeature"><a href="Cesium3
</div>
</div>
<script>
if (window.frameElement) {
document.body.className = 'embedded';
var ele = document.createElement('a');
ele.className = 'popout';
ele.target = '_blank';
ele.href = window.location.href;
ele.title = 'Pop out';
document.getElementById('main').appendChild(ele);
}
// Set targets on external links. Sandcastle and GitHub shouldn't be embedded in any iframe.
Array.prototype.forEach.call(document.getElementsByTagName('a'), function(a) {
if (/^https?:/i.test(a.getAttribute('href'))) {
a.target='_blank';
}
});
</script>
<script src="javascript/prism.js"></script>
<script src="javascript/cesiumDoc.js"></script>
</body>
</html>