&size(24){''\Takakkei''};
 多角形を描画します。
#contents
#br

*定義されているスタイルファイル [#nfc48d22]
emathPh.sty

*書式 [#h5cd66f7]
\Takakkei<#1>#2
 \Takakkei<#1>#2
-#1: key=val 形式をコンマ区切りで並べます。
-#2: 点列
 #2 に与えられた点列を頂点とする多角形を描画します。
#1 における有効な key は
:[[boutyou>#boutyou]]| 多角形を膨張(縮小)させます。
:[[sensyu>#sensyu]]| 線種を変更します。
:[[idou>#idou]]| 平行移動します。
:[[iro>#iro]]| 辺に色をつけます。
:[[linethickness>#linethickness]]| 線分の太さを変更します。
:[[iro>#iro]]| 辺に色をつけます。
:[[oval>#z1bc159a]]| 頂点のコーナーを丸くします。


以下,emathPs.sty で定義されている
pszahyou(*)環境特有のオプションです。
以下,emathPs.sty で定義されている pszahyou(*)環境特有のオプションです。
:[[dash>#n13678b7]]| pszahyou(*)環境における線種を変更します。
:[[hasenLG>#hasenLG]]| pszahyou(*)環境における線種を変更します。
:[[linejoin>#x407a9bc]]| コーナー補正

:[[nuriiro>#nuriiro]]| 内部を塗りつぶす色を指定します。
:[[setxyrange>#setxyrange]]| 多角形を内包する zahyou環境 x, y の範囲を .aux ファイルに書き出し,~
pszahyou環境の [getxyrange] オプションでそれを取得します。
:[[vmark>#vmark]]| 頂点に配置する記号を指定します。
*例 [#jef12eca]
**基本例 [#c0b6c422]
 点列を結ぶ多角形を描画します。
#ref(Takakkei01.png)
---\Drawline{\A\B\C}は,折れ線 ABC を描画するだけですが~
\Takakkei{\A\B\C}は,始点(\A)と終点(\C)を結ぶ線分を付加して閉多角形を描画します。
---\Drawline{\A\B\C\A}とすれば,多角形が描画されはしますが,~
\Takakkei{\A\B\C}とは,頂点Aのところが異なります。
#ref(Takakkei00.png)
**線種変更 <sensyu=..>  [#udf54ba1]
**線種変更 <sensyu=..>  [#sensyu]
 線種を変更するには,<sensyu=..> オプションを使用します。
#ref(sensyu01.png)
**線幅変更 <linethickness=..>  [#s6a45f2b]
**線幅変更 <linethickness=..>  [#linethickness]
 辺の太さを変更します。
#ref(linethickness01.png)
 頂点におけるつながり具合が問題ですね。楔型の欠けができます。
 pszahyou環境で PostScript を用いると,綺麗になります。
#ref(linethickness02.png)
**多角形の平行移動 <idou=..> [#idou]
 多角形を平行移動させるオプションが
   idou=..
 です。
-薄く描画された△ABC を~
  右に 5pt, 上に 2pt~
平行移動させた三角形を描画させる例です。
#ref(idou01.png)
**多角形の拡大・縮小 <boutyou=..> [#boutyou]
 多角形を辺に垂直方向に膨張させるオプションが
   boutyou=...
 です。
#ref(boutyou01.png)
-ただし,perl との連携機能を必要としますから,emathPl.sty を読み込んでおかねばなりません。
-右辺値に負の寸法を指定すれば,縮小します。
**カラー  <iro=..>  [#iro]
 辺に色をつけます。
#ref(iro01.png)
**丸コーナー<oval=..>  [#z1bc159a]
 頂点の角を丸くします。
 頂点の角を円弧にしますが,その半径を oval=.. の右辺値に指定します。
 右辺値は単位を伴う長さですが,無名数の場合は \unitlength が単位であるとみなされます。
#ref(oval01.png)
**--- 以下,pszahyou環境特有の話題です。--- [#s7949c2f]
**複数の多角形 [#Takakkeis]
 <#1>が共通である複数の多角形を描画するには,\Takakkeis でひとまとめにすることができます。
#ref(Takakkeis01.png)
**多角形の面積 [#MensekiP]
 面積(近似値)を取得するコマンドが \MensekiP です。
 ただし,perl との連携機能を必要としますから,emathPl.sty を読み込んでおかねばなりません。
#ref(MensekiP01.png)
*--- 以下,pszahyou環境特有の話題です。--- [#s7949c2f]
**線種変更(pszahyou(*)環境) <dash=..> [#n13678b7]
 辺を破線で描画するには,<dash=..> オプションを用います。
 右辺には,
   描画部分の長さ,描画しない部分の長さ
 の繰り返しとなる偶数個の数値(無名数)を与えます。
 の繰り返しとなる偶数個の長さを与えます。
#ref(dash01.png)
---dash=.. の右辺値は,[[\setdash>setdash]] の引数と同じです。
**線種変更(<hasenLG=..> [#hasenLG]
 <dash=..> による破線描画では,頂点がぼけてしまうことがあります。
 <hasenLG=..> を用いると,描画線素が頂点で始まり,頂点で終わります。
#ref(hasenLG01.png)
**内部塗りつぶし <nuriiro=..> [#nuriiro]
 多角形の内部を塗りつぶすには,
   <nuriiro=..>
 オプションを用います。ただし,pszahyou(*)環境を前提とします。
#ref(nuriiro01.png)
**接続修正(pszahyou(*)環境) <linejoin=..> [#x407a9bc]
 頂点における接続状態は
 線分を重ねただけではV字型のクサビが出来てしまいます。
 PostScript には,これを修正する方法が3通り用意されています。
 それを切り替えるオプションが <linejoin=..> です。右辺値は
   0 : マイター接続(デフォルト)
   1 : ラウンド接続
   2 : ベベル接続
 のいずれかです。

 まずは,zahyou環境の状態からみていきます。
 \Takakkei は,多角形を描画するとはいえ,
 個々の辺を重ねて配置するだけです。
 線分が太くなると,V字型の切り欠きが目立ってきます。

なお,この項は図を拡大したくなりますので
&ref(linejoin00.pdf,,PDFファイル);を用意しました。
#ref(linejoin01.png)
 pszahyou環境でも,個々の線分を描画したものを連ねた場合は,上と同様です。
#ref(linejoin02.png)
 しかし,\Takakkeiの引数に点列を与えて折れ線を描画させると,
 折れ点で「マイター接続」と称される補正が行われます。
 すなわち,線分AB, BCの外側のエッジを延長し,交わらせます。
 上の図と下の図では,`B'の位置は同じです。
 下の図では,折れ線が`B'の位置近くまで延長されていることがお分かりでしょうか。
#ref(linejoin03.png)
 マイター接続では,本来の点B--赤線の交点--と折れ線の頂点がだいぶずれてしまいます。
 折れ点の接続表現法には「マイター接続」以外も用意されています。

 その一つが「ラウンド接続」です。
 線幅と等しい直径を持つ円弧を折れ点を中心として描画します。
#ref(linejoin04.png)
 もう一つが「ベベル接続」と呼ばれるもので,
 単に線分を重ねて出来るV字型の切込みを塗りつぶします。
#ref(linejoin05.png)
- <linejoin=..>オプションは,当該 \Takakkei に対してのみ有効です。~
広範囲に有効とするには \setlinejoin コマンドを用います。
*注意事項 [#d633c2d5]
*関連事項 [#y7b905d3]
[[\Drawline>Drawline]]
-[[直線の描画]]
--[[線分の描画>直線の描画#senbun]]
---[[\Takakkeis>Takakkeis]]
-[[\Baton>Baton]]
RIGHT:&counter;


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS