月の画像
コンピューターグラフィック(CG)では、数学が使われる。古くは、OpenGL、最近では、Metalが、グラフィックチップに取り入れられており、それに合わせてプログラミングを、記述していく。3Dグラフィックは、全て三角形で、構成される。平面の定義には、三つの点か、始点が同じ二つのベクトルが必要である。多数の三角形で構成された立体をポリゴンという。ポリゴンに対して、移動、回転、スケール変更を行うには、個々の点に対して、行列をかける。その行列のセットは、プログラミング言語側で用意されている。あちらこちらに行列という数学がが使われている。(残念ながら、最近は、行列が、大学受験項目からはずされたらしい。)
3Dには、光源と視点と物体が、必須で、その光源に対して、ある平面が、どの方向に光を反射するか定義する必要がある。
ある平面に対して垂直なベクトルを計算するには、平面を定義する二つのベクトルの外積を計算する。Blenderで言うところのNormal(法線)である。Blenderでは、平面自身より細かな、法線を表現したい場合は、法線マップを作り、適応する。マップは以下の如く。

Diffuse map(実際の色・模様、Texture)
各頂点より細かくの色の指定ができる。

Normal map(ポリゴン上の点の法線)
各頂点より細かく法線ベクトルの方向を色で指定できる。

Specular map(光の反射)
白い程、反射する。

Emission map(発光)
光の当たらない時、白い程光る。
このまま、球のマテリアル貼り付ける。*注 括弧内は、個人的なイメージで、正確な定義ではありません。
ちなみにSCNNodeで月を形成するには、以上が必要。

球のマテリアルにはりつけた結果
XcodeでSCN editorで合成したもの
もちろんBlenderで合成してもいい