コンテンツ
OpenGL(Open Graphics Library)は、さまざまなプログラミング言語とプラットフォームで2Dおよび3Dアプリケーションを作成するためのグラフィックAPI(アプリケーションプログラミングインターフェイス)です。シンプルなプリミティブオブジェクトから複雑な3Dシーンまで何でもレンダリングするために使用できます。 Open GLは、コンピューター設計、科学的可視化、飛行シミュレーション、およびビデオゲームで広く使用されています。 OpenGlには円を直接描画するメソッドはありませんが、一連の線を使用して円を作成することは可能です。円を描くには、OpenGLの基本的な知識が必要です。
ステップ1
OpenGLビューポートで基本的なプログラムを作成します。このプロセスに慣れていない場合は、OpenGLページにチュートリアルがあります。
ステップ2
プログラムの先頭に次のコードを入力して、math.h.headerファイルをプログラムに追加します。#include コールバック関数を表示する前に次のコードを追加して、circleメソッドを開始します。 void drawCircle(GLint x、GLint y、GLint radius、int num_lines){} 変数「x」と「y」はウィンドウの円の中心を定義するために使用され、「半径」は円の半径を設定します。整数「num_lines」は、円を構成するために使用される線の数です。この数値が大きいほど、円がより滑らかに表示されます。 キー内に次の構成コードを追加します。 フロート角度GO int num_lines GO glColor3f(0.0、0.0、0.0)GO。 「角度」変数には、円を構成するために使用される線の角度が含まれます。 glColor3f()関数を呼び出すと、線の色が黒に設定されます。3つの0の系列は、0、1のスケールでの赤、緑、青の強度に対応します。 手順4のglColor3f()関数の下に次のコードを追加します。 glBegin(GL_LINE_LOOP)GO これは、OpenGLに後続の線が線の描画を伴うことを伝えます。具体的には、一連の接続線である「GL_LINE_LOOP」を描画します。 glBegin()を呼び出した後、forループに次のコードを入力します。 for(int i = 0; i <row_number; i ++){angle = i * 2 * M_PI / num_line; glVertex2f(x +(cos(角度) *半径)、y +(sin(角度) *半径)); } このループは3つのことを行います。最初に、 "num_lines"の値に従って反復します。ここで、num_linesは整数であり、各反復で線を描画し、直線num_linesで構成される円を生成します。次に、ラジアンで円の中心を基準にした線の角度を計算します。 「M_P」は、math.hで定義された定数で、piを表します。最後に、glVertex2f()を呼び出すと、線の終点の座標が計算されます。 ループ先の後に、次のコード行を入力します。 glEnd()GO これにより、OpenGLに線の描画が終了したことが通知されます。 シーンに円を描くには、drawCircle()メソッドからの呼び出しをプログラムのコールバック表示関数に追加します。これは、手順1で準備する必要があります。x、y、radius、num_linesの値を指定します。ここで、xとyは点を表しますシーンでは、radiusは円の半径、num_linesは円を構成する線の数です。ここでも、OpenGLとコールバックの表示に慣れていない場合は、OpenGLチュートリアルを参照してください。 プログラムをコンパイルして実行します。関数を正しく入力すると、エラーなしでコンパイルされます。 x、y、半径の値を指定した場合、白い背景に黒い円が表示されます。ステップ3
ステップ4
手順5
手順6
手順7
手順8
手順9