|
2.10.2 2Dグラフィックスの要素

2Dグラフィックスの基本要素
線のプリミティブをオブジェクト化しておく.
In[1]:= sawline = Line[Table[{n, (-1)^n}, {n, 6}]]
Out[1]= 
2Dグラフィックスとしてオブジェクトを描画させる.
In[2]:= sawgraph = Show[ Graphics[sawline] ]

Out[2]= 
座標軸を加える.
In[3]:= Show[ %, Axes -> True ]

Out[3]= 
関数Plot等によって生成したグラフィックスプリミティブから構成されたグラフィックスオブジェクトは,1つのグラフィックスにまとめることができる.
プロット関数でグラフを作る.
In[4]:= Plot[Sin[Pi x], {x, 0, 6}]

Out[4]= 
前に作った折れ線のオブジェクトと合成させる.
In[5]:= Show[%, sawgraph]

Out[5]= 
複数のグラフィックス要素を合成したいときは,要素をリスト形式で入力すればよい.2Dグラ フィックスでは,入力した順序で要素が描画される.後で入力したものは先に入力したものの上に重ねて描かれるので注意する.
長方形要素を2つリストにして入力する.
In[6]:= {Rectangle[{1, -1}, {2, -0.6}], Rectangle[{4, .3}, {5, .8}]}
Out[6]= 
折れ線を先に入力し,その後に長方形を入力する.表示させると,長方形は折れ線にかぶさるように描かれる.
In[7]:= Show[ Graphics[ {sawline, %} ]]

Out[7]= 
多角形のプリミティブ Polygonを2D座標点のリストで入力する.各座標点が多角形の頂点を表し,最初と最後の座標点が結ばれ多角形が完結する.多角形の領域は塗りつぶされる.
正5角形の頂点の座標を計算しておく.
In[8]:= pentagon = Table[{Sin[2 Pi n/5], Cos[2 Pi n/5]}, {n, 5}]
Out[8]= 
5角形を描画する.標準縦横比を使っているので,ややつぶれてみえる.
In[9]:= Show[ Graphics[ Polygon[pentagon] ] ]

Out[9]= 
正5角形になるように縦横比を自動調整にする.
In[10]:= Show[%, AspectRatio -> Automatic]

Out[10]= 
Mathematicaは折り重なった多角形でも扱える.
In[11]:= Show[Graphics[ Polygon[ {{-1, -1}, {1, 1}, {1, -1}, {-1, 1}} ] ]]

Out[11]= 

円と円盤
半径2の円を2つ描く. AspectRatio -> Automaticと指定しておき円がつぶれて表示されないようにしておく.
In[12]:= Show[ Graphics[ {Circle[{0, 0}, 2], Circle[{1, 1}, 2]} ], AspectRatio -> Automatic ]

Out[12]= 
x座標軸の正方向に行くに従い 軸方向に増やし, 軸方向に縮小する.
In[13]:= Show[ Graphics[ Table[Disk[{3n, 0}, {n/4, 2-n/4}], {n, 4}] ], AspectRatio -> Automatic ]

Out[13]= 
円や楕円の弧も描画できる.どちらの形の弧でも,始点と終点を指定する2つの角度が必要である.角度は反時計回りに計ったもので,ラジアンで指定する.角度ゼロは 座標軸上の正方向をさす.
原点を中心とする のクサビ形を描く.
In[14]:= Show[ Graphics[ Disk[{0, 0}, 1, {0, 140 Degree}] ], AspectRatio -> Automatic ]

Out[14]= 

ラスター関数を使ったしま模様要素の生成
0から 1の値を持った 要素の配列を作っておく.
In[15]:= modtab = Table[Mod[i, j]/3, {i, 4}, {j, 4}] // N
Out[15]= 
配列の各要素を明暗度とした方形のしま模様を描く.
In[16]:= Show[ Graphics[ Raster[%] ] ]

Out[16]= 
同じしま模様を入れ子状に表示する.
In[17]:= Show[ Graphics[ {Raster[modtab, {{0, 0}, {2, 2}}], Raster[modtab, {{1.5, 1.5}, {3, 2}}]} ] ]

Out[17]= 
しま模様の要素を生成するラスター関数 Rasterで,方形セルは通常,濃淡灰色で塗りつぶされる. 2.10.7で説明するが, ColorFunctionを使い色付け関数を指定し,各セルを違った色で塗ることも可能である.
また, RasterArrayのプリミティブを使っても同じことができる. Rasterでは,数値の配列を引数として入力したが, RasterArrayではグラフィックス指示子の配列を入力する.各セルに関連付けられた指示子でそのセルを塗る色が決定することになっている.実際の描画条件としては,通常, GrayLevel, RGBColor, Hueのどれかを使う. RasterArrayで RGBColorと Hueの条件を指定することで,しま模様を色付きにできる.
|