コンテンツ
OpenGL、またはOpen Graphics Libraryは、さまざまな言語およびプログラミングプラットフォームで2Dおよび3Dアプリケーションを作成するためのグラフィカルAPI(Application Programming Interface)です。それは単純で原始的なオブジェクトから複雑な3Dシーンまで何でもレンダリングするのに使用することができます。 Open GLは、コンピュータ化されたデザイン、科学的な視覚化、飛行シミュレーションおよびビデオゲームで広く使われています。 OpenGlに円を直接描画するメソッドがなくても、一連の線を使って円を描くことは可能です。円を描くには、OpenGLの基本的な知識が必要です。
説明書
OpenGLで円を描く直接的な方法はありませんが、それでも正しい行のコードで円を作成することは可能です。 (クリエイターズ/クリエイターズ/ゲッティイメージズ)-
OpenGLビューポートウィンドウで基本的なプログラムを作ります。このプロセスに慣れていない場合は、OpenGLページにチュートリアルがあります。
-
プログラムの先頭に次のコードを入力して、math.h.headerファイルをプログラムに追加します。#include
。これは円を計算するのに必要なcos()とsin()(正弦と余弦)関数をあなたに提供します。 -
コールバック関数を表示する前に、次のコードを追加してcircleメソッドを起動します。
void drawCircle(GLint x、GLint y、GLintレイ、int num_lines){}
変数 "x"と "y"はウィンドウの円の中心を定義するのに使われ、 "ray"は円の半径を決めます。整数 "num_lines"は円を構成するのに使われる線の数です。この数値が大きいほど、円は滑らかに見えます。
-
キーの内側に次の設定コードを追加します。
フロート角GO int num_lines GO glColor3f(0.0、0.0、0.0)GO。
変数 "angle"は円を構成するのに使われる線の角度を含みます。 glColor3f()関数の呼び出しは、線の色を黒に設定します。ここで、一連の3つの0は、0から1のスケールで赤、緑、および青の強度に対応します。
-
手順4のglColor3f()関数の下に次のコードを追加します。
glBegin(GL_LINE_LOOP)GO
これはOpenGLにそれ以降の線が線を引くことを含むことを伝えます。具体的には、一連の接続線である「GL_LINE_LOOP」を描画します。
-
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()呼び出しは、行の端点の座標を計算します。
-
ループ終了後、次のコード行を入力してください。
glEnd()GO
これはOpenGLにあなたが線を引いたことを伝えます。
-
シーンに円を描くには、drawCircle()メソッドからプログラムのコールバック関数に呼び出しを追加します。これは、手順1で準備する必要があります。x、y、radius、およびa_lineの値を指定します。そのシーンでは、radiusは円の半径、num_linesは円を構成する線の数です。繰り返しますが、OpenGLとコールバック表示に慣れていない場合は、OpenGLチュートリアルを参照してください。
-
プログラムをコンパイルして実行します。関数を正しく入力したら、エラーなしでコンパイルされるはずです。 x、y、およびradiusの値を指定した場合は、白い背景に黒い円が表示されます。
必要なもの
- OpenGLをサポートしているコンピュータ
- テキストエディタとC言語コンパイラツールまたはC開発環境