pszahyou(*)環境では, \emPaint* をお使いください。

\Hatchpolygon

多角形の内部を斜線塗りします。
\Nuritubusi* は,\HatchPolygon の別名です。
 

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

emathPh.sty

書式

\Hatchpolygon[#1]<#2>#3

  • #1: 斜線の角度(度数法で,-90<θ<90 複数をコンマ区切りで指定可能)
  • #2: 斜線の間隔
       または
      key=val の形式
  • #3: 多角形の頂点列

    #2 における有効な key は

border
多角形の周を描画します。
iro
斜線に色をつけます。
linethickness
斜線の太さを指定します。
sensyu
斜線の線種を指定します。
syanuriKankaku
斜線の間隔を指定します。
syanurisiteiten
斜線群が指定点を通過することを指示します。
syanuriTanmatu
斜線と境界線の間を空けます。
次の key も使えますが,obsolete 扱いです。
allinethickness,syanurikankaku, syasenkankaku, syasenKankaku, syasentanmatu

基本例

多角形の内部を斜線塗りします。
多角形の周は描画されません。
多角形の周を描画するには
  \Takakkei コマンドを用いる
 か,または
  <border=y> オプションを用います。
Hatchpolygon01.png

斜線の角度

斜線の方向角を指定するオプションが [#1] です。
度数法で指定します。
デフォルトは 45°です。
Hatchpolygon11.png
複数の角をコンマ区切りで指定することも可能です。
Hatchpolygon12.png

斜線の間隔

斜線の間隔はデフォルトでは 3pt となっています。
これを変更するオプションが <#2> です。
数値は無名数で,単位は \unitlength です。
<#2> を key=val 形式とするときは
  <syanuriKankaku=..>
とします。
Hatchpolygon21.png
<syanuriKankaku=..> の右辺値は単位を伴う長さで,
斜線群の間隔(垂直距離)を指定します(デフォルト値は 3pt)。
無名数のときは単位として \unitlength が省略されているとみなされます。
下の図では,
  syanuriKankaku=2mm=0.5\uniglength
で,方向角が 60°ですから,斜線群の y切片の間隔は
  0.5/(cos60°)=1(\unitlength)
となっています。
syanuriKankaku01.png
  • <syanuriKankaku=..> オプションは局所的です。広範囲に変更するには
      \syanuriKankaku#1
    コマンドを用います(デフォルト値は 3pt)。

斜線の線種変更

斜線の線種を変更するオプションが <sensyu=..> です。
sensyu01.png

斜線の太さ指定

斜線の太さを変更するオプションが <linethickness=..> です。
右辺値は,単位を伴う長さです。
デフォルトは 0.4pt で,これより細くすることは推奨されません。
出力デバイスとの兼ね合いもありましょう。
linethickness01.png

斜線の色指定

斜線に色をつけるオプションが <iro=..> です。
iro01.png

指定点通過

斜線群が指定した点を通過するようにするためのオプションが
  <syanurisiteiten=..>
です。右辺値は「点(位置ベクトル)」です。
下の図で,図1には指定がありませんが,図2では
  <syanurisiteiten=\A>
とありますので,斜線群の一本は点 \A を通過するように描画されます。
syanurisiteiten01.png

白塗り後斜線塗り

斜線塗りでは,背景は残ります。
背景を消すには,領域を白塗りした後,斜線塗りをします。
そのためのオプションが <background=white> です。
background01.png

開集合の表現

境界を含まない開集合を図示するのに
斜線と境界線との間に少しスリットを入れる手法があります。
それを実現するオプションが
  <syanuriTanmatu=..>
です。右辺値は単位を伴う長さで,スリットの長さを指定します。
syanuriTanmatu01.png

注 このオプションの実現には,境界を少し太めに白塗りする操作が含まれます。

  1. 上の例で,\zahyouMemori[g] を \Hatchpolygon よりも後に置いているのも この理由からです。
    順序を転させると,グリッド線・目盛り数値が多角形の境界の 近傍で消えてしまいます。
  2. 旧書式では,syasentanmatu=.. でした。これも使用可能です。
  3. dvipdfmx の場合は,バージョンにより結果が異なります。
    dvipdfmx-20081108(cvs) では,予期通りの結果が得られますが,
    それより古いバージョンでは,白塗りが黒塗りになってしまう場合があります。

入試問題から

2008 東京大学file0021200805.tex0021200805fig.png
2000 立教大学file2137200033.tex2137200033fig.png
2003 東京大学file0021200302.tex0021200302fig.png
2001 早稲田大学file2140200111.tex2140200111fig.png
2007 京都大学file0048200703.tex0048200703fig.png

注意事項

凹領域の斜線塗り(1)

多角形が凸でない場合は厄介です。
\Hatchpolygon が有効に働くための条件は
  (※)斜線と境界の共有点は高々2点であること
です。
下の図1では,条件(※)が満たされませんから,点Cの近辺で斜線が引かれません。
対策は次の2通りです。

  • 対策 1) 方向角が条件(※)を満たすように設定する。(図2)
  • 対策 2) 凸閉包を斜線塗りして,余分なところを白塗りする。(図3)
    ou01.png

凹領域の斜線塗り(2)

pszahyou環境の場合は,PostScript の clipオペレータを利用する方法もあります。
emath パッケージにおける手順は次のとおりです:

  1. \begin{clipTakakkei}{\A\B\O\C\D}
    により,斜線塗りをする凹多角形 ABOCD の内部のみに描画領域を限定します。
  2. \Hatchpolygon{\A\B\C\D}
    により,その凸閉包である四角形 ABCD を斜線塗りします。
    (凸閉包である必要はなく、全平面を斜線塗りしても、クリップ領域内のみが描画されますが.....)
    ou02.png
    • clipTakakkei環境については,そのページをご参照ください。
    • \emPaint* では,この操作を隠蔽化しています。
      ou03.png

関連事項

  1. \Nuritubusi*
    4545

添付ファイル: filesyanurisiteiten01.png 265件 [詳細] filesyanuriTanmatu01.png 298件 [詳細] filesyanuriKankaku01.png 305件 [詳細] filesensyu01.png 285件 [詳細] fileou03.png 177件 [詳細] fileou02.png 257件 [詳細] fileou01.png 268件 [詳細] filelinethickness01.png 248件 [詳細] fileiro01.png 246件 [詳細] filebackground01.png 263件 [詳細] fileallinethickness01.png 95件 [詳細] fileHatchpolygon21.png 246件 [詳細] fileHatchpolygon12.png 257件 [詳細] fileHatchpolygon11.png 269件 [詳細] fileHatchpolygon01.png 263件 [詳細] file2140200111fig.png 210件 [詳細] file2140200111.tex 384件 [詳細] file2137200033fig.png 230件 [詳細] file2137200033.tex 449件 [詳細] file0048200703fig.png 236件 [詳細] file0048200703.tex 414件 [詳細] file0021200805fig.png 238件 [詳細] file0021200805.tex 410件 [詳細] file0021200302fig.png 222件 [詳細] file0021200302.tex 463件 [詳細]

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