手書きPostscript その4

惑星とか月っぽいもの
重いので続きを読む記法
白黒惑星?Lambert則 白黒惑星? 白黒惑星?

%!PS
%%BoundingBox: 0 0 100 100
gsave
  0 setlinewidth
  % 観測者 x 方向
  % 惑星半径
  /Rp 50 def
  % 星の方向 (theta, phi)
  /theta 90 def
  0 3 359 {
    /phi exch def
    % 背景
    0 0 2 Rp mul 2 Rp mul rectfill
    Rp Rp translate
    % 惑星上の点 (rho, sigma)
    0 1 180 {
      /rho exch def
      -90 1 90 {
        /sigma exch def
        /cospsi rho cos theta cos mul  rho sin theta sin phi sigma sub cos mul m
ul add def
        /cosalpha rho sin sigma cos mul def
        % 散乱方向に対する Intensity
        cospsi 0 gt {
          /I cospsi 2 div def
          %/I cospsi cosalpha mul 3 mul 4 div def
          %/I cospsi cosalpha dup mul mul def
        } {
          /I 0 def
        } ifelse
        I setgray
        % 画面上での座標
        /y Rp rho sin sigma sin mul mul def
        /z Rp rho cos mul def
        y z 1 0 360 arc fill
      } for
    }for
    showpage
  }for
grestore