So-net無料ブログ作成

佐倉花火フェスタ2017 [Photo]

2017年8月6日


佐倉ふるさと広場で開かれる花火大会に行って来ました。
京成佐倉駅から歩いて40分、汗だくになりました。
場所を構えて、撮影の準備をして待ちます。
花火の撮影は初めてなのですが、リモートレリーズでうまくシャッターが切れずに、仕方なく通常のシャッターボタンを押して対処しました。

野村花火工業のものは、色使いや変化などが綺麗で見応えがありました。

公式サイト:佐倉花火フェスタ2017 野村花火工業

hanabi20170806-02.jpg


hanabi20170806-00.jpg

hanabi20170806-01.jpg

hanabi20170806-03.jpg

hanabi20170806-04.jpg

hanabi20170806-05.jpg

hanabi20170806-07.jpg

nice!(1)  コメント(0) 
共通テーマ:アート

球面変換 [PostScript]

変換


球面変換03.jpg
図形を球面に投影したような変換をします。
参考書籍をもとに変換式をPostScriptコードにしました。

変換式は
L:円の半径
z=sqr(x^2+y^2)

z1=L*sin(2*atan(z/L))
x1=x*z1/z
y1=y*z1/z
円の方程式 x^2+y^2を使い、円の内側か外側かを判断し、円外ならそのまま描画し、円内なら球面変換します。

参考書籍:続パソコン・グラフィック・アート 竹村 伸一 著
参考書籍:数式によるパソコン・グラフィックスのテクニック 依田 谹 著

球面変換.png
球面変換01.png

【サンプルコード】
%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:球面変換 /L 80 def % 変換する円の大きさ 2 setlinecap % 線の先端スクエア /sw 0 def % 始点スイッチ /kyumen { % 球面変換プロシージャ x 2 exp y 2 exp add L 2 exp gt { % 円の外側は変換しない /x1 x def /y1 y def } { /z x 2 exp y 2 exp add sqrt def % 領域内を変換する。円の中心との距離 z 0 eq { /x1 x def /y1 y def } { % 分母は0にできないので変換しない /z1 L 2 z L atan mul sin mul def % 以下球面変換式 /x1 x z1 mul z div def /y1 y z1 mul z div def } ifelse } ifelse sw 0 eq { x1 y1 moveto /sw 1 def } % swが0なら始点へ移動 { x1 y1 lineto } ifelse % 始点と終点の間にパスを引く } def 0 setgray 0 0 240 240 rectstroke % 黒枠 120 120 translate % 座標の原点を中央に移動 newpath % 水平線 -100 5 100 { /y exch def -100 1 100 { /x exch def kyumen % 球面変換プロシージャ呼び出し } for /sw 0 def % 始点スイッチのリセット } for % 垂直線 -100 5 100 { /x exch def -100 1 100 { /y exch def kyumen } for /sw 0 def } for stroke % 線を描画

ヴィクトル・バザルリの絵画のような図形。

球面変換02.png
【サンプルコード】
%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:球面変換 /L 100 def % 変換する円の大きさ /sw 0 def % 始点スイッチ /kyumen { % 球面変換プロシージャ x 2 exp y 2 exp add L L mul gt { % 円の外は変換しない /x1 x def /y1 y def } { /z x 2 exp y 2 exp add sqrt def % 領域内を変換する 円の中心との距離 z 0 eq { /x1 x def /y1 y def } { % 0では割れないので変換しない /z1 L 2 z L atan mul sin mul def /x1 x z1 mul z div def /y1 y z1 mul z div def } ifelse } ifelse sw 0 eq { x1 y1 moveto /sw 1 def } % 始点へ移動 { x1 y1 lineto } ifelse % 始点と終点の間にパスを引く } def % ===== 円 ===== /r 5 def % 円の半径 % dx dy 円の移動量 /en { 0 1 360 { /th exch def /x r th cos mul dx add def /y r th sin mul dy add def kyumen % 球面変換呼び出し } for } def 0 .5 1 setrgbcolor 0 0 240 240 rectfill % 黒枠 120 120 translate % 座標の原点を中央に移動 -120 12 120 { /dy exch def -120 12 120 { /dx exch def en % 円呼び出し /sw 0 def % 始点リセット } for /sw 0 def } for 1 .5 0 setrgbcolor fill

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

目次 [PostScript]

PostScript手書き講座です。簡単な図形から始めて徐々に複雑な図形を制作していきます。
最初から順を追って、読んで実践することをお勧めします。

ブログを始めてやっと100記事を超えました。いろいろ写真を撮りに出かけたこともあって、記事ストックがなくなってきました。
これからは不定期に発信していこうかと思います。フラクタルや3Dについて現在勉強中ですので、出来次第発信したいと思います。
PostScriptという印刷ではメジャーで、プログラムでは超マイナーな言語に少しでも関心を寄せていただいている方がいらっしゃりますので、細く長く続けていきたいと思います。
ブログは初めてなので色々と不手際や間違いがありますが、今後ともよろしくお願いします。

2017年8月7日:ヴィクトル・バザルリの絵画のように変換する球面変換についてアップしました。

title.png
〔 〕内はオペレータ


PostScriptを始めよう



直線を描く



円を描く



直線を描く PART2



三角形・多角形を描く



点を打つ



円を描く PART2



パターンを描いてみよう



曲線を描いてみよう



具象的な曲線を描いてみよう



家紋を描いてみよう



PostScript BASIC



変換



PostScriptギャラリー



参考





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