So-net無料ブログ作成

春を探しに公園へ [Photo]

港区立芝公園へお散歩。

_DSC3208.jpg

_DSC3214.jpg

マンサクの花

_DSC3195.jpg

_DSC3211.jpg

_DSC3199.jpg

_DSC3218.jpg
タグ: 公園

PostScriptに関する書籍 [PostScript]

参考書籍

_DSC3163.jpg

◎PostScript
リファレンスマニュアル第3販


2001年7月1日 初版発行
著者:Adobe Systems
発行所:株式会社アスキー

深く学びたいなら必須のレッドブック。ただし774ページと分厚い書籍ながらサンプルコードはいたって少ない。 本書のPDF版が付属しているので、閲覧に便利。



_DSC3165.jpg

◎PostScript
チュートリアル&クックブック


1989年6月1日 初版発行
著者:Adobe Systems
発行所:株式会社アスキー

通称ブルーブック。PostScript言語の基本から簡単なコード、オペレータ概要など。 PostScriptレベル2までの内容。



_DSC3166.jpg

◎PostScript
プログラム・デザイン


1990年10月11日 初版発行
著者:Adobe Systems
発行所:株式会社アスキー

通称グリーンブック。ソフトウエア開発者向き。一般ユーザには必要ないと思う。



_DSC3162.jpg

◎ポストスクリプト入門

1988年12月15日 初版発行
著者:デビッド・A・ホルツガング
発行所:パーソナルメディア株式会社

PostScriptを体系的に学びたい方向け入門書



_DSC3168.jpg

◎PostScript詳細解説

1997年12月20日 初版発行
著者:CQ出版社
発行所:CQ出版株式会社

この書籍はAMAZONで中古で手に入れた。 PostScriptの特徴・仕様、簡単なプログラミング例やフォントの構造などを解説。



_DSC3167.jpg

◎PostScriptグラフィックス

1993年10月29日 初版発行
著者:安居院 猛/永江 孝規
発行所:株式会社新紀元社

私はこの書籍で挫折しました。当時まだ何も良く分かっていなかったからでもありますが、スタックはデータの動きを頭の中で追わなくてはいけないので、訳が分からなくなってしまったのだと思います。


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

パソコングラフィックス関する書籍 [PostScript]

参考書籍

_DSC3170.jpg

X1ターボ/X1シリーズ・プログラム200選
◎特選グラフィックスデザイン

1985年5月1日 初版発行
著者:畠中兼司・北尾和信
発行所:株式会社 学習研究社

BASIC言語を使用した線によるジオメトリック・グラフィックス。 Rhythm & Refrain、Division & Rotation、Secret Lines & Patterns、Curves & Waves、Perspective & Expansionというカテゴリーで200パターン掲載されている。



_DSC3179.jpg

BASICで簡単にできる
◎パソコン図形処理テクニック

1984年12月14日 発行
著者:赤松義幸
発行所:株式会社誠文堂新光社

BASIC言語を使用した線によるジオメトリック・グラフィックス。中間写像、三角形変換、扇形変換、ドーナツ型変換、模様の作り方など解説。



_DSC3178.jpg

BASICによる
◎図形処理テキスト

1986年2月1日 初版発行
著者:竹村伸一・国兼勇三
発行所:株式会社パン・リサーチ

BASIC言語を使用した2D/3D・グラフィックス。
本文とコードが色分けしてあって見やすい。2次元関数曲線を多数掲載。



_DSC3177.jpg

◎コンピュータ・
 グラフィックス


1984年10月15日 初版発行
著者:佐口七朗・三井秀樹
発行所:株式会社ダビッド社

多数の図版が掲載されている。 図版が粗いのは仕方がない。他の書籍もそうだが、この頃は画面をカメラで撮影するかプリントアウトしたものを図版にするしかなかったようだ。


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

幾何学・かたちに関する書籍 [PostScript]

参考書籍

_DSC3181.jpg

神戸芸術工科大学レクチャーシリーズ
◎ジオメトリック・アート

2006年5月30日
著者:カスパー・シュワーベ+石黒敦彦
発行所:工作舎

めくるめく幾何学の宇宙が多数の写真・図版で展開。



_DSC3182.jpg

◎美しい曲線の幾何学模様
花と葉とつる草の芸術

2014年11月20日 第1版第1冊発行
著者:リサ・デロング
発行所:株式会社 創元社




_DSC3183.jpg

◎ハーモノグラフ
和音が織りなす美しい図像

2013年6月20日 第1版第1冊発行
著者:アンソニー・アシュトン
発行所:株式会社 創元社

ハーモノグラフが作り出す図形、面の揺れが描くクラドニ図形、揺れる棒が作り出す模様など図形と音楽の関係を考察。



_DSC3180.jpg

◎多角形百科

2015年6月30日 発行
編者:細矢治夫・宮崎興二
発行所:丸善出版株式会社

自然界、ゲーム、数学入試問題、身の回りなどに見られる多角形の世界を解説した事典。



_DSC3185.jpg

◎かたちのパノラマ
〈京大人気講義シリーズ〉

2003年3月30日 発行
著作者:宮崎興二
発行所:丸善株式会社

我々の身の回りのもの全てに「かたち」がある。目には見えない微細なものにもかたちがある。多角形、多面体、曲線、曲面などとその配置を種類や性質、表現等を解説。


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

PostScriptリンク [PostScript]

資料は古くても、PostScript自体は変わっていませんので
内容が古くて使えないとかの問題はありません。

※リンク先の内容に関して、あらゆる保証をするものではありません。 ※リンク先のアドレス変更によるリンク切れが起きる場合があります。あらかじめご了承ください。


◎PostScriptの概要
PostScript - Wikipedia

◎AdobeによるPostScript 3の紹介
Adobe Printing Technologies -About PostScript 3

◎AdobeによるPostScript資料集です。【英語・PDF】
Adobe Developer Connection [ADC]/PostScript SDK

◎AdobeのPostScript 3リファレンスマニュアル【英語・PDF】 最初のマニュアル表紙が赤だったので、通称赤本と言われる
PostScript Language Reference, third edition

◎大黒学さんによる無料のチュートリアルです。  他にもたくさんのチュートリアルがあります。http://tutorial.jp/index.html
PostScript実習マニュアル

◎Andr ́e Heckさんによるアムステルダム大学のコースノート【英語・PDF】
Learning PostScript by Doing他

◎幾何学とPostScriptのマニュアル【英語・PDF】
Mathematical Illustrations: A Manual of Geometry and PostScript

◎多数のExampleコードがあるPostScript入門書【英語・PDF】
Thinking in PostScrıpt


◎幾何学模様大図鑑の制作を目指されています
幾何学模様のブログ みずすましの図工ノート

◎ストレンジアトラクタ
数理アート作品集

◎数理から生成されるグラフィックス
数理科学美術館(日本高速通信内)

◎幾何学をテーマにしたおもちゃ
Geometric Toy

◎科学を楽しく、面白くするアイテムが多数紹介されている
正多面体クラブ

◎ポーランド語記法/逆ポーランド記法変換サイト
Infix / Postfix converter
タグ:PostScript
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:アート

放射状の線を描く [PostScript]

直線を描く PART2


40-01放射状.png
PostScriptで放射状の線を描いてみましょう
最初に原点からy軸正方向に直線を引きます。
rotateで座標を回転させて次々と直線を引いていきます。
360-kにするのは最後に線が重ならないようにするため。
角度kの値を色々変えてみよう。

【サンプルコード】
%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:放射状の線を描く /k 10 def % 角度 120 120 translate % 座標の原点を中央に移動 newpath % パスの初期化 0 k 360 k sub { % 0からkづつ増やし360-kになるまで{ }内を繰り返す pop % 制御変数を削除 0 0 moveto 0 100 rlineto stroke %原点からy軸正方向に直線を引く k rotate % 座標をk度回転する } for

40-02放射状.png
modとif文を使って、交互に色を変えます。
制御変数を2で割った余りが0の場合にcol1(赤)、それ以外はcol2(黒)にします。

【サンプルコード】
%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:交互に水平線を描く /col1 { 1 0 0 setrgbcolor } def % 赤 /col2 { 0 0 0 setrgbcolor } def % 黒 /k 10 def % 角度 120 120 translate % 座標の原点を中央に移動 newpath % パスの初期化 0 k 360 k sub { % 0からkづつ増やし360-kになるまで{ }内を繰り返す % スタックに入った制御変数を取り出して計算します。 4 mod 2 eq { col1 } { col2 } ifelse % 0なら赤、さもなくば黒 0 0 moveto 0 100 rlineto stroke % 原点からy軸100ポイントに線を引く k rotate % 座標をk度回転する } for stroke % 線を描画する } for


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

短い線を繋げて円を描こう [PostScript]

円弧を描く PART2


直線で円を描く.png
短い直線を繋げて円を描きます。
n=100 くらいで線がスムースに見えます。
円の方程式 x=cos(th)*r、y=sin(th)*rに繰り返しでthに角度を入れることで円が描けます。

【サンプルコード】
%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:短い線を繋げて円を描く /r 100 def % 円の半径 /sw 0 def % movetoを1回だけ使用するスイッチ /n 100 def % N角形を設定(100程度でスムースに見える) /step 360 n div def % ステップ数(角度)step=360/n 120 120 translate % 座標の原点を中央に移動 newpath % パスの初期化 % 0から360-stepまでstepづつ増分しながら { } 内を繰り返す % 360-stepしているのは最後にclosepathで繋げたいから 0 step 360 step sub { /th exch def % 制御変数をth(角度)に入れる /x th cos r mul def % 円の方程式 x=cos(th)*r /y th sin r mul def % 円の方程式 y=sin(th)*r % swが0なら始点を置きswを1にする。さもなくば、終点にラインを引く sw 0 eq { x y moveto /sw 1 def} { x y lineto } ifelse } for closepath % 線を繋げる 1 0 0 setrgbcolor % 赤色 5 setlinewidth % 線幅5ポイント stroke % 描画する

直線で楕円を描く.png
楕円を描きます。
x軸とy軸の半径を変えることで楕円となります。

【サンプルコード】
%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:短い線を繋げて楕円を描く /rx 100 def % 楕円のx軸半径 /ry 50 def % 楕円のy軸半径 /sw 0 def % movetoを1回だけ使用するスイッチ /n 100 def % N角形を設定(100程度でスムースに見える) /step 360 n div def % ステップ数(角度)step=360/n 120 120 translate % 座標の原点を中央に移動 newpath % パスの初期化 % 0から360-stepまでstepづつ増分しながら { } 内を繰り返す % 360-stepしているのは最後にclosepathで繋げたいから 0 step 360 step sub /th exch def % 制御変数をth(角度)に入れる /x th cos rx mul def % 円の方程式 x=cos(th)*rx /y th sin ry mul def % 円の方程式 y=sin(th)*ry % swが0なら始点を置きswを1にする。さもなくば、終点にラインを引く sw 0 eq { x y moveto /sw 1 def} { x y lineto } ifelse } for closepath % 線を繋げる 1 0 0 setrgbcolor % 赤色 5 setlinewidth % 線幅5ポイント stroke % 描画する

多角形を描く.png
nの値を変えると多角形が描けます。図はn=8で8角形になります。
nの値を色々変えてみてください。
(コードは省略)

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

円内・円外に線を描いてみよう [PostScript]

直線を描く PART2


円内にあるか判別.png
円の方程式(x^2+y^2=r^2)を使い、線が円内に入っているかどうかを判別します。
円内に入っていればdrawlineを呼び出して線を引きます。

【サンプルコード】
%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:円内に線を描く /r 90 def % 円の半径 /sw 0 def % movetoを1回だけ使用するスイッチ /drawline { % ラインを描くプロシージャ sw 0 eq { x y moveto /sw 1 def } { x y lineto } ifelse } def 120 120 translate % 座標の原点を中央に移動 newpath % パスの初期化 % -100から3づつ増分しながら100まで{ }内を繰り返す -100 3 100 { /x exch def %制御変数をx座標に入れる % -100から1づつ増分しながら100まで{ }内を繰り返す -100 1 100 { /y exch def %制御変数をy座標に入れる % x^2+y^2がr^2より小さいか同じならdrawlineを呼び出す x 2 exp y 2 exp add r 2 exp le {drawline} if } for /sw 0 def % これがないと線が繋がるのでリセットが必要 } for stroke % 描画する

円外にあるか判別2.png
次は逆に円外に線を描いてみます。
ifelse文に/sw 0 defがないと円内でも線が繋がってしまいます。

【サンプルコード】
%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:円外に線を描く /r 90 def % 円の半径 /sw 0 def % movetoを1回だけ使用するスイッチ /drawline { % ラインを描くプロシージャ sw 0 eq { x y moveto /sw 1 def } { x y lineto } ifelse } def 120 120 translate % 座標の原点を中央に移動 newpath % パスの初期化 % -100から3づつ増分しながら100まで{ }内を繰り返す -100 3 100 { /x exch def %制御変数をx座標に入れる % -100から1づつ増分しながら100まで{ }内を繰り返す -100 1 100 { /y exch def % 制御変数をy座標に入れる % x^2+y^2がr^2より大きいか同じならdrawlineを呼び出す x 2 exp y 2 exp add r 2 exp ge {drawline} {/sw 0 def} ifelse } for /sw 0 def % これがないと線が繋がるのでリセットが必要 } for stroke % 描画する

円内にあるか判別c.png
次は別のオペレータを使って、円内に線がある図形を描きます。
clipを使い円で水平線をマスクします。
マスクする図形をマスクされる図形の前に記述します。

【サンプルコード】
%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:線をクリップする /r 90 def % 円の半径 /sw 0 def % movetoを1回だけ使用するスイッチ /drawline { % ラインを描くプロシージャ sw 0 eq { x y moveto /sw 1 def } { x y lineto } ifelse } def 120 120 translate % 座標の原点を中央に移動 newpath % パスの初期化 0 0 r 0 360 arc clip % 半径rの円で図形をクリップする newpath % パスの初期化 % -100から3づつ増分しながら100まで{ }内を繰り返す -100 3 100 { /y exch def %制御変数をy座標に入れる % -100から1づつ増分しながら100まで{ }内を繰り返す -100 1 100 { /x exch def % 制御変数をx座標に入れる drawline % drawlineを呼び出す } for /sw 0 def % これがないと線が繋がるのでリセットが必要 } for stroke % 描画する

【オペレータの説明】
基数 指数 exp基数の乗数を返す 例)3 3 exp →3^3=27
clipクリップ領域を設定する newpath で初期化が必要です。

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

SINカーブを描こう [PostScript]

曲線を描く


サイン波.png
PostScriptでSINカーブを描きます。
短い直線を繋げて曲線とします。th(角度)を細くするとスムースな曲線になります。
SINカーブの数式をPostScriptで書くと下記になります。
x=a*th → /x a th mul def
y=b*sin(th) → /y b th sin mul def
a:波の長さ、b:波の高さ、th:角度の値を色々変えてみましょう。

【サンプルコード】
%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:SINカーブを描く /a .3 def % 波の長さ /b 80 def % 波の高さ /sw 0 def % 始点を置くためのスイッチ 120 120 translate % 座標の原点を中央に移動 newpath % パスの初期化 -360 1 360 { % -360から360まで角度 を1づつ増やして{ }内を繰り返す /th exch def % 制御変数をth(角度)に入れる /x a th mul def % a×th 波の長さを変化させる /y b th sin mul def % b×sin(th) 波の高さを変化させる % swが0の時始点をさもなくば 線を引く sw 0 eq { x y moveto /sw 1 def }{ x y lineto } ifelse } for stroke % 線を描画する

サイン波2.png
for文を追加して、波の高さを変化させて見ましょう。
制御変数を波の高さbに入れていきます。

【サンプルコード】
%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:SINカーブを描く /a .3 def % 波の長さ /sw 0 def % 始点を置くためのスイッチ 120 120 translate % 座標の原点を中央に移動 newpath % パスの初期化 20 10 100 { % 20から100まで波の高さを10づつ増やして{ }内を繰り返す /b exch def % 制御変数を波の高さbに入れる -360 1 360 { % -360から360まで1づつ増やして{ }内を繰り返す /th exch def % 制御変数をth(角度)に入れる /x a th mul def % a×th 波の長さを変化させる /y b th sin mul def % b×sin(th) 波の高さを変化させる % swが0の時始点をさもなくば 線を引く sw 0 eq { x y moveto /sw 1 def }{ x y lineto } ifelse } for /sw 0 def % swをリセットする } for stroke % 線を描画する


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