Open Source Web Development Tutorials - Dev Shed
OpenGLによるアニメーション
(2009/01/13公開)
SDLでゲームプログラミングを始めよう
ゲームプログラミング:グラフィック処理と入力処理
ゲームプログラミング:音をつけてみよう
ゲームプログラミング:OpenGLを使おう
はじめてのOpenGL
SDLを使用したゲームのプログラミング:OpenGLによるアニメーション
没頭できるようなゲームには必ずアニメーションがあります。これは、2次元、3次元どちらのゲームにも、例外なく当てはまります。このため、スムーズに没頭できるようなゲーム環境を作成するには、アニメーションをどうやって何のために使うのか理解する必要があります。OpenGLがほかのグラフィックやゲームのツールキットよりも優れている点の1つは、OpenGLのアニメーションAPIが高いレベルにあることです。
この理由は、OpenGLのAPIが、物理や数学で使用される三角法や運動の用語に従っていることにあります。これは同時に、数学(特に座標幾何学と三角法)と物理の十分な基礎知識が必要であることも意味します。
そのため今回の記事では、最初の2つのセクションで、アニメーションAPIを理解するために不可欠な、基本的な座標幾何学について解説します。3番目のセクションでは、アニメーション用のコアAPIと技法について解説し、4番目のセクションでは基本的なアニメーションの実例を示します。
2Dまたは3Dの前提条件:基本
アニメーションの基本は、停止せずに回転または平行移動を行うことです。言い換えれば、継続的に回転または平行移動が行われると、その結果はアニメーションになります。しかし、これらの操作を詳しく説明する前に、座標幾何学で使われる基本的な用語と概念について、簡単に説明します。2次元と3次元の最も基本的な用語と概念は次のものです。
・原点
・軸
・座標空間
・変換
この中で、最初の3つは2次元と3次元の基礎となる概念で、4つ目は2次元と3次元の効果を生み出すすべての操作の基礎です。以下に、それぞれの概念について説明します。
原点はすべての直交座標空間の、座標系の中心です。これは、2次元と3次元の両方に適用されます。原点は特別な場所です。座標空間を、正方形の境界を持つ都市と考えるなら、原点は都市の中心です。
軸は、すべての2次元直交空間に2つ存在する、原点を通る直線です。それぞれの直線は軸と呼ばれ、原点から互いに反対に向かって無限に伸びています。どちらの直線も互いに反対です。これら2つの軸を、x軸(水平軸)とy軸(垂直軸)と呼びます。
座標系を3次元空間に拡張する場合、z軸と呼ばれる3番目の軸が導入されます。1つ注意すべきことは、3次元空間では1組の軸によって平面を定義できることです。例えば、x軸とy軸によって定義される空間はxy平面と呼ばれます。この平面は、z軸に垂直です。図で示すと、次のようになります。
軸の正と負の位置は、座標系によって決まります。これについては次に説明します。
Copyright © 2008 Ziff Davis Enterprise, Inc.
Originally appearing in the U.S. Edition of Dev Shed. All Rights Reserved.









