So-net無料ブログ作成
検索選択

シェーディングパターン(ラティス形式)について [PostScript]

PS BASIC


ラティス形式と呼ばれるシェーディング方法です。
擬似矩形の頂点を設定して三角メッシュを作っていきます。
矩形の横方向の並びを行と言います。
矩形は次のパラメータで、座標を行単位で設定していきます。
x座標 y座標 色値(0〜4個)
VerticesPerRowは行の頂点数を指定します。
行の頂点が2なら矩形が1個、3なら2個、5なら3個になります。

★が付いたパラメータは変更可能です。色々と変えてみてください。

(注)
/ColorSpace色空間により色値の個数が変わります。
/DeviceRGB 3個 /DeviceGray 1個 /DeviceCMYK 4個

【サンプルコード】
ex30.png %!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:ラティス形式のグローシェーディングによる三角メッシュ 0 0 240 240 rectstroke % 画面囲み 120 120 translate % 座標の原点を中央に移動 << % シェーディング辞書定義 /ShadingType 5 % ラティス形式のグローシェーディング /ColorSpace /DeviceRGB % ★色空間定義 /VerticesPerRow 2 % ★ラティスの行の頂点数(2以上) /DataSource [ % ★三角メッシュを定義する頂点座標と色値 -100 100 1 0 1 % 上の行の頂点 0 100 0 1 1 -100 0 1 1 0 % 下の行の頂点 0 0 1 0 1 ] >> shfill %グラデーションで塗りつぶす
ex30ex.png
ex31.png %!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:ラティス形式のグローシェーディングによる三角メッシュ 0 0 240 240 rectstroke % 画面囲み 120 120 translate % 座標の原点を中央に移動 /cyan { 0 1 1 } def % シアン /magenta { 1 0 1 } def % マゼンタ /yellow { 1 1 0 } def % イエロー << % シェーディング辞書定義 /ShadingType 5 % ラティス形式のグローシェーディング /ColorSpace /DeviceRGB % ★色空間定義 /VerticesPerRow 3 % ★ラティスの行の頂点数(2以上) /DataSource [ % ★三角メッシュを定義する頂点座標と色値 % 100の高さの頂点 -100 100 magenta 0 100 cyan 100 100 magenta % 0の高さの頂点 -100 0 yellow 0 0 cyan 100 0 yellow ] >> shfill %グラデーションで塗りつぶす
ex31ex.png
ex32.png ※変更部分のコードのみ掲載しています。 /VerticesPerRow 3 % ラティスの行の頂点数(2以上) /DataSource [ % 三角メッシュを定義する頂点座標と色値 % 100の高さの頂点 -100 100 magenta 0 100 cyan 100 100 magenta % 0の高さの頂点 -100 0 yellow 0 0 cyan 100 0 yellow % -100の高さの頂点 -100 -100 magenta 0 -100 cyan 100 -100 magenta ]
ex32ex.png
縦に任意数つなげることが可能です。 ex32-3.png
座標の順番を変えることで三角メッシュの方向も変わります。 ただし座標は一筆書きのように順番に設定します。 ex35.png ※変更部分のコードのみ掲載しています。 /VerticesPerRow 2 /DataSource [ 0 100 yellow -100 100 magenta 0 0 yellow -100 0 cyan -100 0 cyan 0 0 yellow -100 -100 magenta 0 -100 yellow 0 -100 yellow 100 -100 magenta 0 0 yellow 100 0 cyan 100 0 cyan 0 0 yellow 100 100 magenta 0 100 yellow ]
latis.png
真四角である必要はありません。 ex35ex.png


タグ:PostScript
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:アート

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました