曲線などは、 Plot[] や ParametricPlot[] などで描けば良い。
点や線分、円などはグラフィックス・プリミティブを用いて描くのが便利かも。
点の座標はリストとして定義する。
f1 = {-Sqrt[3], 0}; f2 = {Sqrt[3], 0}; p = {2 Cos[Pi/4], Sin[Pi/4]}; o = {0, 0}; |
$F1 = Point[f1]; $F2 = Point[f2]; $P = Point[p]; $F1P = Line[{f1, p}]; $F2P = Line[{f2, p}]; r = 2; $C = Circle[o, r]; |
g1 = Graphics[{$F1, $F2, $P, $F1P, $F2P, $C}, Axes -> True] |
点の説明などの文字列をつけておくのが良いかも。 そうするためには、Text[] を使います。
g1 = Graphics[{$F1, Text["F1", f1 - {0, 0.1}], $F2, Text["F2", f2 - {0, 0.1}], $P, Text["P(x,y)", p + {0.1, 0.1}], $F1P, $F2P, $C}, Axes -> True] |
何だか楕円を描くことの方が楽ですね。
g2 = ParametricPlot[{2 Cos[t], Sin[t]}, {t, 0, 2 Pi}]; |
g1, g2 を合わせて描きます。
g = Show[g1, g2, PlotRange -> All] |
これをファイルに出力するには
Export["mygraph.eps", g]あるいは Export["mygraph.pdf", g] |
残念ながら、現在の Mathematica で出力した PostScript データは、 しばしば巨大なサイズになってしまい、TEX では扱い辛くなることがあります。 代わりに PDF のようなフォーマットを採用するか、 一度 JPEG で出力してから PostScript に変換するなどの工夫が必要です。
Mathematica で変数 g に記憶されたグラフィックスを出力 |
In[] := Export["mygraph.jpg", g]ターミナルで次のようにして変換します。 jpeg2ps mygraph.jpg > mygraph.eps |
実は Text[] はかなり高機能である。 Text[Style[テキスト, 大きさ], 座標, オフセット] とか、 色々工夫が出来る。 「テキスト」にも単なる文字列でなく、 Mathematica の式が書ける。 下付き文字のある は、 F の後に +_ で入力出来る (Mathematica の[ヘルプ]メニューの検索で、 「二次元式の入力」を見てみよう))。 を出力したい場合は P[x,y] とするとか。
Graphics[{Red, Thin, Line[{{0, 0}, {0, 1}}], Blue, Thick, Dotted, Line[{{1, 0}, {1, 1}}], Green, Thickness[0.02], Line[{{2, 0}, {2, 1}}]}] |
桂田 祐史