⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmathdoc.html

📁 一个简单的数学库.但是很实用..大家可以下载过去研究一下.
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html>

	<head>
		<title>XMath文档</title>
		<style type="text/css">
			body
			{
				font-family:"MS Sans Serif" "Courier New" 宋体 ;
				font-size:1em;
				text-align:left;
			}
			a:link
			{
				font-weight:bold;
				text-decoration:none;
				color:rgb(0,0,255);
			}
			a:visited
			{
				font-weight:bold;
				text-decoration:none;
				color:rgb(0,0,255);
			}
			a:hover
			{
				text-decoration:underline;
				color:rgb(0,0,255);
			}
			table
			{
				max-width:70%;
				border-collapse:separate;
				border-spacing:1em 0.5em;
			}
		</style>
	</head>

	<body>
		<h2>XMath文档</h2>
		<table>
			<tr><td><strong>作者:</strong></td><td>Blackbird</td></tr>
			<tr><td><strong>联系:</strong></td><td>wang_yong_cong@msn.com(E-Mail)</td></tr>
			<tr><td><strong>最后更新:</strong></td><td>2006年2月6日</td></tr>
			<tr><td><strong>出处:</strong></td><td><a href="http://greatsorcerer.icpcn.com/">友善之臂旅店</a></td></tr>
		</table><hr/>
		<h3 id="content">目录</h3>
		<ul>
			<p><a href="#variable">全局变量和常量</a></p>
			<p>
				<strong>全局函数和宏</strong>
				<table>
					<tr><td><a href="#macro">常用宏</a></td></tr>
					<tr><td><a href="#mathfun">常用数学函数</a></td></tr>
					<tr><td><a href="#coordfun">坐标转换函数</a></td></tr>
					<tr><td><a href="#anglefun">角度转换函数</a></td></tr>
					<tr><td><a href="#vecmulmat">向量与矩阵的乘法运算</a></td></tr>
				</table>
			</p>
			<p>
				<strong>结构(struct)</strong>
				<table>
					<tr><td><a href="#CPolar">CPolar</a></td><td>向量(点)的极坐标表示</td></tr>
					<tr><td><a href="#CCylindrical">CCylindrical</a></td><td>向量(点)的柱面坐标表示</td></tr>
					<tr><td><a href="#CSpherical">CSpherical</a></td><td>向量(点)的球坐标表示</td></tr>
					<tr><td><a href="#CEuler">CEuler</a></td><td>欧拉角</td></tr>
				</table>
			</p>
			<p>
				<strong>类(class)</strong>
				<table>
					<tr><td><a href="#CVector">CVector</a></td><td>向量(点)</td></tr>
					<tr><td><a href="#CHomoVector">CHomoVector4D</a></td><td>4D齐次向量(点)</td></tr>
					<tr><td><a href="#CMatrix">CMatrix</a></td><td>矩阵</td></tr>
					<tr><td><a href="#CQuaternion">CQuaternion</a></td><td>四元数</td></tr>
				</table>
			</p>
			<p><a href="#typedef">类型定义(typedef)</a></p>
		</ul><hr/>
		<h3 id="variable">全局变量和常量</h3>
		<table>
			<tr><td><strong>PI</strong></td><td>3.141592654</td></tr>
			<tr><td><strong>PI2</strong></td><td>PI乘以2</td></tr>
			<tr><td><strong>PI_DIV_2</strong></td><td>PI除以2</td></tr>
			<tr><td><strong>PI_DIV_4</strong></td><td>PI除以4</td></tr>
			<tr><td><strong>PI_INV</strong></td><td>PI的倒数</td></tr>
		</table>
		<p><a href="#content">返回目录</a></p><hr/>
		<h3 id="macro">常用宏</h3>
		<table>
			<tr><td><strong>MIN(a,b)</strong></td><td>返回a,b中较大的一个</td></tr>
			<tr><td><strong>MAX(a,b)</strong></td><td>返回a,b中较小的一个</td></tr>
			<tr><td><strong>SWAP(a,b,t)</strong></td><td>交换a,b的值,t为临时变量</td></tr>
			<tr><td><strong>DEG_TO_RAD(ang)</strong></td><td>将角度转换为弧度</td></tr>
			<tr><td><strong>RAD_TO_DEG(rad)</strong></td><td>将弧度转换为角度</td></tr>
		</table>
		<p><a href="#content">返回目录</a></p><hr/>
		<h3 id="mathfun">常用数学函数</h3>
		<table>
			<tr><td><strong>void BuildSinCosTable ()</strong></td><td>构建正弦/余弦函数查找表,在调用<strong>FastSin</strong>和<strong>FastCos</strong>前必须调用该函数来构建查找表</td></tr>
			<tr><td><strong>float FastSin (float ang)</strong></td><td>基于查找表的快速正弦函数,以角度为参数</td></tr>
			<tr><td><strong>float FastCos (float ang)</strong></td><td>基于查找表的快速余弦函数,以角度为参数</td></tr>
			<tr><td><strong>float InvSqrt (float x)</strong></td><td>快速计算x的平方根的倒数</td></tr>
			<tr><td><strong>float FastSqrt (float x)</strong></td><td>快速计算x的平方根</td></tr>
		</table>
		<p><a href="#content">返回目录</a></p><hr/>
		<h3 id="coordfun">坐标转换函数</h3>
		<table>
			<tr><td><strong>void PolarToCart (const CPolar&lt;T&gt; &p, CVector&lt;T,2&gt; &v)</strong></td><td>将极坐标转换为2D笛卡尔坐标</td></tr>
			<tr><td><strong>void CartToPolar (const CVector&lt;T,2&gt; &v, CPolar&lt;T&gt; &p)</strong></td><td>将2D笛卡尔坐标转换为极坐标</td></tr>
			<tr><td><strong>void CylindricalToCart (const CCylindrical&lt;T&gt; &c, CVector&lt;T,3&gt; &v)</strong></td><td>将柱面坐标转换为3D笛卡尔坐标</td></tr>
			<tr><td><strong>void CartToCylindrical (const CVector&lt;T,3&gt; &v, CCylindrical&lt;T&gt; &c)</strong></td><td>将3D笛卡尔坐标转换为柱面坐标</td></tr>
			<tr><td><strong>void CylindricalToCart (const CCylindrical&lt;T&gt; &c, CHomoVector4D&lt;T&gt; &v)</strong></td><td>将柱面坐标转换为4D齐次坐标</td></tr>
			<tr><td><strong>void CartToCylindrical (const CHomoVector4D&lt;T&gt; &v, CCylindrical&lt;T&gt; &c)</strong></td><td>将4D齐次坐标转换为柱面坐标</td></tr>
			<tr><td><strong>void SphericalToCart (const CSpherical&lt;T&gt; &c, CVector&lt;T,3&gt; &v)</strong></td><td>将球坐标转换为3D笛卡尔坐标</td></tr>
			<tr><td><strong>void CartToSpherical (const CVector&lt;T,3&gt; &v, CSpherical&lt;T&gt; &c)</strong></td><td>将3D笛卡尔坐标转换为球坐标</td></tr>
			<tr><td><strong>void SphericalToCart (const CSpherical&lt;T&gt; &c, CHomoVector4D&lt;T&gt; &v)</strong></td><td>将球坐标转换为4D齐次坐标</td></tr>
			<tr><td><strong>void CartToSpherical (const CHomoVector4D&lt;T&gt; &v, CSpherical&lt;T&gt; &c)</strong></td><td>将4D齐次坐标转换为球坐标</td></tr>
		</table>
		<p><a href="#content">返回目录</a></p><hr/>
		<h3 id="anglefun">角度转换函数</h3>
		<table>
			<tr><td><strong>void EulerToMatrix3D (const CEuler&lt;T&gt; &euler, CMatrix&lt;T, 3, 3&gt; &mat)</strong></td><td>将欧拉转角转换为等价的3D旋转矩阵</td></tr>
			<tr><td><strong>void Matrix3DToEuler (const CMatrix&lt;T, 3, 3&gt; &mat, CEuler&lt;T&gt; &euler)</strong></td><td>将3D旋转矩阵转换为等价的欧拉转角</td></tr>
			<tr><td><strong>void EulerToMatrix4D (const CEuler&lt;T&gt; &euler, CMatrix&lt;T, 4, 4&gt; &mat)</strong></td><td>将欧拉转角转换为等价的4D旋转矩阵</td></tr>
			<tr><td><strong>void Matrix4DToEuler (const CMatrix&lt;T, 4, 4&gt; &mat, CEuler&lt;T&gt; &euler)</strong></td><td>将4D旋转矩阵转换为等价的欧拉转角</td></tr>
			<tr><td><strong>void Matrix3DToQuat (const CMatrix&lt;T, 3, 3&gt; &mat, CQuaternion&lt;T&gt; &quat)</strong></td><td>将3D旋转矩阵转换为等价的四元数</td></tr>
			<tr><td><strong>void QuatToMatrix3D (const CQuaternion&lt;T&gt; &quat, CMatrix&lt;T, 3, 3&gt; &mat)</strong></td><td>将四元数转换为等价的3D旋转矩阵</td></tr>
			<tr><td><strong>void Matrix4DToQuat (const CMatrix&lt;T, 4, 4&gt; &mat, CQuaternion&lt;T&gt; &quat)</strong></td><td>将4D旋转矩阵转换为等价的四元数</td></tr>
			<tr><td><strong>void QuatToMatrix4D (const CQuaternion&lt;T&gt; &quat, CMatrix&lt;T, 4, 4&gt; &mat)</strong></td><td>将四元数转换为等价的4D旋转矩阵</td></tr>
			<tr><td><strong>void EulerToQuat (const CEuler&lt;T&gt; &euler, CQuaternion&lt;T&gt; &quat)</strong></td><td>将欧拉转角转换为等价的四元数</td></tr>
			<tr><td><strong>void QuatToEuler (const CQuaternion&lt;T&gt; &quat, CEuler&lt;T&gt; &euler)</strong></td><td>将四元数转换为等价的欧拉转角</td></tr>
		</table>
		<p><a href="#content">返回目录</a></p><hr/>
		<h3 id="vecmulmat">向量与矩阵的乘法运算</h3>
		<table>
			<tr><td><strong>template&lt;class T, int R, int C&gt; <br/>void vec_mul_mat(const CVector&lt;T,R&gt; &v, const CMatrix&lt;T,R,C&gt; &m, CVector&lt;T,C&gt; &r)</strong></td><td>向量与矩阵相乘,r=v*m</td></tr>
			<tr><td><strong>template&lt;class T&gt; <br/>void vec_mul_mat(const CVector&lt;T,2&gt; &v, const CMatrix&lt;T,3,2&gt; &m, CVector&lt;T,2&gt; &r)</strong></td><td>2D向量与3D齐次矩阵相乘,结果保存在v中。3D齐次矩阵使用压缩的存储方式,假定最后一列为[0 0 1]T。</td></tr>
			<tr><td><strong>template&lt;class T&gt; <br/>void vec_mul_mat(const CVector&lt;T,2&gt; &v, const CMatrix&lt;T,3,3&gt; &m, CVector&lt;T,2&gt; &r)</strong></td><td>2D向量与3D齐次矩阵相乘,结果保存在v中。</td></tr>
			<tr><td><strong>template&lt;class T&gt; <br/>void vec_mul_mat(const CVector&lt;T,3&gt; &v, const CMatrix&lt;T,4,3&gt; &m, CVector&lt;T,3&gt; &r)</strong></td><td>3D向量与4D齐次矩阵相乘,结果保存在v中。4D齐次矩阵使用压缩的存储方式,假定最后一列为[0 0 0 1]T。</td></tr>
			<tr><td><strong>template&lt;class T&gt; <br/>void vec_mul_mat(const CVector&lt;T,3&gt; &v, const CMatrix&lt;T,4,4&gt; &m, CVector&lt;T,3&gt; &r)</strong></td><td>3D向量与4D齐次矩阵相乘,结果保存在v中。</td></tr>
		</table>
		<p><a href="#content">返回目录</a></p><hr/>
		<h3 id="CPolar">template &lt;class T&gt;<br/>struct CPolar</h3>
		<p><strong>描述</strong></p>
		<p>模板类,表示2D向量(点)的极坐标。</p>
		<p><strong>模板参数</strong></p>
		<table>
			<tr><td><strong>T</strong></td><td>数据类型</td></tr>
		</table>
		<p><strong>成员</strong></p>
		<table>
			<tr><td><strong>T r</strong></td><td>坐标半径</td></tr>
			<tr><td><strong>T theta</strong></td><td>与x轴的夹角(弧度)</td></tr>
		</table>
		<p><a href="#content">返回目录</a></p><hr/>
		<h3 id="CCylindrical">template &lt;class T&gt;<br/>struct CCylindrical</h3>
		<p><strong>描述</strong></p>
		<p>模板类,表示3D向量(点)的柱面坐标。</p>
		<p><strong>模板参数</strong></p>
		<table>
			<tr><td><strong>T</strong></td><td>数据类型</td></tr>
		</table>
		<p><strong>成员</strong></p>
		<table>
			<tr><td><strong>T r</strong></td><td>x-y面上的极坐标半径</td></tr>
			<tr><td><strong>T theta</strong></td><td>x-y面上的极坐标角度(弧度)</td></tr>
			<tr><td><strong>T z</strong></td><td>z坐标</td></tr>
		</table>
		<p><a href="#content">返回目录</a></p><hr/>
		<h3 id="CSpherical">template &lt;class T&gt;<br/>struct CSpherical</h3>
		<p><strong>描述</strong></p>
		<p>模板类,表示3D向量(点)的球坐标。</p>
		<p><strong>模板参数</strong></p>
		<table>
			<tr><td><strong>T</strong></td><td>数据类型</td></tr>
		</table>
		<p><strong>成员</strong></p>
		<table>
			<tr><td><strong>T r</strong></td><td>球坐标半径</td></tr>
			<tr><td><strong>T theta</strong></td><td>在x-y面上的投影与x轴的夹角(弧度)</td></tr>
			<tr><td><strong>T phi</strong></td><td>与z轴的夹角(弧度)</td></tr>
		</table>
		<p><a href="#content">返回目录</a></p><hr/>
		<h3 id="CEuler">template &lt;class T&gt;<br/>struct CEuler</h3>
		<p><strong>描述</strong></p>
		<p>模板类,表示欧拉转角。</p>
		<p><strong>模板参数</strong></p>
		<table>
			<tr><td><strong>T</strong></td><td>数据类型</td></tr>
		</table>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -