【直線-23】直線による構成2

シェアする

直方体の幅を画面中央を境に増減していきます。

参考:特選グラフィックスデザイン/著者:畠中兼司・北尾和信/1985年5月1日 初版発行/発行所:株式会社 学習研究社

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 0 0 720 720
%%HiResBoundingBox: 0 0 720 720
%%CropBox: 0 0 720 720
%%Title: 直線の幅の変化
%%Creator:Studio Fruit Jam / Toyokazu Nishi
%%Copyright:Studio Fruit Jam / Toyokazu Nishi
%%CreationDate:2015年12月26日 土曜日 午後9:40
%%ModificationDate:2018年8月9日 木曜日午前10:53:24
% 参考:特選グラフィックスデザイン

% ================ 座標変換 ================
0 dup translate
1 dup scale
% ================ 背景 =================
/DeviceRGB setcolorspace % カラースペース設定
1 0 0 setrgbcolor
0 0 720 720 rectfill
% ====================== 初期値
0 0 1 setrgbcolor
/gw 720 def % 横画面サイズ
/gw2 gw 2 div def % 横中央
/gh 720 def % 横画面サイズ
/gh2 gh 2 div def % 縦中央
/lw .3 def % 初期線幅(変更可)
/lh 8 def % 線の高さ(変更可)
/k .1 def % 線幅変化値(変更可)
/dk .003 def % 線幅変化率(変更可)
/ystep 5 def % 縦方向の線と線の間隔(変更可)
/xstep 10 def % 横方向の線と線の間隔(変更可)

% ================================================
%  メイン
% ================================================
newpath % パスの初期化

0 lh ystep add gh { % 縦の座標計算
  /y exch def
  0 xstep gw { % 横の座標計算
    /x exch def
    x y lw lh rectfill % 線(直方体)を描画
    % 横中央を境に線幅を増減する
    x gw2 gt { /lw lw k sub def }{ /lw lw k add def } ifelse
  } for
  /lw .3 def % 線幅をリセット
  % 縦中央を境に線幅を増減する
  y gh2 gt { /k k dk sub def }{ /k k dk add def }ifelse
} for
stroke

応用例

増減を逆にしたり、線幅を変えたりしています。