この講座では、銀河を含めた星雲の描き方をご説明します。
■ 銀 河
銀河は下図の5種類を描くことができます。今までの作画法と同じように、特定の記号・数値をステージに入力します。
No.1 銀河を表す特定記号等 ────────────────────────
銀河の基本作画法は下図のとおりです。
銀河の赤枠で囲まれた数値を変えるだけで、種類、大きさ、色を変えることができます。背景には第4講座で学んだノーマル宇宙背景を入れて下さい。入れないと黒べたになります。

では、モデルとして Galaxy1 を使って説明します。
①は銀河の種類です。赤枠内を Galaxy1 ~ Galaxy5 に指定すれば最上図のような銀河が描けます。 星雲名称は gakaxy1 でも、短縮された G1 又は g1 でもかまいません。 ただし、半角入力です。
②は銀河の大きさです。 上図は大きさを 2 に設定しています。この数値より大きければ拡大し、小さければ縮小します。
③は銀河の色です。 三つの数値は光の三原色を表し、左から 赤 ・ 緑 ・ 青 です。 上図は 赤 を 2 に設定し、他の色より高い数値ですので、赤色になっているわけです。 最上図の Galaxy3 のように、複数色を使用したい場合は、#declare galaxy_color1 = <○, ○, ○>; の次に #declare galaxy_color2 = <○, ○, ○>;というようにカラー番号を変え、強調したい色を大きくして下さい。
色を指定しない場合(③の記号を挿入しない)並びに三原色を同じ数値にした場合、銀河の色は白色になります。
④は後で説明しますので、このまま使って下さい。
⑤は星雲を描く記号ですので、必ず末尾に入れて下さい。
では、実際に描いてみましょう!
次の記号・数値をコピーして、入力ステージに貼り付け・作画してみて下さい。 最上図と同じ銀河が描けるはずです。 そして、上図の赤枠内の数値を適当に変え、ドンドン作画してみて下さい。
(1)Galaxy 1
#declare star_count = 10000;
#declare star_scale = 0.3;
#declare star_colour_turb = 1;
#include "GALAXY.SF"
#declare galaxy_object_name = "Galaxy1";
#declare galaxy_object_scale = 2;
#declare galaxy_color1 = <2, 1, 1>;
#declare galaxy_cluster_objects = 0;
#include "GALAXY.OBJ"
(2)Galaxy 2
#declare star_count = 10000;
#declare star_scale = 0.3;
#declare star_colour_turb = 1;
#include "GALAXY.SF"
#declare galaxy_object_name = "Galaxy2";
#declare galaxy_object_scale = 2;
#declare galaxy_color1 = <2, 1, 2>;
#declare galaxy_cluster_objects = 0;
#include "GALAXY.OBJ"
(3)Galaxy 3
#declare star_count = 10000;
#declare star_scale = 0.3;
#declare star_colour_turb = 1;
#include "GALAXY.SF"
#declare galaxy_object_name = "Galaxy3";
#declare galaxy_object_scale =2;
#declare galaxy_color1 = <0.5, 0.5, 1>;
#declare galaxy_color2 = <1, 0.5, 0.5>;
#declare galaxy_cluster_objects = 0;
#include "GALAXY.OBJ"
(4)Galaxy 4
#declare star_count = 10000;
#declare star_scale = 0.3;
#declare star_colour_turb = 1;
#include "GALAXY.SF"
#declare galaxy_object_name = "Galaxy4";
#declare galaxy_object_scale =2;
#declare galaxy_color1 = <1, 2, 3>;
#declare galaxy_color2 = <3, 1, 1>;
#declare galaxy_color3 = <1, 1, 2>;
#declare galaxy_cluster_objects = 0;
#include "GALAXY.OBJ"
(5)Galaxy 5
#declare star_count = 10000;
#declare star_scale = 0.3;
#declare star_colour_turb = 1;
#include "GALAXY.SF"
#declare galaxy_object_name = "Galaxy5";
#declare galaxy_object_scale =2;
#declare galaxy_color1 = <1, 1, 3>;
#declare galaxy_color2 = <1, 2, 3>;
#declare galaxy_cluster_objects = 0;
#include "GALAXY.OBJ"
No.2 回 転 ──────────────────────────────
では、出来上がりました銀河を回転させてみましょう。
次の記号は銀河を回転させる記号ですので、ベース記号に挿入して下さい。
#declare galaxy_object_rotate = ○○;
赤丸内に回転させたい角度を入れて下さい。 反時計回りに回転します。360度で元の位置に戻ります。
次の図は、90度回転を指定した画像と入力記号です。

次の記号・数値をコピーして、入力ステージに貼り付け、赤数字を変化させて下さい。
#declare star_count = 10000;
#declare star_scale = 0.3;
#declare star_colour_turb = 1;
#include "GALAXY.SF"
#declare galaxy_object_name = "Galaxy1";
#declare galaxy_object_scale =2;
#declare galaxy_color1 = <2, 1, 1>;
#declare galaxy_object_rotate = 90;
#declare galaxy_cluster_objects = 0;
#include "GALAXY.OBJ"
No.3 傾 斜 ──────────────────────────────
次は銀河を傾斜(奥行き)させてみましょう。
次の記号は銀河を傾斜させる記号ですので、ベース記号に挿入して下さい。
#declare galaxy_object_flatten = ○;
赤丸内には 0~1 までの数値を入れて下さい。 1に近づくにしたがって、傾斜が大きくなります。
次の図は、傾斜を0.7に指定した画像と入力記号です。

次の記号・数値をコピーして、入力ステージに貼り付け、赤数字を変化させて下さい。
#declare star_count = 10000;
#declare star_scale = 0.3;
#declare star_colour_turb = 1;
#include "GALAXY.SF"
#declare galaxy_object_name = "Galaxy1";
#declare galaxy_object_scale =2;
#declare galaxy_color1 = <2, 1, 1>;
#declare galaxy_object_flatten = 0.7;
#declare galaxy_cluster_objects = 0;
#include "GALAXY.OBJ"
No.4 移 動 ──────────────────────────────
次は銀河の移動です。 通常、銀河は画像の中央に表示されます。
次の移動記号をベース記号に挿入して、銀河を上下左右に移動させてみましょう。
#declare galaxy_object_position = <○,○>;
左の赤枠は上下の移動で、正の数値を入れれば上方向、負の数値を入れると下方向に移動します。
右の赤枠は左右の移動で、正の数値を入れれば右方向、負の数値を入れると左方向に移動します。
移動挿入数値は 0.1~ ですが、あまり大きくしすぎると銀河が画像からはみ出てしまいますので、銀河の大きさによって数値を変えてみて下さい。
次の図は、数値を10に指定した画像と入力記号です。

次の記号・数値をコピーして、入力ステージに貼り付け、赤数字を変化させて下さい。
#declare star_count = 10000;
#declare star_scale = 0.3;
#declare star_colour_turb = 1;
#include "GALAXY.SF"
#declare galaxy_object_name = "Galaxy1";
#declare galaxy_object_scale =2;
#declare galaxy_color1 = <2, 1, 1>;
#declare galaxy_object_position = <10,0>;
#declare galaxy_cluster_objects = 0;
#include "GALAXY.OBJ"
No.5 混 合 ──────────────────────────────
それでは、これまでの項目を混合して作画してみましょう。
モデルは Galaxy1 です。

#declare star_count = 10000;
#declare star_scale = 0.3;
#declare star_colour_turb = 1;
#include "GALAXY.SF"
#declare galaxy_object_name = "Galaxy1";
#declare galaxy_object_scale =2;
#declare galaxy_color1 = <2, 1, 1>;
#declare galaxy_object_rotate = 30;
#declare galaxy_object_flatten = 0.7;
#declare galaxy_object_position = <5,-3>;
#declare galaxy_cluster_objects = 0;
#include "GALAXY.OBJ"
■ 星 雲
銀河以外の星雲は下図の通り、6種類描くことができます。 種類は散光星雲がメインです。
大きさ等、変更項目は全て銀河と同じです。 6種類共、同じような形状ですので、判別しやすいように着色しないで表示します。






次に、上図 Nebula1 の入力記号を記しますので、記号・数値をコピーして、入力ステージに貼り付け、枠内の赤文字をいろいろと変化させて下さい。
(Nebula1)
#declare star_count = 10000;
#declare star_scale = 0.3;
#declare star_colour_turb = 1;
#include "GALAXY.SF"
#declare galaxy_object_name = "Nebula1";
#declare galaxy_object_scale =2;
#declare galaxy_color1 = <1, 1, 1>;
#declare galaxy_cluster_objects = 0;
#include "GALAXY.OBJ"