qd-changjing/public/static/Build/Documentation/Transforms.html

3509 lines
105 KiB
HTML
Raw Normal View History

2022-07-05 16:56:29 +08:00
<!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>Transforms - 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>
Transforms
<div class="titleCenterer"></div>
</h1>
<section>
<header>
</header>
<article>
<div class="container-overview">
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/Transforms.js#L23">Core/Transforms.js 23</a>
</div>
<div class="description">Contains functions for transforming positions to various reference frames.</div>
<dl class="details">
</dl>
</div>
<h3 class="subsection-title">Methods</h3>
<div class="nameContainer">
<h4 class="name" id=".computeFixedToIcrfMatrix">
<a href="#.computeFixedToIcrfMatrix" class="doc-link"></a>
<span class="type-signature attribute-static">static</span> Cesium.Transforms.computeFixedToIcrfMatrix<span class="signature">(date, <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/CesiumGS/cesium/blob/1.91/Source/Core/Transforms.js#L769">Core/Transforms.js 769</a>
</div>
</h4>
</div>
<div class="description">
Computes a rotation matrix to transform a point or vector from the Earth-Fixed frame axes (ITRF)
to the International Celestial Reference Frame (GCRF/ICRF) inertial frame axes
at a given time. This function may return undefined if the data necessary to
do the transformation is not yet loaded.
</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>date</code></td>
<td class="type">
<span class="param-type"><a href="JulianDate.html">JulianDate</a></span>
</td>
<td class="description last">
The time at which to compute the rotation 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">
<span class="optional">optional</span>
The object onto which to store the result. If this parameter is
not specified, a new instance is created and returned.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The rotation matrix, or undefined if the data necessary to do the
transformation is not yet loaded.
</div>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">// Transform a point from the ICRF axes to the Fixed axes.
const now = Cesium.JulianDate.now();
const pointInFixed = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
const fixedToIcrf = Cesium.Transforms.computeIcrfToFixedMatrix(now);
let pointInInertial = new Cesium.Cartesian3();
if (Cesium.defined(fixedToIcrf)) {
pointInInertial = Cesium.Matrix3.multiplyByVector(fixedToIcrf, pointInFixed, pointInInertial);
}</code></pre>
<h5>See:</h5>
<ul class="see-list">
<li><a href="Transforms.html#.preloadIcrfFixed">Transforms.preloadIcrfFixed</a></li>
</ul>
</dl>
<div class="nameContainer">
<h4 class="name" id=".computeIcrfToFixedMatrix">
<a href="#.computeIcrfToFixedMatrix" class="doc-link"></a>
<span class="type-signature attribute-static">static</span> Cesium.Transforms.computeIcrfToFixedMatrix<span class="signature">(date, <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/CesiumGS/cesium/blob/1.91/Source/Core/Transforms.js#L714">Core/Transforms.js 714</a>
</div>
</h4>
</div>
<div class="description">
Computes a rotation matrix to transform a point or vector from the International Celestial
Reference Frame (GCRF/ICRF) inertial frame axes to the Earth-Fixed frame axes (ITRF)
at a given time. This function may return undefined if the data necessary to
do the transformation is not yet loaded.
</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>date</code></td>
<td class="type">
<span class="param-type"><a href="JulianDate.html">JulianDate</a></span>
</td>
<td class="description last">
The time at which to compute the rotation 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">
<span class="optional">optional</span>
The object onto which to store the result. If this parameter is
not specified, a new instance is created and returned.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The rotation matrix, or undefined if the data necessary to do the
transformation is not yet loaded.
</div>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">scene.postUpdate.addEventListener(function(scene, time) {
// View in ICRF.
const icrfToFixed = Cesium.Transforms.computeIcrfToFixedMatrix(time);
if (Cesium.defined(icrfToFixed)) {
const offset = Cesium.Cartesian3.clone(camera.position);
const transform = Cesium.Matrix4.fromRotationTranslation(icrfToFixed);
camera.lookAtTransform(transform, offset);
}
});</code></pre>
<h5>See:</h5>
<ul class="see-list">
<li><a href="Transforms.html#.preloadIcrfFixed">Transforms.preloadIcrfFixed</a></li>
</ul>
</dl>
<div class="nameContainer">
<h4 class="name" id=".computeTemeToPseudoFixedMatrix">
<a href="#.computeTemeToPseudoFixedMatrix" class="doc-link"></a>
<span class="type-signature attribute-static">static</span> Cesium.Transforms.computeTemeToPseudoFixedMatrix<span class="signature">(date, <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/CesiumGS/cesium/blob/1.91/Source/Core/Transforms.js#L558">Core/Transforms.js 558</a>
</div>
</h4>
</div>
<div class="description">
Computes a rotation matrix to transform a point or vector from True Equator Mean Equinox (TEME) axes to the
pseudo-fixed axes at a given time. This method treats the UT1 time standard as equivalent to UTC.
</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>date</code></td>
<td class="type">
<span class="param-type"><a href="JulianDate.html">JulianDate</a></span>
</td>
<td class="description last">
The time at which to compute the rotation 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">
<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 none was provided.
</div>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">//Set the view to the inertial frame.
scene.postUpdate.addEventListener(function(scene, time) {
const now = Cesium.JulianDate.now();
const offset = Cesium.Matrix4.multiplyByPoint(camera.transform, camera.position, new Cesium.Cartesian3());
const transform = Cesium.Matrix4.fromRotationTranslation(Cesium.Transforms.computeTemeToPseudoFixedMatrix(now));
const inverseTransform = Cesium.Matrix4.inverseTransformation(transform, new Cesium.Matrix4());
Cesium.Matrix4.multiplyByPoint(inverseTransform, offset, offset);
camera.lookAtTransform(transform, offset);
});</code></pre>
</dl>
<div class="nameContainer">
<h4 class="name" id=".eastNorthUpToFixedFrame">
<a href="#.eastNorthUpToFixedFrame" class="doc-link"></a>
<span class="type-signature attribute-static">static</span> Cesium.Transforms.eastNorthUpToFixedFrame<span class="signature">(origin, <span class="optional">ellipsoid</span>, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Matrix4.html">Matrix4</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/Transforms.js#L275">Core/Transforms.js 275</a>
</div>
</h4>
</div>
<div class="description">
Computes a 4x4 transformation matrix from a reference frame with an east-north-up axes
centered at the provided origin to the provided ellipsoid's fixed reference frame.
The local axes are defined as:
<ul>
<li>The <code>x</code> axis points in the local east direction.</li>
<li>The <code>y</code> axis points in the local north direction.</li>
<li>The <code>z</code> axis points in the direction of the ellipsoid surface normal which passes through the position.</li>
</ul>
</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>origin</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="default">
</td>
<td class="description last">
The center point of the local reference frame.</td>
</tr>
<tr>
<td class="name"><code>ellipsoid</code></td>
<td class="type">
<span class="param-type"><a href="Ellipsoid.html">Ellipsoid</a></span>
</td>
<td class="default">
<code class="language-javascript">Ellipsoid.WGS84</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The ellipsoid whose fixed frame is used in the transformation.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix4.html">Matrix4</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 Matrix4 instance if none was provided.
</div>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">// Get the transform from local east-north-up at cartographic (0.0, 0.0) to Earth's fixed frame.
const center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
const transform = Cesium.Transforms.eastNorthUpToFixedFrame(center);</code></pre>
</dl>
<div class="nameContainer">
<h4 class="name" id=".fixedFrameToHeadingPitchRoll">
<a href="#.fixedFrameToHeadingPitchRoll" class="doc-link"></a>
<span class="type-signature attribute-static">static</span> Cesium.Transforms.fixedFrameToHeadingPitchRoll<span class="signature">(transform, <span class="optional">ellipsoid</span>, <span class="optional">fixedFrameTransform</span>, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="HeadingPitchRoll.html">HeadingPitchRoll</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/Transforms.js#L480">Core/Transforms.js 480</a>
</div>
</h4>
</div>
<div class="description">
Computes heading-pitch-roll angles from a transform in a particular reference frame. Heading is the rotation from the local north
direction where a positive angle is increasing eastward. Pitch is the rotation from the local east-north plane. Positive pitch angles
are above the plane. Negative pitch angles are below the plane. Roll is the first rotation applied about the local east axis.
</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>transform</code></td>
<td class="type">
<span class="param-type"><a href="Matrix4.html">Matrix4</a></span>
</td>
<td class="default">
</td>
<td class="description last">
The transform</td>
</tr>
<tr>
<td class="name"><code>ellipsoid</code></td>
<td class="type">
<span class="param-type"><a href="Ellipsoid.html">Ellipsoid</a></span>
</td>
<td class="default">
<code class="language-javascript">Ellipsoid.WGS84</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The ellipsoid whose fixed frame is used in the transformation.</td>
</tr>
<tr>
<td class="name"><code>fixedFrameTransform</code></td>
<td class="type">
<span class="param-type"><a href="Transforms.html#.LocalFrameToFixedFrame">Transforms.LocalFrameToFixedFrame</a></span>
</td>
<td class="default">
<code class="language-javascript">Transforms.eastNorthUpToFixedFrame</code>
</td>
<td class="description last">
<span class="optional">optional</span>
A 4x4 transformation
matrix from a reference frame to the provided ellipsoid's fixed reference frame</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="HeadingPitchRoll.html">HeadingPitchRoll</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 HeadingPitchRoll instance if none was provided.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".headingPitchRollQuaternion">
<a href="#.headingPitchRollQuaternion" class="doc-link"></a>
<span class="type-signature attribute-static">static</span> Cesium.Transforms.headingPitchRollQuaternion<span class="signature">(origin, headingPitchRoll, <span class="optional">ellipsoid</span>, <span class="optional">fixedFrameTransform</span>, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Quaternion.html">Quaternion</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/Transforms.js#L440">Core/Transforms.js 440</a>
</div>
</h4>
</div>
<div class="description">
Computes a quaternion from a reference frame with axes computed from the heading-pitch-roll angles
centered at the provided origin. Heading is the rotation from the local north
direction where a positive angle is increasing eastward. Pitch is the rotation from the local east-north plane. Positive pitch angles
are above the plane. Negative pitch angles are below the plane. Roll is the first rotation applied about the local east axis.
</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>origin</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="default">
</td>
<td class="description last">
The center point of the local reference frame.</td>
</tr>
<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="default">
</td>
<td class="description last">
The heading, pitch, and roll.</td>
</tr>
<tr>
<td class="name"><code>ellipsoid</code></td>
<td class="type">
<span class="param-type"><a href="Ellipsoid.html">Ellipsoid</a></span>
</td>
<td class="default">
<code class="language-javascript">Ellipsoid.WGS84</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The ellipsoid whose fixed frame is used in the transformation.</td>
</tr>
<tr>
<td class="name"><code>fixedFrameTransform</code></td>
<td class="type">
<span class="param-type"><a href="Transforms.html#.LocalFrameToFixedFrame">Transforms.LocalFrameToFixedFrame</a></span>
</td>
<td class="default">
<code class="language-javascript">Transforms.eastNorthUpToFixedFrame</code>
</td>
<td class="description last">
<span class="optional">optional</span>
A 4x4 transformation
matrix from a reference frame to the provided ellipsoid's fixed reference frame</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Quaternion.html">Quaternion</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 Quaternion instance if none was provided.
</div>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">// Get the quaternion from local heading-pitch-roll at cartographic (0.0, 0.0) to Earth's fixed frame.
const center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
const heading = -Cesium.Math.PI_OVER_TWO;
const pitch = Cesium.Math.PI_OVER_FOUR;
const roll = 0.0;
const hpr = new HeadingPitchRoll(heading, pitch, roll);
const quaternion = Cesium.Transforms.headingPitchRollQuaternion(center, hpr);</code></pre>
</dl>
<div class="nameContainer">
<h4 class="name" id=".headingPitchRollToFixedFrame">
<a href="#.headingPitchRollToFixedFrame" class="doc-link"></a>
<span class="type-signature attribute-static">static</span> Cesium.Transforms.headingPitchRollToFixedFrame<span class="signature">(origin, headingPitchRoll, <span class="optional">ellipsoid</span>, <span class="optional">fixedFrameTransform</span>, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Matrix4.html">Matrix4</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/Transforms.js#L385">Core/Transforms.js 385</a>
</div>
</h4>
</div>
<div class="description">
Computes a 4x4 transformation matrix from a reference frame with axes computed from the heading-pitch-roll angles
centered at the provided origin to the provided ellipsoid's fixed reference frame. Heading is the rotation from the local north
direction where a positive angle is increasing eastward. Pitch is the rotation from the local east-north plane. Positive pitch angles
are above the plane. Negative pitch angles are below the plane. Roll is the first rotation applied about the local east axis.
</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>origin</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="default">
</td>
<td class="description last">
The center point of the local reference frame.</td>
</tr>
<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="default">
</td>
<td class="description last">
The heading, pitch, and roll.</td>
</tr>
<tr>
<td class="name"><code>ellipsoid</code></td>
<td class="type">
<span class="param-type"><a href="Ellipsoid.html">Ellipsoid</a></span>
</td>
<td class="default">
<code class="language-javascript">Ellipsoid.WGS84</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The ellipsoid whose fixed frame is used in the transformation.</td>
</tr>
<tr>
<td class="name"><code>fixedFrameTransform</code></td>
<td class="type">
<span class="param-type"><a href="Transforms.html#.LocalFrameToFixedFrame">Transforms.LocalFrameToFixedFrame</a></span>
</td>
<td class="default">
<code class="language-javascript">Transforms.eastNorthUpToFixedFrame</code>
</td>
<td class="description last">
<span class="optional">optional</span>
A 4x4 transformation
matrix from a reference frame to the provided ellipsoid's fixed reference frame</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix4.html">Matrix4</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 Matrix4 instance if none was provided.
</div>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">// Get the transform from local heading-pitch-roll at cartographic (0.0, 0.0) to Earth's fixed frame.
const center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
const heading = -Cesium.Math.PI_OVER_TWO;
const pitch = Cesium.Math.PI_OVER_FOUR;
const roll = 0.0;
const hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll);
const transform = Cesium.Transforms.headingPitchRollToFixedFrame(center, hpr);</code></pre>
</dl>
<div class="nameContainer">
<h4 class="name" id=".localFrameToFixedFrameGenerator">
<a href="#.localFrameToFixedFrameGenerator" class="doc-link"></a>
<span class="type-signature attribute-static">static</span> Cesium.Transforms.localFrameToFixedFrameGenerator<span class="signature">(firstAxis, secondAxis)</span> &rarr; <span class="type-signature returnType"><a href="Transforms.html#.LocalFrameToFixedFrame">Transforms.LocalFrameToFixedFrame</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/Transforms.js#L101">Core/Transforms.js 101</a>
</div>
</h4>
</div>
<div class="description">
Generates a function that computes a 4x4 transformation matrix from a reference frame
centered at the provided origin to the provided ellipsoid's fixed reference frame.
</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>firstAxis</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">
name of the first axis of the local reference frame. Must be
'east', 'north', 'up', 'west', 'south' or 'down'.</td>
</tr>
<tr>
<td class="name"><code>secondAxis</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">
name of the second axis of the local reference frame. Must be
'east', 'north', 'up', 'west', 'south' or 'down'.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The function that will computes a
4x4 transformation matrix from a reference frame, with first axis and second axis compliant with the parameters,
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".northEastDownToFixedFrame">
<a href="#.northEastDownToFixedFrame" class="doc-link"></a>
<span class="type-signature attribute-static">static</span> Cesium.Transforms.northEastDownToFixedFrame<span class="signature">(origin, <span class="optional">ellipsoid</span>, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Matrix4.html">Matrix4</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/Transforms.js#L301">Core/Transforms.js 301</a>
</div>
</h4>
</div>
<div class="description">
Computes a 4x4 transformation matrix from a reference frame with an north-east-down axes
centered at the provided origin to the provided ellipsoid's fixed reference frame.
The local axes are defined as:
<ul>
<li>The <code>x</code> axis points in the local north direction.</li>
<li>The <code>y</code> axis points in the local east direction.</li>
<li>The <code>z</code> axis points in the opposite direction of the ellipsoid surface normal which passes through the position.</li>
</ul>
</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>origin</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="default">
</td>
<td class="description last">
The center point of the local reference frame.</td>
</tr>
<tr>
<td class="name"><code>ellipsoid</code></td>
<td class="type">
<span class="param-type"><a href="Ellipsoid.html">Ellipsoid</a></span>
</td>
<td class="default">
<code class="language-javascript">Ellipsoid.WGS84</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The ellipsoid whose fixed frame is used in the transformation.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix4.html">Matrix4</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 Matrix4 instance if none was provided.
</div>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">// Get the transform from local north-east-down at cartographic (0.0, 0.0) to Earth's fixed frame.
const center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
const transform = Cesium.Transforms.northEastDownToFixedFrame(center);</code></pre>
</dl>
<div class="nameContainer">
<h4 class="name" id=".northUpEastToFixedFrame">
<a href="#.northUpEastToFixedFrame" class="doc-link"></a>
<span class="type-signature attribute-static">static</span> Cesium.Transforms.northUpEastToFixedFrame<span class="signature">(origin, <span class="optional">ellipsoid</span>, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Matrix4.html">Matrix4</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/Transforms.js#L327">Core/Transforms.js 327</a>
</div>
</h4>
</div>
<div class="description">
Computes a 4x4 transformation matrix from a reference frame with an north-up-east axes
centered at the provided origin to the provided ellipsoid's fixed reference frame.
The local axes are defined as:
<ul>
<li>The <code>x</code> axis points in the local north direction.</li>
<li>The <code>y</code> axis points in the direction of the ellipsoid surface normal which passes through the position.</li>
<li>The <code>z</code> axis points in the local east direction.</li>
</ul>
</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>origin</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="default">
</td>
<td class="description last">
The center point of the local reference frame.</td>
</tr>
<tr>
<td class="name"><code>ellipsoid</code></td>
<td class="type">
<span class="param-type"><a href="Ellipsoid.html">Ellipsoid</a></span>
</td>
<td class="default">
<code class="language-javascript">Ellipsoid.WGS84</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The ellipsoid whose fixed frame is used in the transformation.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix4.html">Matrix4</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 Matrix4 instance if none was provided.
</div>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">// Get the transform from local north-up-east at cartographic (0.0, 0.0) to Earth's fixed frame.
const center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
const transform = Cesium.Transforms.northUpEastToFixedFrame(center);</code></pre>
</dl>
<div class="nameContainer">
<h4 class="name" id=".northWestUpToFixedFrame">
<a href="#.northWestUpToFixedFrame" class="doc-link"></a>
<span class="type-signature attribute-static">static</span> Cesium.Transforms.northWestUpToFixedFrame<span class="signature">(origin, <span class="optional">ellipsoid</span>, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Matrix4.html">Matrix4</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/Transforms.js#L353">Core/Transforms.js 353</a>
</div>
</h4>
</div>
<div class="description">
Computes a 4x4 transformation matrix from a reference frame with an north-west-up axes
centered at the provided origin to the provided ellipsoid's fixed reference frame.
The local axes are defined as:
<ul>
<li>The <code>x</code> axis points in the local north direction.</li>
<li>The <code>y</code> axis points in the local west direction.</li>
<li>The <code>z</code> axis points in the direction of the ellipsoid surface normal which passes through the position.</li>
</ul>
</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>origin</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="default">
</td>
<td class="description last">
The center point of the local reference frame.</td>
</tr>
<tr>
<td class="name"><code>ellipsoid</code></td>
<td class="type">
<span class="param-type"><a href="Ellipsoid.html">Ellipsoid</a></span>
</td>
<td class="default">
<code class="language-javascript">Ellipsoid.WGS84</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The ellipsoid whose fixed frame is used in the transformation.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix4.html">Matrix4</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 Matrix4 instance if none was provided.
</div>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">// Get the transform from local north-West-Up at cartographic (0.0, 0.0) to Earth's fixed frame.
const center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
const transform = Cesium.Transforms.northWestUpToFixedFrame(center);</code></pre>
</dl>
<div class="nameContainer">
<h4 class="name" id=".pointToWindowCoordinates">
<a href="#.pointToWindowCoordinates" class="doc-link"></a>
<span class="type-signature attribute-static">static</span> Cesium.Transforms.pointToWindowCoordinates<span class="signature">(modelViewProjectionMatrix, viewportTransformation, point, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Cartesian2.html">Cartesian2</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/Transforms.js#L892">Core/Transforms.js 892</a>
</div>
</h4>
</div>
<div class="description">
Transform a point from model coordinates to window coordinates.
</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>modelViewProjectionMatrix</code></td>
<td class="type">
<span class="param-type"><a href="Matrix4.html">Matrix4</a></span>
</td>
<td class="description last">
The 4x4 model-view-projection matrix.</td>
</tr>
<tr>
<td class="name"><code>viewportTransformation</code></td>
<td class="type">
<span class="param-type"><a href="Matrix4.html">Matrix4</a></span>
</td>
<td class="description last">
The 4x4 viewport transformation.</td>
</tr>
<tr>
<td class="name"><code>point</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="description last">
The point to transform.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian2.html">Cartesian2</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 Cartesian2 instance if none was provided.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".preloadIcrfFixed">
<a href="#.preloadIcrfFixed" class="doc-link"></a>
<span class="type-signature attribute-static">static</span> Cesium.Transforms.preloadIcrfFixed<span class="signature">(timeInterval)</span> &rarr; <span class="type-signature returnType">Promise.&lt;void></span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/Transforms.js#L671">Core/Transforms.js 671</a>
</div>
</h4>
</div>
<div class="description">
Preloads the data necessary to transform between the ICRF and Fixed axes, in either
direction, over a given interval. This function returns a promise that, when resolved,
indicates that the preload has completed.
</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>timeInterval</code></td>
<td class="type">
<span class="param-type"><a href="TimeInterval.html">TimeInterval</a></span>
</td>
<td class="description last">
The interval to preload.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
A promise that, when resolved, indicates that the preload has completed
and evaluation of the transformation between the fixed and ICRF axes will
no longer return undefined for a time inside the interval.
</div>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">const interval = new Cesium.TimeInterval(...);
when(Cesium.Transforms.preloadIcrfFixed(interval), function() {
// the data is now loaded
});</code></pre>
<h5>See:</h5>
<ul class="see-list">
<li><a href="Transforms.html#.computeIcrfToFixedMatrix">Transforms.computeIcrfToFixedMatrix</a></li>
<li><a href="Transforms.html#.computeFixedToIcrfMatrix">Transforms.computeFixedToIcrfMatrix</a></li>
<li>when</li>
</ul>
</dl>
<div class="nameContainer">
<h4 class="name" id=".rotationMatrixFromPositionVelocity">
<a href="#.rotationMatrixFromPositionVelocity" class="doc-link"></a>
<span class="type-signature attribute-static">static</span> Cesium.Transforms.rotationMatrixFromPositionVelocity<span class="signature">(position, velocity, <span class="optional">ellipsoid</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/CesiumGS/cesium/blob/1.91/Source/Core/Transforms.js#L960">Core/Transforms.js 960</a>
</div>
</h4>
</div>
<div class="description">
Transform a position and velocity to a rotation matrix.
</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>position</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="default">
</td>
<td class="description last">
The position to transform.</td>
</tr>
<tr>
<td class="name"><code>velocity</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="default">
</td>
<td class="description last">
The velocity vector to transform.</td>
</tr>
<tr>
<td class="name"><code>ellipsoid</code></td>
<td class="type">
<span class="param-type"><a href="Ellipsoid.html">Ellipsoid</a></span>
</td>
<td class="default">
<code class="language-javascript">Ellipsoid.WGS84</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The ellipsoid whose fixed frame is used in the transformation.</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 none was provided.
</div>
<dl class="details">
</dl>
<h3 class="subsection-title">Type Definitions</h3>
<div class="nameContainer">
<h4 class="name" id=".LocalFrameToFixedFrame">
<a href="#.LocalFrameToFixedFrame" class="doc-link"></a>
Cesium.Transforms.LocalFrameToFixedFrame<span class="signature">(origin, <span class="optional">ellipsoid</span>, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Matrix4.html">Matrix4</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/Transforms.js#L112">Core/Transforms.js 112</a>
</div>
</h4>
</div>
<div class="description">
Computes a 4x4 transformation matrix from a reference frame
centered at the provided origin to the provided ellipsoid's fixed reference frame.
</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>origin</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="default">
</td>
<td class="description last">
The center point of the local reference frame.</td>
</tr>
<tr>
<td class="name"><code>ellipsoid</code></td>
<td class="type">
<span class="param-type"><a href="Ellipsoid.html">Ellipsoid</a></span>
</td>
<td class="default">
<code class="language-javascript">Ellipsoid.WGS84</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The ellipsoid whose fixed frame is used in the transformation.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Matrix4.html">Matrix4</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 Matrix4 instance if none was provided.
</div>
<dl class="details">
</dl>
</article>
</section>
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.10</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="ArcGISTiledElevationTerrainProvider"><a href="ArcGISTiledElevationTerrainProvider.html">ArcGISTiledElevationTerrainProvider</a></li><li data-name="ArcType"><a href="global.html#ArcType">ArcType</a></li><li data-name="AssociativeArray"><a href="AssociativeArray.html">AssociativeArray</a></li><li data-name="Axis"><a href="global.html#Axis">Axis</a></li><li data-name="AxisAlignedBoundingBox"><a href="AxisAlignedBoundingBox.html">AxisAlignedBoundingBox</a></li><li data-name="backFaceCulling"><a href="global.html#backFaceCulling">backFaceCulling</a></li><li data-name="barycentricCoordinates"><a href="global.html#barycentricCoordinates">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="global.html#binarySearch">binarySearch</a></li><li data-name="binarySearchComparator"><a href="global.html#binarySearchComparator">binarySearchComparator</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="global.html#BingMapsStyle">BingMapsStyle</a></li><li data-name="BlendEquation"><a href="global.html#BlendEquation">BlendEquation</a></li><li data-name="BlendFunction"><a href="global.html#BlendFunction">BlendFunction</a></li><li data-name="BlendingState"><a href="BlendingState.html">BlendingState</a></li><li data-name="BlendOption"><a href="global.html#BlendOption">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="boundingSphere"><a href="global.html#boundingSphere">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="buildModuleUrl"><a href="global.html#buildModuleUrl">buildModuleUrl</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="global.html#CameraEventType">CameraEventType</a></li><li data-name="cancelAnimationFrame"><a href="global.html#cancelAnimationFrame">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="CartographicGeocoderServic
</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>