OpenGLで円を描画する方法

著者: Ellen Moore
作成日: 15 1月 2021
更新日: 25 11月 2024
Anonim
初心者が正規化して三角形からアニメーションの円を描くためのopenglチュートリアル
ビデオ: 初心者が正規化して三角形からアニメーションの円を描くためのopenglチュートリアル

コンテンツ

OpenGL、またはOpen Graphics Libraryは、さまざまな言語およびプログラミングプラットフォームで2Dおよび3Dアプリケーションを作成するためのグラフィカルAPI(Application Programming Interface)です。それは単純で原始的なオブジェクトから複雑な3Dシーンまで何でもレンダリングするのに使用することができます。 Open GLは、コンピュータ化されたデザイン、科学的な視覚化、飛行シミュレーションおよびビデオゲームで広く使われています。 OpenGlに円を直接描画するメソッドがなくても、一連の線を使って円を描くことは可能です。円を描くには、OpenGLの基本的な知識が必要です。


説明書

OpenGLで円を描く直接的な方法はありませんが、それでも正しい行のコードで円を作成することは可能です。 (クリエイターズ/クリエイターズ/ゲッティイメージズ)
  1. OpenGLビューポートウィンドウで基本的なプログラムを作ります。このプロセスに慣れていない場合は、OpenGLページにチュートリアルがあります。

  2. プログラムの先頭に次のコードを入力して、math.h.headerファイルをプログラムに追加します。#include 。これは円を計算するのに必要なcos()とsin()(正弦と余弦)関数をあなたに提供します。

  3. コールバック関数を表示する前に、次のコードを追加してcircleメソッドを起動します。

    void drawCircle(GLint x、GLint y、GLintレイ、int num_lines){}

    変数 "x"と "y"はウィンドウの円の中心を定義するのに使われ、 "ray"は円の半径を決めます。整数 "num_lines"は円を構成するのに使われる線の数です。この数値が大きいほど、円は滑らかに見えます。

  4. キーの内側に次の設定コードを追加します。

    フロート角GO int num_lines GO glColor3f(0.0、0.0、0.0)GO。

    変数 "angle"は円を構成するのに使われる線の角度を含みます。 glColor3f()関数の呼び出しは、線の色を黒に設定します。ここで、一連の3つの0は、0から1のスケールで赤、緑、および青の強度に対応します。

  5. 手順4のglColor3f()関数の下に次のコードを追加します。

    glBegin(GL_LINE_LOOP)GO


    これはOpenGLにそれ以降の線が線を引くことを含むことを伝えます。具体的には、一連の接続線である「GL_LINE_LOOP」を描画します。

  6. glBegin()呼び出しの後に、toループから次のコードを入力します。

    (int i = 0; i <num_lines; i ++){angle = i * 2 * M_PI / num_lines; glVertex2f(x +(cos(angle)* radius)、および+(without(angle)* radius)); }

    このネクタイは3つのことをします。まず、 "num_lines"の値に従って繰り返します。ここで、num_linesは整数で、繰り返しごとに線を引いて、num_linesの直線で構成される円になります。次に、円の中心に対する線の角度をラジアンで計算します。 "M_P"はpiを表すmath.hで定義された定数です。最後に、glVertex2f()呼び出しは、行の端点の座標を計算します。

  7. ループ終了後、次のコード行を入力してください。

    glEnd()GO

    これはOpenGLにあなたが線を引いたことを伝えます。

  8. シーンに円を描くには、drawCircle()メソッドからプログラムのコールバック関数に呼び出しを追加します。これは、手順1で準備する必要があります。x、y、radius、およびa_lineの値を指定します。そのシーンでは、radiusは円の半径、num_linesは円を構成する線の数です。繰り返しますが、OpenGLとコールバック表示に慣れていない場合は、OpenGLチュートリアルを参照してください。

  9. プログラムをコンパイルして実行します。関数を正しく入力したら、エラーなしでコンパイルされるはずです。 x、y、およびradiusの値を指定した場合は、白い背景に黒い円が表示されます。

必要なもの

  • OpenGLをサポートしているコンピュータ
  • テキストエディタとC言語コンパイラツールまたはC開発環境