📄 threedimturtle.htm
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="css/stdlayout.css" type="text/css">
<link rel="stylesheet" href="css/print.css" type="text/css">
<meta content="text/html; charset=gb2312" http-equiv="content-type">
<title>三维海龟绘图法</title>
</head>
<body>
<h3><a href="http://caterpillar.onlyfun.net/GossipCN/index.html">From
Gossip@caterpillar</a></h3>
<h1><a href="ComputerGraphics.htm">Computer Graphics: 三维海龟绘图法</a></h1>
3D海龟绘图法是2D海龟绘图法的延伸,2D海龟绘图法局限于一个平面上的移动,而3D海龟绘图法则是在立体的空间中移动,就如同海龟在海洋中游动一样:<br>
<img style="width: 266px; height: 219px;" alt="" src="images/threeDimTurtle-1.jpg"><br>
<br>
<br>
由于在立体的空间中移动,所以海龟的转动并不像在2D平面上,则有360度的差别,在3D海龟绘图法中,海龟的转动有可能是720度任一方向的转动,为了
方便掌握海龟的转动,让海龟拥有自己的座标系统,所以在3D的海龟缩图法中同时存在两种座标系统,即 <a class="wikilink" href="ThreeDimension.htm">直角座标系统</a> 与 <a class="wikilink" href="ShuttleDimension.htm">太空船座标旋转</a>,如下所示: <br>
<img style="width: 202px; height: 211px;" alt="" src="images/threeDimTurtle-2.jpg"><br>
<br>
海龟所使用的座标,是以头朝向的方向为x'正方向,背面为y'正方向,而右肢为z'正方向,当海龟要旋转时,是对x'、y'或z'轴来旋转,而不是对系统座标的X、Y、Z轴旋转:<br>
<ul>
<li>对x'轴旋转</li>
</ul>
<div style="margin-left: 40px;">对x'轴旋转时,x'轴的向量不变的,而改变y'与z'轴的向量,如下图所示: <br>
<img style="width: 245px; height: 108px;" alt="" src="images/threeDimTurtle-3.jpg"><br>
</div>
<br>
<ul>
<li>对y'轴旋转</li>
</ul>
<div style="margin-left: 40px;">对y'轴旋转时,y'轴的向量不变的,而改变x'与z'轴的向量,如下图所示: <br>
<img style="width: 224px; height: 100px;" alt="" src="images/threeDimTurtle-4.jpg"><br>
</div>
<br>
<ul>
<li>对z'轴旋转</li>
</ul>
<div style="margin-left: 40px;">对z'轴旋转时,z'轴的向量不变的,而改变x'与y'轴的向量,如下图所示: <br>
<img style="width: 244px; height: 101px;" alt="" src="images/threeDimTurtle-5.jpg"><br>
</div>
<br>
在旋转海龟时,x'、y'、z'向量的改变计算,您可以参考之前提过的太空船座标系统的转换,综合以上的描述,可以订出3D海龟绘图法的几个基本方法:<br>
<ol>
<li>设定海龟的位置(X, Y, Z)</li>
<li>设定海龟的座标系统(x', y', z')</li>
<li>让海龟对x'轴旋转</li>
<li>让海龟对y'轴旋转</li>
<li>让海龟对z'轴旋转</li>
</ol>
<br>
以上五个方法是3D海龟绘图法所必备的,至于其它的方法如移动绘直线、绘点等方法,其绘图方向即是海龟面向x'轴的方向,但必须配合所使用的2D转3D投影方法来制作,使用平行投影或透视投影的不同,就要使用不同的绘直线、绘点等方法。<br>
<br>
关于3D海龟绘图法的参考原始码,建议看看 <a href="http://www.drmaster.com.tw/info.asp?no=PG20135">JAVA 2D/3D绘图程式设计实例应用</a> 书附光碟中的3D海龟绘图原始码,由于原码很长,加上使用到其它的数学类别,这边不便列出。<br>
<span class="postbody"></span><br>
<br>
<br>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -