浏览代码

Created documentation for Maths / Interpolants (#10049)

* Added missing methods to docs / math

* Created doc for math / interpolant

* Added docs for maths / interpolants

* Revert "Added missing methods to docs / math"

This reverts commit d195954da59c7f93fd598db89b9420acce9e40c2.
Lewy Blue 8 年之前
父节点
当前提交
dd3ab55b3c

+ 84 - 0
docs/api/math/Interpolant.html

@@ -0,0 +1,84 @@
+<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../" />
+		<script src="list.js"></script>
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<div class="desc">
+		Abstract base class of interpolants over parametric samples.<br /><br />
+
+		The parameter domain is one dimensional, typically the time or a path along a curve defined by the data.<br /><br />
+
+		The sample values can have any dimensionality and derived classes may apply special interpretations to the data.<br /><br />
+
+		This class provides the interval seek in a Template Method, deferring the actual interpolation to derived classes.<br /><br />
+
+		Time complexity is *O(1)* for linear access crossing at most two points and *O(log N)* for random access,
+		where *N* is the number of positions.<br /><br />
+
+		References:	[link:http://www.oodesign.com/template-method-pattern.html http://www.oodesign.com/template-method-pattern.html]
+		</div>
+
+
+		<h2>Constructor</h2>
+
+
+		<h2>Constructor</h2>
+
+		<h3>[name]( parameterPositions, sampleValues, sampleSize, resultBuffer )</h3>
+		<div>
+		parameterPositions -- array of positions<br />
+		sampleValues -- array of samples<br />
+		sampleSize -- number of samples<br />
+		resultBuffer -- buffer to store the interpolation results.<br /><br />
+
+		Note: This is not designed to be called directly.
+		</div>
+
+		<h2>Properties</h2>
+
+
+
+		<h3>[property:null parameterPositions]</h3>
+		<div>
+
+		</div>
+
+		<h3>[property:null resultBuffer]</h3>
+		<div>
+
+		</div>
+
+		<h3>[property:null sampleValues]</h3>
+		<div>
+
+		</div>
+
+		<h3>[property:Object settings]</h3>
+		<div>
+		Optional, subclass-specific settings structure.
+		</div>
+
+		<h3>[property:null valueSize]</h3>
+		<div>
+
+		</div>
+
+		<h2>Methods</h2>
+
+		<h3>[method:null evaluate]( [page:Number t] )</h3>
+		<div>
+		Evaluate the interpolant at position *t*.
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 87 - 0
docs/api/math/interpolants/CubicInterpolant.html

@@ -0,0 +1,87 @@
+<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="list.js"></script>
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Interpolant] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">
+
+		</div>
+
+		<h2>Example</h2>
+
+		<code>
+var interpolant = new THREE.[name](
+		new Float32Array( 2 ),
+		new Float32Array( 2 ),
+		1,
+		new Float32Array( 1 )
+);
+
+interpolant.evaluate( 0.5 );
+		</code>
+
+
+		<h2>Constructor</h2>
+
+		<h3>[name]( parameterPositions, sampleValues, sampleSize, resultBuffer )</h3>
+		<div>
+		parameterPositions -- array of positions<br />
+		sampleValues -- array of samples<br />
+		sampleSize -- number of samples<br />
+		resultBuffer -- buffer to store the interpolation results.<br /><br />
+
+
+		</div>
+
+		<h2>Properties</h2>
+
+
+
+		<h3>[property:null parameterPositions]</h3>
+		<div>
+
+		</div>
+
+		<h3>[property:null resultBuffer]</h3>
+		<div>
+
+		</div>
+
+		<h3>[property:null sampleValues]</h3>
+		<div>
+
+		</div>
+
+		<h3>[property:Object settings]</h3>
+		<div>
+
+		</div>
+
+		<h3>[property:null valueSize]</h3>
+		<div>
+
+		</div>
+
+		<h2>Methods</h2>
+
+		<h3>[method:null evaluate]( [page:Number t] )</h3>
+		<div>
+		Evaluate the interpolant at position *t*.
+		</div>
+
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 87 - 0
docs/api/math/interpolants/DiscreteInterpolant.html

@@ -0,0 +1,87 @@
+<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="list.js"></script>
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Interpolant] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">
+
+		</div>
+
+		<h2>Example</h2>
+
+		<code>
+var interpolant = new THREE.[name](
+		new Float32Array( 2 ),
+		new Float32Array( 2 ),
+		1,
+		new Float32Array( 1 )
+);
+
+interpolant.evaluate( 0.5 );
+		</code>
+
+
+		<h2>Constructor</h2>
+
+		<h3>[name]( parameterPositions, sampleValues, sampleSize, resultBuffer )</h3>
+		<div>
+		parameterPositions -- array of positions<br />
+		sampleValues -- array of samples<br />
+		sampleSize -- number of samples<br />
+		resultBuffer -- buffer to store the interpolation results.<br /><br />
+
+
+		</div>
+
+		<h2>Properties</h2>
+
+
+
+		<h3>[property:null parameterPositions]</h3>
+		<div>
+
+		</div>
+
+		<h3>[property:null resultBuffer]</h3>
+		<div>
+
+		</div>
+
+		<h3>[property:null sampleValues]</h3>
+		<div>
+
+		</div>
+
+		<h3>[property:Object settings]</h3>
+		<div>
+
+		</div>
+
+		<h3>[property:null valueSize]</h3>
+		<div>
+
+		</div>
+
+		<h2>Methods</h2>
+
+		<h3>[method:null evaluate]( [page:Number t] )</h3>
+		<div>
+		Evaluate the interpolant at position *t*.
+		</div>
+
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 87 - 0
docs/api/math/interpolants/LinearInterpolant.html

@@ -0,0 +1,87 @@
+<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="list.js"></script>
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Interpolant] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">
+
+		</div>
+
+		<h2>Example</h2>
+
+		<code>
+var interpolant = new THREE.[name](
+		new Float32Array( 2 ),
+		new Float32Array( 2 ),
+		1,
+		new Float32Array( 1 )
+);
+
+interpolant.evaluate( 0.5 );
+		</code>
+
+
+		<h2>Constructor</h2>
+
+		<h3>[name]( parameterPositions, sampleValues, sampleSize, resultBuffer )</h3>
+		<div>
+		parameterPositions -- array of positions<br />
+		sampleValues -- array of samples<br />
+		sampleSize -- number of samples<br />
+		resultBuffer -- buffer to store the interpolation results.<br /><br />
+
+
+		</div>
+
+		<h2>Properties</h2>
+
+
+
+		<h3>[property:null parameterPositions]</h3>
+		<div>
+
+		</div>
+
+		<h3>[property:null resultBuffer]</h3>
+		<div>
+
+		</div>
+
+		<h3>[property:null sampleValues]</h3>
+		<div>
+
+		</div>
+
+		<h3>[property:Object settings]</h3>
+		<div>
+
+		</div>
+
+		<h3>[property:null valueSize]</h3>
+		<div>
+
+		</div>
+
+		<h2>Methods</h2>
+
+		<h3>[method:null evaluate]( [page:Number t] )</h3>
+		<div>
+		Evaluate the interpolant at position *t*.
+		</div>
+
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 87 - 0
docs/api/math/interpolants/QuaternionLinearInterpolant.html

@@ -0,0 +1,87 @@
+<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="list.js"></script>
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Interpolant] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">
+
+		</div>
+
+		<h2>Example</h2>
+
+		<code>
+var interpolant = new THREE.[name](
+		new Float32Array( 2 ),
+		new Float32Array( 2 ),
+		1,
+		new Float32Array( 1 )
+);
+
+interpolant.evaluate( 0.5 );
+		</code>
+
+
+		<h2>Constructor</h2>
+
+		<h3>[name]( parameterPositions, sampleValues, sampleSize, resultBuffer )</h3>
+		<div>
+		parameterPositions -- array of positions<br />
+		sampleValues -- array of samples<br />
+		sampleSize -- number of samples<br />
+		resultBuffer -- buffer to store the interpolation results.<br /><br />
+
+
+		</div>
+
+		<h2>Properties</h2>
+
+
+
+		<h3>[property:null parameterPositions]</h3>
+		<div>
+
+		</div>
+
+		<h3>[property:null resultBuffer]</h3>
+		<div>
+
+		</div>
+
+		<h3>[property:null sampleValues]</h3>
+		<div>
+
+		</div>
+
+		<h3>[property:Object settings]</h3>
+		<div>
+
+		</div>
+
+		<h3>[property:null valueSize]</h3>
+		<div>
+
+		</div>
+
+		<h2>Methods</h2>
+
+		<h3>[method:null evaluate]( [page:Number t] )</h3>
+		<div>
+		Evaluate the interpolant at position *t*.
+		</div>
+
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 9 - 0
docs/list.js

@@ -140,6 +140,7 @@ var list = {
 			[ "Color", "api/math/Color" ],
 			[ "Euler", "api/math/Euler" ],
 			[ "Frustum", "api/math/Frustum" ],
+			[ "Interpolant", "api/math/Interpolant" ],
 			[ "Line3", "api/math/Line3" ],
 			[ "Math", "api/math/Math" ],
 			[ "Matrix3", "api/math/Matrix3" ],
@@ -156,6 +157,14 @@ var list = {
 			[ "Vector4", "api/math/Vector4" ]
 		],
 
+		"Math / Interpolants": [
+			[ "CubicInterpolant", "api/math/interpolants/CubicInterpolant" ],
+			[ "DiscreteInterpolant", "api/math/interpolants/DiscreteInterpolant" ],
+			[ "LinearInterpolant", "api/math/interpolants/LinearInterpolant" ],
+			[ "QuaternionLinearInterpolant", "api/math/interpolants/QuaternionLinearInterpolant" ]
+		],
+
+
 		"Objects": [
 			[ "Bone", "api/objects/Bone" ],
 			[ "LensFlare", "api/objects/LensFlare" ],