\Takakkei

多角形を描画します。
 

定義されているスタイルファイル

emathPh.sty

書式

\Takakkei<#1>#2
  • #1: key=val 形式をコンマ区切りで並べます。
  • #2: 点列
    #2 に与えられた点列を頂点とする多角形を描画します。

    #1 における有効な key は

boutyou
多角形を膨張(縮小)させます。
sensyu
線種を変更します。
idou
平行移動します。
iro
辺に色をつけます。
linethickness
線分の太さを変更します。
oval
頂点のコーナーを丸くします。

以下,emathPs.sty で定義されている pszahyou(*)環境特有のオプションです。

dash
pszahyou(*)環境における線種を変更します。
hasenLG
pszahyou(*)環境における線種を変更します。
linejoin
コーナー補正
nuriiro
内部を塗りつぶす色を指定します。
setxyrange
多角形を内包する zahyou環境 x, y の範囲を .aux ファイルに書き出し,
pszahyou環境の [getxyrange] オプションでそれを取得します。
vmark
頂点に配置する記号を指定します。

基本例

点列を結ぶ多角形を描画します。
Takakkei01.png
  • \Drawline{\A\B\C}は,折れ線 ABC を描画するだけですが
    \Takakkei{\A\B\C}は,始点(\A)と終点(\C)を結ぶ線分を付加して閉多角形を描画します。
  • \Drawline{\A\B\C\A}とすれば,多角形が描画されはしますが,
    \Takakkei{\A\B\C}とは,頂点Aのところが異なります。
    Takakkei00.png

線種変更 <sensyu=..>

線種を変更するには,<sensyu=..> オプションを使用します。
sensyu01.png

線幅変更 <linethickness=..>

辺の太さを変更します。
linethickness01.png
頂点におけるつながり具合が問題ですね。楔型の欠けができます。
pszahyou環境で PostScript を用いると,綺麗になります。
linethickness02.png

多角形の平行移動 <idou=..>

多角形を平行移動させるオプションが
  idou=..
です。
  • 薄く描画された△ABC を
      右に 5pt, 上に 2pt
    平行移動させた三角形を描画させる例です。
    idou01.png

多角形の拡大・縮小 <boutyou=..>

多角形を辺に垂直方向に膨張させるオプションが
  boutyou=...
です。
boutyou01.png
  • ただし,perl との連携機能を必要としますから,emathPl.sty を読み込んでおかねばなりません。
  • 右辺値に負の寸法を指定すれば,縮小します。

カラー  <iro=..>

辺に色をつけます。
iro01.png

丸コーナー<oval=..>

頂点の角を丸くします。
頂点の角を円弧にしますが,その半径を oval=.. の右辺値に指定します。
右辺値は単位を伴う長さですが,無名数の場合は \unitlength が単位であるとみなされます。
oval01.png

複数の多角形

<#1>が共通である複数の多角形を描画するには,\Takakkeis でひとまとめにすることができます。
Takakkeis01.png

多角形の面積

面積(近似値)を取得するコマンドが \MensekiP です。
ただし,perl との連携機能を必要としますから,emathPl.sty を読み込んでおかねばなりません。
MensekiP01.png

--- 以下,pszahyou環境特有の話題です。---

線種変更(pszahyou(*)環境) <dash=..>

辺を破線で描画するには,<dash=..> オプションを用います。
右辺には,
  描画部分の長さ,描画しない部分の長さ
の繰り返しとなる偶数個の長さを与えます。
dash01.png
  • dash=.. の右辺値は,\setdash の引数と同じです。

線種変更(<hasenLG=..>

<dash=..> による破線描画では,頂点がぼけてしまうことがあります。
<hasenLG=..> を用いると,描画線素が頂点で始まり,頂点で終わります。
hasenLG01.png

内部塗りつぶし <nuriiro=..>

多角形の内部を塗りつぶすには,
  <nuriiro=..>
オプションを用います。ただし,pszahyou(*)環境を前提とします。
nuriiro01.png

接続修正(pszahyou(*)環境) <linejoin=..>

頂点における接続状態は
線分を重ねただけではV字型のクサビが出来てしまいます。
PostScript には,これを修正する方法が3通り用意されています。
それを切り替えるオプションが <linejoin=..> です。右辺値は
  0 : マイター接続(デフォルト)
  1 : ラウンド接続
  2 : ベベル接続
のいずれかです。
まずは,zahyou環境の状態からみていきます。
\Takakkei は,多角形を描画するとはいえ,
個々の辺を重ねて配置するだけです。
線分が太くなると,V字型の切り欠きが目立ってきます。

なお,この項は図を拡大したくなりますので filePDFファイルを用意しました。

linejoin01.png
pszahyou環境でも,個々の線分を描画したものを連ねた場合は,上と同様です。
linejoin02.png
しかし,\Takakkeiの引数に点列を与えて折れ線を描画させると,
折れ点で「マイター接続」と称される補正が行われます。
すなわち,線分AB, BCの外側のエッジを延長し,交わらせます。
上の図と下の図では,`B'の位置は同じです。
下の図では,折れ線が`B'の位置近くまで延長されていることがお分かりでしょうか。
linejoin03.png
マイター接続では,本来の点B--赤線の交点--と折れ線の頂点がだいぶずれてしまいます。
折れ点の接続表現法には「マイター接続」以外も用意されています。
その一つが「ラウンド接続」です。
線幅と等しい直径を持つ円弧を折れ点を中心として描画します。
linejoin04.png
もう一つが「ベベル接続」と呼ばれるもので,
単に線分を重ねて出来るV字型の切込みを塗りつぶします。
linejoin05.png
  • <linejoin=..>オプションは,当該 \Takakkei に対してのみ有効です。
    広範囲に有効とするには \setlinejoin コマンドを用います。

注意事項

関連事項


添付ファイル: fileidou01.png 150件 [詳細] fileTakakkeis01.png 118件 [詳細] filenuriiro01.png 160件 [詳細] fileboutyou01.png 164件 [詳細] filesensyu01.png 328件 [詳細] fileoval01.png 308件 [詳細] filelinethickness02.png 287件 [詳細] filelinethickness01.png 313件 [詳細] filelinejoin05.png 308件 [詳細] filelinejoin04.png 286件 [詳細] filelinejoin03.png 337件 [詳細] filelinejoin02.png 309件 [詳細] filelinejoin01.png 294件 [詳細] filelinejoin00.pdf 626件 [詳細] fileiro01.png 290件 [詳細] filehasenLG01.png 326件 [詳細] filedash01.png 305件 [詳細] fileTakakkei01.png 337件 [詳細] fileTakakkei00.png 317件 [詳細] fileMensekiP01.png 282件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-09-02 (月) 20:23:47 (2271d)