&size(24){''ベン図(Venn Diagram)''};
-emath でベン図を描画する例は
#ref(http://emath.s40.xrea.com/x/tex.htm,,使用例)
#ref(http://emath.s40.xrea.com/xdir/tex.htm,,使用例)
    4. 雑~
     (2) ベン図~
にありますが,
ここでは,PostScript 特有の機能を用いた例を置いてみます。
ここでは,PostScript 特有の機能を用いた例を置きます。

#contents
#br

*例 [#e4818e55]
*二つの集合 [#e4818e55]
**和集合 [#c3c3ddb9]
 2つの集合A, Bの和集合を図示します。
#ref(AcupB01.png)
CENTER:&ref(AcupB01.pdf,,上のPDF);
CENTER:&ref(AcupB01p.tex,,上のソースリスト);
+EMpscontinue環境内では,\Enko は円弧を描画せず,カレントパスに円弧を追加するだけです。~
ここでは,2つの円弧A, B(いずれも優弧)をつないで塗りつぶしの境界を作ります。~
くどいですが,この時点では何も描画されていません。
+\psfill で,カレントパスに囲まれた領域内が塗りつぶされます。~
ここでは \begin{EMpscolor}{pink}内ですから,pink で塗りつぶされます。
+続いて,\psstroke でカレントパスが描画されます。~
\psstroke は pink の色指定の外ですから,デフォルト(黒)で描画されます。
+塗りの色指定は~
  \psfill<nuriiro=pink>~
と記述することも出来ます。ただし,~
  \gsave~
   \psfill<nuriiro=pink>~
  \grestore~
と,PostScript のグルーピングをしておく方が良いでしょう。
#ref(AcupB01b.png)
CENTER:&ref(AcupB01bp.tex,,上のソースリスト);
-それぞれの円内部を塗りつぶすだけです。

 次は斜線塗りです。
#ref(AcupB01s.png)
CENTER:&ref(AcupB01s.pdf,,上のPDF);
CENTER:&ref(AcupB01sp.tex,,上のソースリスト);
+\psclip で,クリッピング領域を設定し
+\Nuritubusi*{\LT\LB\RB\RT}で,全平面を斜線塗りしています。
+\gsave と \grestore で囲み,クリップを局所化して,他の部分に影響を与えないようにしています。
+上のソースリスト部は~
  \gsave~
   \psfill*<linewidth=4>~
  \grestore~
と簡潔に記述することも可能です。

#ref(AcupB01sa.png)
CENTER:&ref(AcupB01spa.tex,,上のソースリスト);
-べた塗りコマンド \En* を斜線塗りコマンド \En** に換えるだけです。
**共通部分 [#zf5e8d34]
 共通部分を描画するには,和集合で
   優弧を接続した
 ところを
   劣弧を接続する
 ように修正するだけです。
#ref(AcapB01.png)
CENTER:&ref(AcapB01.pdf,,上のPDF);
CENTER:&ref(AcapB01p.tex,,上のソースリスト);
 共通部分を描画するには,
   \begin{clipEn}\A\rA
 として,描画領域を円 A の内部に限定した上で
   \En*<nuriiro=pink>\B\rB
 によって円 B の内部を塗りつぶせば,A, B の共通部分のみが塗られることになります。
#ref(AcapB01a.png)
CENTER:&ref(AcapB01pa.tex,,上のソースリスト);
 斜線塗りも同様です。
#ref(AcapB01s.png)
CENTER:&ref(AcapB01s.pdf,,上のPDF);
CENTER:&ref(AcapB01sp.tex,,上のソースリスト);
#ref(AcapB01sa.png)
CENTER:&ref(AcapB01spa.tex,,上のソースリスト);
**補集合 [#s8c75398]
 補集合を描画するには,
   \begin{clipEn}<hosyugo>\A\rA
 として,描画領域を円 A の外部に限定した上で
   \emPaint<nuriiro=pink>\zenheimen
 によって全平面を塗りつぶせば,目的が達せられます。
#ref(cA01a.png)
CENTER:&ref(cA01pa.tex,,上のソースリスト);

 斜線塗りは \emPaint を \emPaint* に変更するだけです。
#ref(cA01sa.png)
CENTER:&ref(cA01spa.tex,,上のソースリスト);

**差集合 [#q4173cb7]
 差集合(集合A の要素で,集合Bに含まれないものの集合)です。
#ref(A_cap_cB01a.png)
CENTER:&ref(A_cap_cB01pa.tex,,上のソースリスト);
-差集合を描画するには,~
  \begin{clipEn}<hosyugo>\B\rB~
として,描画領域を円 B の外部に限定した上で~
  \En*<nuriiro=pink>\A\rA~
によって円 A の内部を塗りつぶします。

 斜線塗りは \En* を \En** に変更するだけです。
#ref(A_cap_cB01sa.png)
CENTER:&ref(A_cap_cB01spa.tex,,上のソースリスト);

**対称差 [#rcc07ddf]
 どちらか一方の集合には含まれるが両方とも含まれることがないような要素の集合
#ref(AxorB01a.png)
CENTER:&ref(AxorB01pa.tex,,上のソースリスト);

#ref(AxorB01sa.png)
CENTER:&ref(AxorB01spa.tex,,上のソースリスト);

*三つの集合 [#ABC]
**和集合 (A ∪ B ∪ C) [#k51ce942]
#ref(AcupBcupC01a.png)
CENTER:&ref(AcupBcupC01pa.tex,,上のソースリスト);
#ref(AcupBcupC01sa.png)
CENTER:&ref(AcupBcupC01spa.tex,,上のソースリスト);
**積集合 (A ∩ B ∩ C) [#d061f377]
#ref(AcapBcapC01a.png)
CENTER:&ref(AcapBcapC01pa.tex,,上のソースリスト);
#ref(AcapBcapC01sa.png)
CENTER:&ref(AcapBcapC01spa.tex,,上のソースリスト);
**その他 [#fcb8e025]
***和集合の補集合 (A∪B∪C)' [#l370e790]
#ref(c_AcupBcupC_01a.png)
CENTER:&ref(c_AcupBcupC_01pa.tex,,上のソースリスト);
#ref(c_AcupBcupC_01sa.png)
CENTER:&ref(c_AcupBcupC_01spa.tex,,上のソースリスト);
***A∩B'∩C' [#w5fd7460]
#ref(Acap_cB_cap_cC_01a.png)
CENTER:&ref(Acap_cB_cap_cC_01pa.tex,,上のソースリスト);
#ref(Acap_cB_cap_cC_01sa.png)
CENTER:&ref(Acap_cB_cap_cC_01spa.tex,,上のソースリスト);
***A∩B∩C' [#f99267be]
#ref(AcapBcap_cC_01a.png)
CENTER:&ref(AcapBcap_cC_01pa.tex,,上のソースリスト);
#ref(AcapBcap_cC_01sa.png)
CENTER:&ref(AcapBcap_cC_01spa.tex,,上のソースリスト);
*入試問題から [#y392813e]
|||LEFT:|c
|2004 慶應義塾大学 |&ref(2062200434.tex); |&ref(2062200434fig.png);|
|2010 センター |&ref(0000201002.tex); |&ref(0000201002fig.png);|
*注意事項 [#mc845a55]
-このページで用いている手法は,~
   PostScript の clip オペレータ~
に依存しています。すなわち~
   emathPs.sty で定義された pszahyou(*)環境を前提としており,~
tpic-specials を用いる~
   emathPh.sty で定義された zahyou(*)環境では使えません。~
どうしても tpic-specials でベン図を描画したければ,当サイトの~
#ref(http://emath.s40.xrea.com/xdir/tex.htm,,使用例)
    4. 雑~
     (2) ベン図~
で紹介している方法を用いますが,お勧めは出来ません。
*関連事項 [#xe0aa641]
-[[数学A]]
--[[集合と論理]]
RIGHT:&counter;


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