第7講座 恒星

 
 
この講座では、シリウスのような恒星の描き方をご説明します。
恒星は下図の4種類を描くことができます。 違いが判別できるように色は付けていません。
 
 

 
 
 
 
 

拡大画像は、見やすいように星の大きさを 2 に設定しましたのでバランス的に大きく感じると思います。  
大きさの数値を 0.3 位のほうが現実的な大きさだと思います。 拡大画像
次に、上図 Star1 の入力記号を記しますので、記号・数値をコピーして、入力ステージに貼り付け、赤文字をいろいろと変化させて下さい。
 
(Star1)
 
#declare star_count = 10000;
#declare star_scale = 0.3;
#declare star_colour_turb = 1;
#include "GALAXY.SF"
 
#declare galaxy_object_name = "Star1";
#declare galaxy_object_scale =2;
#declare galaxy_color1 = <1, 1, 1>;
#declare galaxy_cluster_objects = 0;
#include "galaxy.OBJ"
 
 
No.1 恒星を複数配置 ────────────────────────

では、次に恒星を複数配置してみましょう。
次の図のように、恒星の個数分だけ記号を増やして作画してもよろしいのですが、この方法では手間がかかり過ぎます。
 
 

 

そこで、#declare galaxy_cluster_objects = ○○; という記号を使ってみましょう。 

No.2 複数配置記号 ────────────────────────────

複数配置記号である #declare galaxy_cluster_objects = ○○; を使えば、簡単に複数配置できます。赤丸に配置したい個数を入れて下さい。
次の図は、恒星の種類を Star1、大きさを 1 、配置数を 5 に指定したものです。全部で6個の星が描かれました。 中央の星が指定した大きさ 1 の基準星です。 そして、その周囲に基準星よりも小さい星が5個配置されました。 このように基準星を除く星の数が指定した配置数となります。
 
 

 
 

では、次の記号等をコピーして入力ステージに貼り付けてみて下さい。 上図と同じ画像が描けるはずです。そして、赤色箇所の数値を変えて作画してみて下さい。

 
 

#declare star_count = 10000;
#declare star_scale = 0.3;
#declare star_colour_turb = 1;
#include "GALAXY.SF"
 
#declare galaxy_object_name = "Star1";
#declare galaxy_object_scale = 1;
#declare galaxy_cluster_objects = 5;
#include "galaxy.OBJ"

 
 

では、もっとたくさんの恒星を配置してみましょう。 大きさを 0.3 星の数を 50 にしてみました。作画すると、次の図のように50個の恒星が中央に集結して不自然な画になってしまいます。

 
 
 

中央に集結した恒星を拡散させてみましょう。

No.3 拡散記号 ──────────────────────────────

拡散記号である #declare galaxy_cluster_spread = ○○; を使えば、簡単に拡散できます。赤丸に拡散したい数値を入れて下さい。
次の図は、上の図と同じ構成で、拡散記号を新たに付加し、数値を 60 にしてみました。

 
 
 
 

中央に集結していた恒星が四方に拡散しました。
では、次の記号等をコピーして入力ステージに貼り付けてみて下さい。 上図と同じ画像が描けるはずです。 そして、赤色箇所の数値を変えて作画してみて下さい。

 

#declare star_count = 10000;
#declare star_scale = 0.3;
#declare star_colour_turb = 1;
#include "GALAXY.SF"
 
#declare galaxy_object_name = "Star1";
#declare galaxy_object_scale = 0.3;
#declare galaxy_cluster_objects = 50;
#declare galaxy_cluster_spread = 60;
#include "galaxy.OBJ"
 
 
※しかし、この方法は Star1 しか使えません。 そこで、全種類の恒星を拡散するには次のようにします。
 

No.4 恒星(全種類)の拡散方法 ──────────────────────

①のように、#declare galaxy_object_name = ""; を冒頭に冠します。
次に、②のように、恒星指定記号内の object を cluster に変えます。
これで Star1~Star4 までの拡散が可能となります。
 

 

では、次の記号等をコピーして入力ステージに貼り付け、赤色箇所の数値を変えて作画してみて下さい。
 
#declare star_count = 10000;
#declare star_scale = 0.3;
#declare star_colour_turb = 1;
#include "GALAXY.SF"
 
#declare galaxy_object_name = "";
#declare galaxy_cluster_name = "Star2";
#declare galaxy_cluster_scale = 0.3;
#declare galaxy_cluster_objects = 50;
#declare galaxy_cluster_spread = 60;
#include "galaxy.OBJ"
 

 

No.5 着 色 ─────────────────────────────
 

 

次に、恒星の着色方法をご説明します。 お気付きと思いますが、着色指定をしなくても上図のように若干、淡く着色されています。 これよりも色を濃くしたい、若しくは全恒星を白色にしたいという場合に次のような着色記号を挿入します。
#declare galaxy_colour_turb = ○;
赤丸内に任意の数値を入れます。 数値を 0 に指定すると白色になります。
次の図は数値 0.4 に指定したものです。 背景内にも着色指定記号がありますが、 star と galaxy の違いがありますのでご注意下さい。
 

 
 

では、数値をもっと大きくしてみましょう。 数値を 2 にしてみました。
 
 

 
 

随分とカラフルになりました。 現実にはありえない恒星色ですが、イラスト素材としては利用できるでしょう。では、次の記号等をコピーして入力ステージに貼り付け、赤色箇所の数値を変えて作画してみて下さい。

 

#declare star_count = 10000;
#declare star_scale = 0.3;
#declare star_colour_turb = 1;
#include "GALAXY.SF"
 
#declare galaxy_object_name = "";
#declare galaxy_cluster_name = "Star1";
#declare galaxy_cluster_scale = 0.3;
#declare galaxy_cluster_objects = 50;
#declare galaxy_cluster_spread = 60;
#declare galaxy_colour_turb = 0.4;
#include "galaxy.OBJ"