発言者: tDB
発言日: 2004 11/28 14:04
発言元: ntchba099136.chba.nt.ftth.ppp.infoweb.ne.jp
凸でない領域を斜線塗りするには,
1) その領域を含む凸領域を斜線塗り
2) 塗りすぎた部分を白塗り
という手順をとります。
左の図に対して実行した例を下に記します。
右の図は簡単で,
1) 四分円を斜線塗り
2) 正方形を白塗り
でできるでしょう。
% --- 凸でない領域の斜線塗り -------------------------------
\documentclass{jsarticle}
\usepackage{emathP}
\begin{document}
\begin{zahyou*}[ul=4mm](-5,10)(0,10)
\def\A{(0,0)}
\def\B{(10,0)}
\def\N{(5,0)}
\Kaiten\A\B{45}\C
\Bunten\A\C{1}{1}\M
% ---追加部分 ---------------------------------------------------
% 円弧(2個)を折れ線で近似
\KinziEnko\A{10}{0}{45}\oreseni
\KinziEnko\M{tuukaten=\A}{hazimeten=\C}{owariten=\A}\oresenii
% 2個の近似折れ線を連結
\edef\oresen{\oreseni\oresenii}%
% その近似折れ線内を斜線塗り
%(折れ線の始点と終点は自動的に結んで塗りつぶされる)%
\Nuritubusi*\oresen
% 塗りすぎた半円を白塗り
\Put\N{\ougigata*[0]{5}{0}{180}}%
% ---追加部終り---------------------------------------------------
{\Thicklines
\Enko\M{tuukaten=\A}{hazimeten=\C}{owariten=\A}
\Enko\A{10}{0}{45}
\Enko\N{5}{0}{180}
}
\Drawline{\A\C}
\Drawline{\A\B}
\Kakukigou[a]\B\A\C<2>(10pt,2pt){45\Deg}
\Hen_ko<.5>\A\B{8}
\end{zahyou*}
\end{document}
▼関連発言
│
└◆2158:塗りつぶし(斜線) [シンスケ] 11/28 13:41
└◆2159:Re:塗りつぶし(斜線)--凸でない領域の場合 [tDB] 11/28 14:04<-last