Files
dl/document/html/namespacedl_1_1_mat.html
2026-09-16 14:07:40 +08:00

535 lines
33 KiB
HTML
Vendored

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>dl: dl::Mat 命名空间参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">dl
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',false,false,'search.php','搜索',false);
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacedl.html">dl</a></li><li class="navelem"><a class="el" href="namespacedl_1_1_mat.html">Mat</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#func-members">函数</a> </div>
<div class="headertitle"><div class="title">dl::Mat 命名空间参考</div></div>
</div><!--header-->
<div class="contents">
<p>矩阵操作
<a href="#details">更多...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
函数</h2></td></tr>
<tr class="memitem:ad47cedc75e9587dde2f9d1d461a5e5ce" id="r_ad47cedc75e9587dde2f9d1d461a5e5ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad47cedc75e9587dde2f9d1d461a5e5ce">CreateIdentity</a> ()</td></tr>
<tr class="memdesc:ad47cedc75e9587dde2f9d1d461a5e5ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">创建单位矩阵 <br /></td></tr>
<tr class="separator:ad47cedc75e9587dde2f9d1d461a5e5ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a518b7d5cabf8a0cd7a04c2ed49c706cf" id="r_a518b7d5cabf8a0cd7a04c2ed49c706cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a518b7d5cabf8a0cd7a04c2ed49c706cf">CreateTranslation</a> (const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;t)</td></tr>
<tr class="memdesc:a518b7d5cabf8a0cd7a04c2ed49c706cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">创建平移矩阵 <br /></td></tr>
<tr class="separator:a518b7d5cabf8a0cd7a04c2ed49c706cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66ced24c504897ebd30d70f5b0f2acbf" id="r_a66ced24c504897ebd30d70f5b0f2acbf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a66ced24c504897ebd30d70f5b0f2acbf">ApplyTranslation</a> (<a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a> &amp;m, const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;t)</td></tr>
<tr class="memdesc:a66ced24c504897ebd30d70f5b0f2acbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">平移矩阵 <br /></td></tr>
<tr class="separator:a66ced24c504897ebd30d70f5b0f2acbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11f384dbeee6ee2c282d8eaab3e74873" id="r_a11f384dbeee6ee2c282d8eaab3e74873"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a11f384dbeee6ee2c282d8eaab3e74873">CreateRotation</a> (const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;axis, <a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a> angle)</td></tr>
<tr class="memdesc:a11f384dbeee6ee2c282d8eaab3e74873"><td class="mdescLeft">&#160;</td><td class="mdescRight">创建旋转矩阵 <br /></td></tr>
<tr class="separator:a11f384dbeee6ee2c282d8eaab3e74873"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac64a41890a88a3e10989557fb970265c" id="r_ac64a41890a88a3e10989557fb970265c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac64a41890a88a3e10989557fb970265c">CreateRotation</a> (const <a class="el" href="namespacedl.html#aa4bb00cad84e587e46364ac39f4d3d4a">Position4</a> &amp;q)</td></tr>
<tr class="memdesc:ac64a41890a88a3e10989557fb970265c"><td class="mdescLeft">&#160;</td><td class="mdescRight">创建旋转矩阵(四元数) <br /></td></tr>
<tr class="separator:ac64a41890a88a3e10989557fb970265c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf966c66eaa955411ca63f74be079c87" id="r_aaf966c66eaa955411ca63f74be079c87"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aaf966c66eaa955411ca63f74be079c87">CreateScaling</a> (const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;s)</td></tr>
<tr class="memdesc:aaf966c66eaa955411ca63f74be079c87"><td class="mdescLeft">&#160;</td><td class="mdescRight">创建缩放矩阵 <br /></td></tr>
<tr class="separator:aaf966c66eaa955411ca63f74be079c87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa62d2ca8c61251c357373136a69cabcc" id="r_aa62d2ca8c61251c357373136a69cabcc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa62d2ca8c61251c357373136a69cabcc">CreateLookTo</a> (const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;eye, const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;dir, const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;up)</td></tr>
<tr class="memdesc:aa62d2ca8c61251c357373136a69cabcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">创建LookTo矩阵 <br /></td></tr>
<tr class="separator:aa62d2ca8c61251c357373136a69cabcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b98c480c577614c5cc4e9e8aa62e8df" id="r_a2b98c480c577614c5cc4e9e8aa62e8df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2b98c480c577614c5cc4e9e8aa62e8df">CreateLookAt</a> (const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;eye, const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;target, const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;up)</td></tr>
<tr class="memdesc:a2b98c480c577614c5cc4e9e8aa62e8df"><td class="mdescLeft">&#160;</td><td class="mdescRight">创建LookAt矩阵 <br /></td></tr>
<tr class="separator:a2b98c480c577614c5cc4e9e8aa62e8df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43f1b69fcecd1ebacedf8c466ee11a4f" id="r_a43f1b69fcecd1ebacedf8c466ee11a4f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a43f1b69fcecd1ebacedf8c466ee11a4f">CreatePerspective</a> (<a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a> fovy, <a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a> aspect, <a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a> z_near, <a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a> z_far)</td></tr>
<tr class="memdesc:a43f1b69fcecd1ebacedf8c466ee11a4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">创建透视投影矩阵 [0, 1] <br /></td></tr>
<tr class="separator:a43f1b69fcecd1ebacedf8c466ee11a4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91fc4e5136e482c72ab54451a204820d" id="r_a91fc4e5136e482c72ab54451a204820d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a91fc4e5136e482c72ab54451a204820d">CreateOrthogonal</a> (<a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a> left, <a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a> top, <a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a> right, <a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a> bottom, <a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a> z_near, <a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a> z_far)</td></tr>
<tr class="memdesc:a91fc4e5136e482c72ab54451a204820d"><td class="mdescLeft">&#160;</td><td class="mdescRight">创建正交投影矩阵 [0, 1] <br /></td></tr>
<tr class="separator:a91fc4e5136e482c72ab54451a204820d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76a014cbfda77078f9b7a11b88147a80" id="r_a76a014cbfda77078f9b7a11b88147a80"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a76a014cbfda77078f9b7a11b88147a80">GetInverse</a> (const <a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a> &amp;m)</td></tr>
<tr class="memdesc:a76a014cbfda77078f9b7a11b88147a80"><td class="mdescLeft">&#160;</td><td class="mdescRight">获得逆矩阵 <br /></td></tr>
<tr class="separator:a76a014cbfda77078f9b7a11b88147a80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb75a83d35563ce47752dd6448171014" id="r_afb75a83d35563ce47752dd6448171014"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afb75a83d35563ce47752dd6448171014">ApplyDot</a> (const <a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a> &amp;mat, const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;dot)</td></tr>
<tr class="memdesc:afb75a83d35563ce47752dd6448171014"><td class="mdescLeft">&#160;</td><td class="mdescRight">变换点 <br /></td></tr>
<tr class="separator:afb75a83d35563ce47752dd6448171014"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86d7dfc438426a783c64a3bd957a1f0b" id="r_a86d7dfc438426a783c64a3bd957a1f0b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a86d7dfc438426a783c64a3bd957a1f0b">ApplyDir</a> (const <a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a> &amp;mat, const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;dir)</td></tr>
<tr class="memdesc:a86d7dfc438426a783c64a3bd957a1f0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">变换向量 <br /></td></tr>
<tr class="separator:a86d7dfc438426a783c64a3bd957a1f0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad545736d72923f6f4978128f91c6c521" id="r_ad545736d72923f6f4978128f91c6c521"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacedl.html#aa2f6bf983f10f1e723ea40700f535043">Matrix3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad545736d72923f6f4978128f91c6c521">ToMatrix3</a> (const <a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a> &amp;mat)</td></tr>
<tr class="separator:ad545736d72923f6f4978128f91c6c521"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31ea5ddc043c30cb63c0fd55d75c8fdf" id="r_a31ea5ddc043c30cb63c0fd55d75c8fdf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a31ea5ddc043c30cb63c0fd55d75c8fdf">Test</a> ()</td></tr>
<tr class="memdesc:a31ea5ddc043c30cb63c0fd55d75c8fdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">验证正确性 <br /></td></tr>
<tr class="separator:a31ea5ddc043c30cb63c0fd55d75c8fdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p>矩阵操作 </p>
</div><h2 class="groupheader">函数说明</h2>
<a id="a86d7dfc438426a783c64a3bd957a1f0b" name="a86d7dfc438426a783c64a3bd957a1f0b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a86d7dfc438426a783c64a3bd957a1f0b">&#9670;&#160;</a></span>ApplyDir()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> dl::Mat::ApplyDir </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a> &amp;</td> <td class="paramname"><span class="paramname"><em>mat</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;</td> <td class="paramname"><span class="paramname"><em>dir</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>变换向量 </p>
<p class="definition">在文件 <a class="el" href="dl__matrix_8h_source.html">dl_matrix.h</a><a class="el" href="dl__matrix_8h_source.html#l00387">387</a> 行定义.</p>
</div>
</div>
<a id="afb75a83d35563ce47752dd6448171014" name="afb75a83d35563ce47752dd6448171014"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb75a83d35563ce47752dd6448171014">&#9670;&#160;</a></span>ApplyDot()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> dl::Mat::ApplyDot </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a> &amp;</td> <td class="paramname"><span class="paramname"><em>mat</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;</td> <td class="paramname"><span class="paramname"><em>dot</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>变换点 </p>
<p class="definition">在文件 <a class="el" href="dl__matrix_8h_source.html">dl_matrix.h</a><a class="el" href="dl__matrix_8h_source.html#l00382">382</a> 行定义.</p>
</div>
</div>
<a id="a66ced24c504897ebd30d70f5b0f2acbf" name="a66ced24c504897ebd30d70f5b0f2acbf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66ced24c504897ebd30d70f5b0f2acbf">&#9670;&#160;</a></span>ApplyTranslation()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dl::Mat::ApplyTranslation </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a> &amp;</td> <td class="paramname"><span class="paramname"><em>m</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;</td> <td class="paramname"><span class="paramname"><em>t</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>平移矩阵 </p>
</div>
</div>
<a id="ad47cedc75e9587dde2f9d1d461a5e5ce" name="ad47cedc75e9587dde2f9d1d461a5e5ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad47cedc75e9587dde2f9d1d461a5e5ce">&#9670;&#160;</a></span>CreateIdentity()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a> dl::Mat::CreateIdentity </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>创建单位矩阵 </p>
<p class="definition">在文件 <a class="el" href="dl__matrix_8h_source.html">dl_matrix.h</a><a class="el" href="dl__matrix_8h_source.html#l00321">321</a> 行定义.</p>
</div>
</div>
<a id="a2b98c480c577614c5cc4e9e8aa62e8df" name="a2b98c480c577614c5cc4e9e8aa62e8df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b98c480c577614c5cc4e9e8aa62e8df">&#9670;&#160;</a></span>CreateLookAt()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a> dl::Mat::CreateLookAt </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;</td> <td class="paramname"><span class="paramname"><em>eye</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;</td> <td class="paramname"><span class="paramname"><em>target</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;</td> <td class="paramname"><span class="paramname"><em>up</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>创建LookAt矩阵 </p>
<p class="definition">在文件 <a class="el" href="dl__matrix_8h_source.html">dl_matrix.h</a><a class="el" href="dl__matrix_8h_source.html#l00361">361</a> 行定义.</p>
</div>
</div>
<a id="aa62d2ca8c61251c357373136a69cabcc" name="aa62d2ca8c61251c357373136a69cabcc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa62d2ca8c61251c357373136a69cabcc">&#9670;&#160;</a></span>CreateLookTo()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a> dl::Mat::CreateLookTo </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;</td> <td class="paramname"><span class="paramname"><em>eye</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;</td> <td class="paramname"><span class="paramname"><em>dir</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;</td> <td class="paramname"><span class="paramname"><em>up</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>创建LookTo矩阵 </p>
</div>
</div>
<a id="a91fc4e5136e482c72ab54451a204820d" name="a91fc4e5136e482c72ab54451a204820d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91fc4e5136e482c72ab54451a204820d">&#9670;&#160;</a></span>CreateOrthogonal()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a> dl::Mat::CreateOrthogonal </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a></td> <td class="paramname"><span class="paramname"><em>left</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a></td> <td class="paramname"><span class="paramname"><em>top</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a></td> <td class="paramname"><span class="paramname"><em>right</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a></td> <td class="paramname"><span class="paramname"><em>bottom</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a></td> <td class="paramname"><span class="paramname"><em>z_near</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a></td> <td class="paramname"><span class="paramname"><em>z_far</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>创建正交投影矩阵 [0, 1] </p>
</div>
</div>
<a id="a43f1b69fcecd1ebacedf8c466ee11a4f" name="a43f1b69fcecd1ebacedf8c466ee11a4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a43f1b69fcecd1ebacedf8c466ee11a4f">&#9670;&#160;</a></span>CreatePerspective()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a> dl::Mat::CreatePerspective </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a></td> <td class="paramname"><span class="paramname"><em>fovy</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a></td> <td class="paramname"><span class="paramname"><em>aspect</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a></td> <td class="paramname"><span class="paramname"><em>z_near</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a></td> <td class="paramname"><span class="paramname"><em>z_far</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>创建透视投影矩阵 [0, 1] </p>
</div>
</div>
<a id="a11f384dbeee6ee2c282d8eaab3e74873" name="a11f384dbeee6ee2c282d8eaab3e74873"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11f384dbeee6ee2c282d8eaab3e74873">&#9670;&#160;</a></span>CreateRotation() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a> dl::Mat::CreateRotation </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;</td> <td class="paramname"><span class="paramname"><em>axis</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacedl.html#a2deb3e79723ed0c188c47443a48744b7">Float</a></td> <td class="paramname"><span class="paramname"><em>angle</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>创建旋转矩阵 </p>
</div>
</div>
<a id="ac64a41890a88a3e10989557fb970265c" name="ac64a41890a88a3e10989557fb970265c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac64a41890a88a3e10989557fb970265c">&#9670;&#160;</a></span>CreateRotation() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a> dl::Mat::CreateRotation </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacedl.html#aa4bb00cad84e587e46364ac39f4d3d4a">Position4</a> &amp;</td> <td class="paramname"><span class="paramname"><em>q</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>创建旋转矩阵(四元数) </p>
</div>
</div>
<a id="aaf966c66eaa955411ca63f74be079c87" name="aaf966c66eaa955411ca63f74be079c87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf966c66eaa955411ca63f74be079c87">&#9670;&#160;</a></span>CreateScaling()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a> dl::Mat::CreateScaling </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;</td> <td class="paramname"><span class="paramname"><em>s</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>创建缩放矩阵 </p>
</div>
</div>
<a id="a518b7d5cabf8a0cd7a04c2ed49c706cf" name="a518b7d5cabf8a0cd7a04c2ed49c706cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a518b7d5cabf8a0cd7a04c2ed49c706cf">&#9670;&#160;</a></span>CreateTranslation()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a> dl::Mat::CreateTranslation </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a8caf4bcf54955de2e79b95811306b841">Position3</a> &amp;</td> <td class="paramname"><span class="paramname"><em>t</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>创建平移矩阵 </p>
</div>
</div>
<a id="a76a014cbfda77078f9b7a11b88147a80" name="a76a014cbfda77078f9b7a11b88147a80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76a014cbfda77078f9b7a11b88147a80">&#9670;&#160;</a></span>GetInverse()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a> dl::Mat::GetInverse </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a> &amp;</td> <td class="paramname"><span class="paramname"><em>m</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>获得逆矩阵 </p>
<dl class="section note"><dt>注解</dt><dd>常见的方法有 求伴随矩阵、行列式值;还有LU分解法 </dd>
<dd>
这里暂时copy一下glm的代码 </dd></dl>
</div>
</div>
<a id="a31ea5ddc043c30cb63c0fd55d75c8fdf" name="a31ea5ddc043c30cb63c0fd55d75c8fdf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31ea5ddc043c30cb63c0fd55d75c8fdf">&#9670;&#160;</a></span>Test()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dl::Mat::Test </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>验证正确性 </p>
</div>
</div>
<a id="ad545736d72923f6f4978128f91c6c521" name="ad545736d72923f6f4978128f91c6c521"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad545736d72923f6f4978128f91c6c521">&#9670;&#160;</a></span>ToMatrix3()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacedl.html#aa2f6bf983f10f1e723ea40700f535043">Matrix3</a> dl::Mat::ToMatrix3 </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a724a0aef715eff166173ad00086fb59a">Matrix4</a> &amp;</td> <td class="paramname"><span class="paramname"><em>mat</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">在文件 <a class="el" href="dl__matrix_8h_source.html">dl_matrix.h</a><a class="el" href="dl__matrix_8h_source.html#l00392">392</a> 行定义.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1
</small></address>
</div><!-- doc-content -->
</body>
</html>