Fix bug #1848: taytorat leaks internal gensyms from multivar expansions
[maxima.git] / doc / info / ja / draw.texi
blob56abfe160a2f6c838964c8b64e9eacb2591a1f2b
1 @menu
2 * Introduction to draw::
3 * Functions and Variables for draw::
4 * Functions and Variables for pictures::
5 * Functions and Variables for worldmap::
6 @end menu
10 @node Introduction to draw, Functions and Variables for draw, draw, draw
11 @section Introduction to draw
14 @code{draw}はMaxima-Gnuplotインターフェイスです。
16 Maximaレベルで使われる3つの主な関数があります:
17 @code{draw2d}, @code{draw3d}, @code{draw}。
19 このパッケージのさらに磨きかけられた例のために以下のリンクに従ってください:
21 @url{http://riotorto.users.sourceforge.net/gnuplot}
23 このプログラムを走らせるにはGnuplot 4.2以上が必要です。
25 @opencatbox
26 @category{Plotting}
27 @category{Share packages}
28 @category{Package draw}
29 @closecatbox
32 @node Functions and Variables for draw, Functions and Variables for pictures, Introduction to draw, draw
33 @section Functions and Variables for draw
37 @subsection Scenes
40 @deffn {シーン構成子} gr2d (@var{graphic option}, ..., @var{graphic object}, ...)
42 関数@code{gr2d}は
43 2Dシーンを記述するオブジェクトを作ります。
44 引数は@i{グラフィックオプション}、@i{グラフィックオブジェクト}、または、
45 グラフィックオプションとオブジェクト両方を含むリストです。
46 このシーンは順に解釈されます:
47 @i{グラフィックオプション}はその右に置かれたそれらの@i{グラフィックオブジェクト}に影響します。
48 いくつかの@i{グラフィックオプション}はシーンのグローバルな外観に影響します。
50 以下は2次元のシーンで利用可能な@i{グラフィックオブジェクト}のリストです:
51 @code{bars}, @code{ellipse}, @code{explicit}, @code{image}, @code{implicit}, @code{label},
52 @code{parametric}, @code{points}, @code{polar}, @code{polygon}, @code{quadrilateral},
53 @code{rectangle}, @code{triangle}, @code{vector}, @code{geomap}
54 (パッケージ@code{worldmap}で定義されるもの)。
56 @code{draw}と@code{draw2d}も参照してください。
58 このオブジェクトを利用するには、最初に@code{load(draw)}を書いてください。
60 @opencatbox
61 @category{Package draw}
62 @closecatbox
64 @end deffn
67 @deffn {シーン構成子} gr3d (@var{graphic option}, ..., @var{graphic object}, ...)
69 関数@code{gr3d}は3dシーンを記述するオブジェクトを作ります。
70 引数は@i{グラフィックオプション}、@i{グラフィックオブジェクト}、または
71 グラフィックオプションとオブジェクト両方を含むリストです。
72 このシーンは順に解釈されます:
73 @i{グラフィックオプション}はその右に置かれたそれらの@i{グラフィックオブジェクト}に影響します。
74 いくつかの@i{グラフィックオプション}はシーンのグローバルな外観に影響します。
76 以下は3次元のシーンで利用可能な@i{グラフィックオブジェクト}のリストです:
77 @code{cylindrical}, @code{elevation_grid}, @code{explicit}, @code{implicit},
78 @code{label}, @code{mesh}, @code{parametric},@*
79 @code{parametric_surface},
80 @code{points}, @code{quadrilateral}, @code{spherical}, @code{triangle},
81 @code{tube},@*
82 @code{vector}, @code{geomap}
83 (パッケージ@code{worldmap}で定義されるもの)。
85 @code{draw}と@code{draw3d}も参照してください。
87 このオブジェクトを利用するには、最初に@code{load(draw)}を書いてください。
89 @opencatbox
90 @category{Package draw}
91 @closecatbox
93 @end deffn
98 @subsection Functions
102 @deffn {関数} draw (@var{gr2d}, ..., @var{gr3d}, ..., @var{options}, ...)
104 一連のシーンをプロットします;
105 引数は@code{gr2d}や@code{gr3d}のオブジェクトといくつかのオプションです。
106 デフォルトでは、シーンは1列の中に一緒に置かれます。
108 関数@code{draw}は以下のグローバルオプションを受け付けます: @code{terminal},
109 @code{columns}, @code{dimensions}, @code{file_name}, @code{delay}.
111 関数@code{draw2d}や@code{draw3d}は
112 それぞれ、2次元と3次元に関して、1つのシーンだけが要求される時に使われる
113 ショートカットです。
115 @code{gr2d}と@code{gr3d}も参照してください。
117 この関数を利用するには、最初に@code{load(draw)}を書いてください。
119 例:
121 @example
122 (%i1) load(draw)$
123 (%i2) scene1: gr2d(title="Ellipse",
124                    nticks=30,
125                    parametric(2*cos(t),5*sin(t),t,0,2*%pi))$
126 (%i3) scene2: gr2d(title="Triangle",
127                    polygon([4,5,7],[6,4,2]))$
128 (%i4) draw(scene1, scene2, columns = 2)$
129 @end example
131 2つの描画文は同値です:
132 @example
133 (%i1) load(draw)$
134 (%i2) draw(gr3d(explicit(x^2+y^2,x,-1,1,y,-1,1)));
135 (%o2)                          [gr3d(explicit)]
136 (%i3) draw3d(explicit(x^2+y^2,x,-1,1,y,-1,1));
137 (%o3)                          [gr3d(explicit)]
138 @end example
140 アニメーティドgifファイル:
141 @example
142 (%i1) load(draw)$
143 (%i2) draw(
144         delay     = 100,
145         file_name = "zzz",
146         terminal  = 'animated_gif,
147         gr2d(explicit(x^2,x,-1,1)),
148         gr2d(explicit(x^3,x,-1,1)),
149         gr2d(explicit(x^4,x,-1,1)));
150 End of animation sequence
151 (%o2)          [gr2d(explicit), gr2d(explicit), gr2d(explicit)]
152 @end example
154 @code{gr2d}, @code{gr3d}, @code{draw2d}, @code{draw3d}も参照してください。
156 @opencatbox
157 @category{Package draw}
158 @category{File output}
159 @closecatbox
160 @end deffn
166 @deffn {関数} draw2d (@var{option}, @var{graphic_object}, ...)
167 この関数は
168 @code{draw(gr2d(@var{options}, ..., @var{graphic_object}, ...))}.
169 のショートカットです。
171 2dで唯一のシーンをプロットするのに使うことができます。
173 この関数を利用するには、最初に@code{load(draw)}を書いてください。
175 @code{draw}と@code{gr2d}も参照してください。
177 @opencatbox
178 @category{Package draw}
179 @category{File output}
180 @closecatbox
181 @end deffn
186 @deffn {関数} draw3d (@var{option}, @var{graphic_object}, ...)
187 この関数は
188 @code{draw(gr3d(@var{options}, ..., @var{graphic_object}, ...))}
189 のショートカットです。
191 3dでユニークなシーンをプロットするのに使うことができます。
193 この関数を利用するには、最初に@code{load(draw)}を書いてください。
195 @code{draw}と@code{gr3d}も参照してください。
197 @opencatbox
198 @category{Package draw}
199 @category{File output}
200 @closecatbox
201 @end deffn
205 @deffn {関数} draw_file (@var{graphic option}, ..., @var{graphic object}, ...)
207 現在のプロットをファイルに保存します。
208 受け付けられるグラフィックオプションは以下です:
209 @code{terminal}, @code{dimensions}, @code{file_name}, @code{file_bgcolor}. 
211 例:
213 @example
214 (%i1) load(draw)$
215 (%i2) /* screen plot */
216       draw(gr3d(explicit(x^2+y^2,x,-1,1,y,-1,1)))$
217 (%i3) /* same plot in eps format */
218       draw_file(terminal  = eps,
219                 dimensions = [5,5]) $
220 @end example
222 @opencatbox
223 @category{Package draw}
224 @category{File output}
225 @closecatbox
226 @end deffn
230 @deffn {関数} multiplot_mode (@var{term})
231 この関数を使って、Maximaは
232 端末@var{term}で1ウィンドウマルチプロットモードで機能することができます;
233 この関数が受け入れる引数は、@code{screen}, 
234 @code{wxt}, @code{aquaterm}, @code{none}です。
236 マルチプロットモードがイネーブルの時、
237 @code{draw}へのそれぞれのコールは、
238 同じウィンドウに以前のものを消すことなく新しいプロットを送ります。
239 マルチモードをディセーブルにするには、
240 @code{multiplot_mode(none)}を書いてください。
242 マルチプロットモードがイネーブルの時、
243 グローバルオプション@code{terminal}はブロックされます。
244 別の端末に変更する前に、この機能中のモードをディセーブルしなければいけません。
246 この特長はWindowsプラットフォームでは機能しません。
248 例:
250 @example
251 (%i1) load(draw)$
252 (%i2) set_draw_defaults(
253          xrange = [-1,1],
254          yrange = [-1,1],
255          grid   = true,
256          title  = "Step by step plot" )$
257 (%i3) multiplot_mode(screen)$
258 (%i4) draw2d(color=blue,  explicit(x^2,x,-1,1))$
259 (%i5) draw2d(color=red,   explicit(x^3,x,-1,1))$
260 (%i6) draw2d(color=brown, explicit(x^4,x,-1,1))$
261 (%i7) multiplot_mode(none)$
262 @end example
264 @opencatbox
265 @category{Package draw}
266 @category{File output}
267 @closecatbox
268 @end deffn
272 @deffn {関数} set_draw_defaults (@var{graphic option}, ..., @var{graphic object}, ...)
274 ユーザーグラフィックオプションを設定します。
275 この関数は
276 共通のグラフィックスオプションで一連のグラフィックスをプロットするのに
277 役に立ちます。
278 引数なしにこの関数を呼ぶと、ユーザーデフォルトを取り除きます。
280 例:
282 @example
283 (%i1) load(draw)$
284 (%i2) set_draw_defaults(
285          xrange = [-10,10],
286          yrange = [-2, 2],
287          color  = blue,
288          grid   = true)$
289 (%i3) /* plot with user defaults */
290       draw2d(explicit(((1+x)**2/(1+x*x))-1,x,-10,10))$
291 (%i4) set_draw_defaults()$
292 (%i5) /* plot with standard defaults */
293       draw2d(explicit(((1+x)**2/(1+x*x))-1,x,-10,10))$
294 @end example
296 この関数を利用するには、
297 最初に@code{load(draw)}を書いてください。
299 @opencatbox
300 @category{Package draw}
301 @closecatbox
303 @end deffn
306 @subsection Graphic options
309 @defvr {グラフィックオプション} adapt_depth
310 デフォルト値: 10
312 @code{adapt_depth}は適応プロットルーチンが使う分割の最大数です。
314 このオプションは2d@code{explicit}関数に対してだけ有効です。
316 @opencatbox
317 @category{Package draw}
318 @closecatbox
320 @end defvr
324 @defvr {グラフィックオプション} axis_3d
325 デフォルト値: @code{true}
327 もし@code{axis_3d}が@code{true}なら、
328 @var{x}, @var{y} @var{z}軸が3dシーンで表示されます。
330 これはグローバルグラフィックスオプションなので、
331 シーン記述の位置は問題なりません。
333 例:
335 @example
336 (%i1) load(draw)$
337 (%i2) draw3d(axis_3d = false,
338              explicit(sin(x^2+y^2),x,-2,2,y,-2,2) )$
339 @end example
341 2dでの軸に関しては、
342 @code{axis_bottom},  @code{axis_left}, @code{axis_top}, @code{axis_right}も
343 参照してください。
345 @opencatbox
346 @category{Package draw}
347 @closecatbox
349 @end defvr
353 @defvr {グラフィックオプション} axis_bottom
354 デフォルト値: @code{true}
356 もし@code{axis_bottom}が@code{true}なら、
357 底の軸は2dシーンで表示されます。
359 これはグローバルグラフィックスオプションなので、
360 シーン記述の位置は問題なりません。
362 例:
364 @example
365 (%i1) load(draw)$
366 (%i2) draw2d(axis_bottom = false,
367              explicit(x^3,x,-1,1))$
368 @end example
370 @code{axis_left},  @code{axis_top}, @code{axis_right}, @code{axis_3d}も参照してください。
372 @opencatbox
373 @category{Package draw}
374 @closecatbox
376 @end defvr
380 @defvr {グラフィックオプション} axis_left
381 デフォルト値: @code{true}
383 もし@code{axis_left}が@code{true}なら、
384 左の軸が2dシーンで表示されます。
386 これはグローバルグラフィックスオプションなので、
387 シーン記述の位置は問題なりません。
389 例:
391 @example
392 (%i1) load(draw)$
393 (%i2) draw2d(axis_left = false,
394              explicit(x^3,x,-1,1))$
395 @end example
397 @code{axis_bottom},  @code{axis_top}, @code{axis_right}, @code{axis_3d}も参照してください。
399 @opencatbox
400 @category{Package draw}
401 @closecatbox
403 @end defvr
407 @defvr {グラフィックオプション} axis_right
408 デフォルト値: @code{true}
410 もし@code{axis_right}が@code{true}なら、
411 2dシーンで右軸が表示されます。
413 これはグローバルグラフィックスオプションなので、
414 シーン記述の位置は問題なりません。
416 例:
418 @example
419 (%i1) load(draw)$
420 (%i2) draw2d(axis_right = false,
421              explicit(x^3,x,-1,1))$
422 @end example
424 @code{axis_bottom},  @code{axis_left}, @code{axis_top}, @code{axis_3d}も
425 参照してください。
427 @opencatbox
428 @category{Package draw}
429 @closecatbox
431 @end defvr
435 @defvr {グラフィックオプション} axis_top
436 デフォルト値: @code{true}
438 もし@code{axis_top}が@code{true}なら、
439 上部の軸が2dシーンで表示されます。
441 これはグローバルグラフィックスオプションなので、
442 シーン記述の位置は問題なりません。
444 例:
446 @example
447 (%i1) load(draw)$
448 (%i2) draw2d(axis_top = false,
449              explicit(x^3,x,-1,1))$
450 @end example
452 @code{axis_bottom},  @code{axis_left}, @code{axis_right}, @code{axis_3d}も参照してください。
454 @opencatbox
455 @category{Package draw}
456 @closecatbox
458 @end defvr
462 @defvr {グラフィックオプション} background_color
463 デフォルト値: @code{white}
465 端末@code{gif}, @code{png}, @code{jpg}, @code{gif}のための背景色を設定します。
466 デフォルト背景色は白です。
468 @code{color}も参照してください。
470 @opencatbox
471 @category{Package draw}
472 @closecatbox
474 @end defvr
477 @defvr {グラフィックオプション} border
478 デフォルト値: @code{true}
480 もし@code{border}が@code{true}なら、
481 ポリゴンの境界は@code{line_type}と@code{line_width}に従って塗られます。
483 このオプションは以下のグラフィックオブジェクトに影響します:
484 @itemize @bullet
485 @item
486 @code{gr2d}: @code{polygon}, @code{rectangle}, と@code{ellipse}.
487 @end itemize
489 例:
491 @example
492 (%i1) load(draw)$
493 (%i2) draw2d(color       = brown,
494              line_width  = 8,
495              polygon([[3,2],[7,2],[5,5]]),
496              border      = false,
497              fill_color  = blue,
498              polygon([[5,2],[9,2],[7,5]]) )$
499 @end example
501 @opencatbox
502 @category{Package draw}
503 @closecatbox
505 @end defvr
509 @defvr {グラフィックオプション} cbrange
510 デフォルト値: @code{auto}
512 もし@code{cbrange}が@code{auto}なら
513 @code{enhanced3d}が@code{false}でない時
514 色付けられる値の範囲は自動的に計算されます。
515 カラー範囲外の値は、最も近い端の色を使います。
517 @code{enhanced3d}や@code{colorbox}が@code{false}の時、
518 オプション@code{cbrange}は効果を持ちません。
520 もしユーザーが
521 色付けられた値の特定の区間が欲しいなら、
522 @code{cbrange=[-2, 3]}のようにMaximaリストとして与えられなければいけません。
524 これはグローバルグラフィックスオプションなので、
525 シーン記述の位置は問題になりません。
527 例:
529 @example
530 (%i1) load(draw)$
531 (%i2) draw3d (
532         enhanced3d     = true,
533         color          = green,
534         cbrange = [-3,10],
535         explicit(x^2+y^2, x,-2,2,y,-2,2)) $
536 @end example
538 @code{enhanced3d}, @code{colorbox}, @code{cbtics}も参照してください。
540 @opencatbox
541 @category{Package draw}
542 @closecatbox
543 @end defvr
547 @defvr {グラフィックオプション} cbtics
548 デフォルト値: @code{auto}
550 このグラフィックオプションは、
551 オプション@code{enhanced3d}が@code{false}でない時、
552 カラーボックス上にチックマークを描く方法を制御します。
554 @code{enhanced3d}か@code{colorbox}が@code{false}の時、
555 オプション@code{cbtics}は効果を持ちません。
557 完全な記述に関しては、@code{xtics}を参照してください。
559 例:
561 @example
562 (%i1) load(draw)$
563 (%i2) draw3d (
564         enhanced3d = true,
565         color      = green,
566         cbtics  = @{["High",10],["Medium",05],["Low",0]@},
567         cbrange = [0, 10],
568         explicit(x^2+y^2, x,-2,2,y,-2,2)) $
569 @end example
571 @code{enhanced3d}, @code{colorbox}, @code{cbrange}も参照してください。
573 @opencatbox
574 @category{Package draw}
575 @closecatbox
577 @end defvr
579 @defvr {グラフィックオプション} color
580 デフォルト値: @code{"blue"}
582 @code{color}は、線や点、ポリゴンやラベルの境界をプロットする色を指定します。
584 色は名前や16進数の@i{rgb}コードとして与えられます。
586 利用可能な色の名前は以下のものです: 
587 @verbatim
588 white            black            gray0            grey0 
589 gray10           grey10           gray20           grey20     
590 gray30           grey30           gray40           grey40     
591 gray50           grey50           gray60           grey60     
592 gray70           grey70           gray80           grey80
593 gray90           grey90           gray100          grey100 
594 gray             grey             light_gray       light_grey 
595 dark_gray        dark_grey        red              light_red 
596 dark_red         yellow           light_yellow     dark_yellow
597 green            light_green      dark_green       spring_green
598 forest_green     sea_green        blue             light_blue 
599 dark_blue        midnight_blue    navy             medium_blue 
600 royalblue        skyblue          cyan             light_cyan 
601 dark_cyan        magenta          light_magenta    dark_magenta
602 turquoise        light_turquoise  dark_turquoise   pink 
603 light_pink       dark_pink        coral            light_coral 
604 orange_red       salmon           light_salmon     dark_salmon 
605 aquamarine       khaki            dark_khaki       goldenrod 
606 light_goldenrod  dark_goldenrod   gold             beige 
607 brown            orange           dark_orange      violet 
608 dark_violet      plum             purple
609 @end verbatim
611 16進コードでの色彩成分は形式@code{"#rrggbb"}で導入されます。
613 例:
615 @example
616 (%i1) load(draw)$
617 (%i2) draw2d(explicit(x^2,x,-1,1), /* default is black */
618              color = "red",
619              explicit(0.5 + x^2,x,-1,1),
620              color = blue,
621              explicit(1 + x^2,x,-1,1),
622              color = "light-blue", /* double quotes if - is used */
623              explicit(1.5 + x^2,x,-1,1),
624              color = "#23ab0f",
625              label(["This is a label",0,1.2])  )$
626 @end example
628 @code{fill_color}も参照してください。
630 @opencatbox
631 @category{Package draw}
632 @closecatbox
634 @end defvr
636 @defvr {グラフィックオプション} colorbox
637 デフォルト値: @code{true}
639 もし@code{colorbox}が@code{true}なら、
640 ラベルなしの色スケールが@code{image} 2Dオブジェクトか色付けされた3dオブジェクトと一緒に
641 描かれます。
642 もし@code{colorbox}が@code{false}なら、
643 色スケールは表示されません。
644 もし@code{colorbox}が文字列なら、ラベル付き色スケールが描かれます。
646 これはグローバルグラフィックスオプションなので、
647 シーン記述の位置は問題なりません。
649 例:
651 @example
652 (%i1) load(draw)$
653 (%i2) im: apply('matrix,
654                  makelist(makelist(random(200),i,1,30),i,1,30))$
655 (%i3) draw2d(image(im,0,0,30,30))$
656 (%i4) draw2d(colorbox=false, image(im,0,0,30,30))$
657 @end example
659 @code{palette}も参照してください。
661 @opencatbox
662 @category{Package draw}
663 @closecatbox
665 @end defvr
667 @defvr {グラフィックオプション} columns
668 デフォルト値: 1
670 @code{columns}は多重プロットでの列の数です。
672 これはグローバルグラフィックオプションなので、
673 シーン記述での位置はかまいません。
674 関数@code{draw}の引数として使うこともできます。
676 例:
678 @example
679 (%i1) load(draw)$
680 (%i2) scene1: gr2d(title="Ellipse",
681                    nticks=30,
682                    parametric(2*cos(t),5*sin(t),t,0,2*%pi))$
683 (%i3) scene2: gr2d(title="Triangle",
684                    polygon([4,5,7],[6,4,2]))$
685 (%i4) draw(scene1, scene2, columns = 2)$
686 @end example
688 @opencatbox
689 @category{Package draw}
690 @closecatbox
692 @end defvr
694 @defvr {グラフィックオプション} contour
695 デフォルト値: @code{none}
697 オプション@code{contour}を使うと、ユーザーは
698 等高線をプロットする場所を選択できます。
699 可能な値は以下の通りです:
701 @itemize @bullet
703 @item
704 @code{none}:
705 等高線がプロットされません。
707 @item
708 @code{base}:
709 等高線がxy平面上に射影されます。
711 @item
712 @code{surface}:
713 等高線が表面にプロットされます。
715 @item
716 @code{both}:
717 2つの等高線がプロットされます:xy平面上と表面と。
719 @item
720 @code{map}:
721 等高線がxy平面上に射影されて、観点がちょうど垂直に設定されます。
723 @end itemize
725 これはグローバルグラフィックオプションなので、
726 シーン記述での位置はかまいません。
728 例:
730 @example
731 (%i1) load(draw)$
732 (%i2) draw3d(explicit(20*exp(-x^2-y^2)-10,x,0,2,y,-3,3),
733              contour_levels = 15,
734              contour        = both,
735              surface_hide   = true) $
736 @end example
738 @opencatbox
739 @category{Package draw}
740 @closecatbox
742 @end defvr
745 @defvr {グラフィックオプション} contour_levels
746 デフォルト値: 5
748 このグラフィックオプションは、
749 等高線が描かれる方法を制御します。
750 @code{contour_levels}は、正の整数、3つの数のリスト、または、
751 数の任意の集合に設定することができます:
753 @itemize @bullet
754 @item
755 オプション@code{contour_levels}が正の整数@var{n}にバインド(bounded)されている時、
756 @var{n}この等高線が等しい間隔で描かれます。
757 デフォルトでは、
758 5つの等しく間隔の空けられた等高線がプロットされます。
760 @item
761 オプション@code{contour_levels}が
762 形式@code{[lowest,s,highest]}の長さ3のリストにバインド(bounded)されている時、
763 等高線は
764 @code{lowest}から@code{highest}へ@code{s}個のステップでプロットされます。
766 @item
767 オプション@code{contour_levels}が
768 形式@code{@{n1, n2, ...@}}の数の集合にバインド(bounded)されている時、
769 等高線は
770 値@code{n1}, @code{n2}, ...にプロットされます。
771 @end itemize
773 これはグローバルグラフィックオプションなので、
774 シーン記述での位置はかまいません。
776 例:
778 10の等しく間隔の空けられた等高線。
779 レベルの実際の数は簡単なラベルを与えるために調整することができます。
780 @example
781 (%i1) load(draw)$
782 (%i2) draw3d(color = green,
783              explicit(20*exp(-x^2-y^2)-10,x,0,2,y,-3,3),
784              contour_levels = 10,
785              contour        = both,
786              surface_hide   = true) $
787 @end example
790 -8から8まで4つのステップで。
791 @example
792 (%i1) load(draw)$
793 (%i2) draw3d(color = green,
794              explicit(20*exp(-x^2-y^2)-10,x,0,2,y,-3,3),
795              contour_levels = [-8,4,8],
796              contour        = both,
797              surface_hide   = true) $
798 @end example
800 レベル-7, -6, 0.8, 5での等値線。
801 @example
802 (%i1) load(draw)$
803 (%i2) draw3d(color = green,
804              Explicit(20*exp(-x^2-y^2)-10,x,0,2,y,-3,3),
805              Contour_levels = @{-7, -6, 0.8, 5@},
806              Contour        = both,
807              Surface_hide   = true) $
808 @end example
810 @code{contour}も参照してください。
812 @opencatbox
813 @category{Package draw}
814 @closecatbox
816 @end defvr
819 @defvr {グラフィックオプション} data_file_name
820 デフォルト値: @code{"data.gnuplot"}
822 これは、
823 リクエストされたプロットを構築するためにGnuplotが必要とする数値データを含む
824 ファイルの名前です。
826 これはグローバルグラフィックスオプションなので、
827 シーン記述の位置は問題なりません。
828 関数@code{draw}の引数としても使うことができます。
830 @code{gnuplot_file_name}の中で例を参照してください。
832 @opencatbox
833 @category{Package draw}
834 @closecatbox
836 @end defvr
838 @defvr {グラフィックオプション} delay
839 デフォルト値: 5
841 これは
842 アニメーションgifファイルにおけるフレームの1/100秒単位の遅延です。
844 これはグローバルグラフィックスオプションなので、
845 シーン記述の位置は問題なりません。
846 関数@code{draw}の引数としても使うことができます。
848 例:
850 @example
851 (%i1) load(draw)$
852 (%i2) draw(
853         delay     = 100,
854         file_name = "zzz",
855         terminal  = 'animated_gif,
856         gr2d(explicit(x^2,x,-1,1)),
857         gr2d(explicit(x^3,x,-1,1)),
858         gr2d(explicit(x^4,x,-1,1)));
859 End of animation sequence
860 (%o2)          [gr2d(explicit), gr2d(explicit), gr2d(explicit)]
861 @end example
863 オプション@code{delay}はアニメーションgifに関してだけアクティブです;
864 他のいかなる場合も無視されます。
866 @code{terminal}, @code{dimensions}も参照してください。
868 @opencatbox
869 @category{Package draw}
870 @closecatbox
872 @end defvr
875 @defvr {グラフィックオプション} dimensions
876 デフォルト値: @code{[600,500]}
878 出力端末の寸法。
879 その値は、幅と高さで形成されるリストです。
880 2つの数の意味は使っている端末に依存します。
882 端末@code{gif}, @code{animated_gif}, @code{png}, @code{jpg},
883 @code{svg}, @code{screen}, @code{wxt}, @code{aquaterm}では、
884 整数はそれぞれの方向の点の数を表します。
885 もし整数でないなら、丸められます。
887 端末@code{eps}, @code{eps_color}, @code{pdf}, @code{pdfcairo}では、
888 両方の数は1/100cm単位の長さを表します。
889 デフォルトでは、これらのフォーマットでの画像は幅6cm、高さ5cmであることを意味します。
891 これはグローバルグラフィックオプションなので、
892 シーン記述での位置は関係ありません。
893 関数@code{draw}の引数として使われることもあります。
895 例:
897 ファイル出力とwxtキャンバスに適用されたオプション@code{dimensions}。
899 @example
900 (%i1) load(draw)$
901 (%i2) draw2d(
902         dimensions = [300,300],
903         terminal   = 'png,
904         explicit(x^4,x,-1,1)) $
905 (%i3) draw2d(
906         dimensions = [300,300],
907         terminal   = 'wxt,
908         explicit(x^4,x,-1,1)) $
909 @end example
911 eps出力に適用されたオプション@code{dimensions}。
912 A4縦寸法のepsファイルが欲しいです。
914 @example
915 (%i1) load(draw)$
916 (%i2) A4portrait: 100*[21, 29.7]$
917 (%i3) draw3d(
918         dimensions = A4portrait,
919         terminal   = 'eps,
920         explicit(x^2-y^2,x,-2,2,y,-2,2)) $
921 @end example
923 @opencatbox
924 @category{Package draw}
925 @closecatbox
927 @end defvr
931 @defvr {グラフィックオプション} enhanced3d
932 デフォルト値: @code{false}
934 もし@code{enhanced3d}が@code{false}なら、
935 3dプロットで表面は色付けられません。
936 もし@code{enhanced3d}が@code{true}なら、
937 Gnuplotのpm3dモードを設定して表面が色付けられます。
938 もし式が@code{enhanced3d}に与えられるなら、
939 それは@code{palette}に従って色を割り当てるのに使われます;
940 この式の中の変数は表面記述で使われるものと同じでなければいけません。
942 如何にパレットが指定されるか知るためには、オプション@code{palette}を参照してください。
944 例:
946 @example
947 (%i1) load(draw)$
948 (%i2) draw3d(
949          surface_hide = true,
950          enhanced3d   = true,
951          palette      = gray,
952          explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3))$
953 (%i3) draw3d(
954          surface_hide = true,
955          /* same variables x and y as */
956          /* in explicit below:        */
957          enhanced3d   = sin(x*y),
958          explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3))$
959 (%i4) draw3d(
960          color = blue,
961          nticks = 60,
962          line_width = 3,
963          enhanced3d = (u-1)^2,
964          parametric(cos(5*u)^2,sin(7*u),u-2,u,0,2))$
965 @end example
967 @opencatbox
968 @category{Package draw}
969 @closecatbox
971 @end defvr
974 @defvr {グラフィックオプション} error_type
975 デフォルト値: @code{y}
977 値は@code{x}, @code{y}, @code{xy}を取り得ますが、その値に依存して、
978 グラフィックオブジェクト@code{errors}は水平エラーバー、垂直エラーバー、その両方を伴って
979 点を描画します。
980 @code{error_type=boxes}の時、クロスの代わりにボックスが描かれます。
982 @code{errors}も参照してください。
983 @end defvr
986 @defvr {グラフィックオプション} file_name
987 デフォルト値: @code{"maxima_out"}
989 これは、
990 端末@code{png}, @code{jpg}, @code{eps}, @code{eps_color}, @code{pdf}, @code{pdfcairo}がグラフィックを保存する
991 ファイルの名前です。
993 これはグローバルグラフィックスオプションなので、
994 シーン記述の位置は問題なりません。
996 例:
998 @example
999 (%i1) load(draw)$
1000 (%i2) draw2d(file_name = "myfile",
1001              explicit(x^2,x,-1,1),
1002              terminal  = 'png)$
1003 @end example
1005 @code{terminal}, @code{dimensions}も参照してください。
1007 @opencatbox
1008 @category{Package draw}
1009 @closecatbox
1011 @end defvr
1013 @defvr {グラフィックオプション} fill_color
1014 デフォルト値: @code{"red"}
1016 @code{fill_color}はポリゴンと2d @code{explicit}関数を塗りつぶすための色を指定します。
1018 如何に色が指定されるかを知るには@code{color}を参照してください。
1020 @opencatbox
1021 @category{Package draw}
1022 @closecatbox
1024 @end defvr
1026 @defvr {グラフィックオプション} fill_density
1027 デフォルト値: 0
1029 @code{fill_density}は、@code{bars}オブジェクトに関して@code{fill_color}の強度を指定する0と1の間の数です。
1031 例を見るには@code{bars}を参照してください。
1032 @end defvr
1036 @defvr {グラフィックオプション} filled_func
1037 デフォルト値: @code{false}
1039 オプション@code{filled_func}は
1040 関数によって制限された領域が如何に塗りつぶされるべきかを
1041 制御します。
1042 @code{filled_func}が@code{true}の時、
1043 オブジェクト@code{explicit}とグラフィックウィンドウの底で定義された関数によって
1044 閉ざされた領域は@code{fill_color}で塗りつぶされます。
1045 @code{filled_func}が関数式を含む時、
1046 この関数とオブジェクト@code{explicit} で定義された関数によって閉ざされた領域が
1047 塗りつぶされます。
1048 デフォルトでは、陽な関数は塗りつぶされません。
1050 このオプションは2dグラフィックオブジェクト@code{explicit}だけに影響します。
1052 例:
1054 @code{explicit}オブジェクトとグラフィックウィンドウによって閉ざされた領域。
1055 @example
1056 (%i1) load(draw)$
1057 (%i2) draw2d(fill_color  = red,
1058              filled_func = true,
1059              explicit(sin(x),x,0,10) )$
1060 @end example
1062 @code{explicit}オブジェクト
1063 とオプション@code{filled_func}で定義された関数によって閉ざされた領域。
1064 @code{filled_func}の中の変数は must be the same as that used in 
1065 @code{explicit}の中で使われるものと同じでなければいけないことに注意してください。
1066 @example
1067 (%i1) load(draw)$
1068 (%i2) draw2d(fill_color  = grey,
1069              filled_func = sin(x),
1070              explicit(-sin(x),x,0,%pi));
1071 @end example
1073 @code{fill_color}と@code{explicit}も参照してください。
1075 @opencatbox
1076 @category{Package draw}
1077 @closecatbox
1079 @end defvr
1081 @defvr {グラフィックオプション} font
1082 デフォルト値: @code{""} (empty string)
1084 このオプションは
1085 端末が使う書体を設定するために使うことができます。
1086 プロットを通して書体とサイズは1つだけ使うことができます。
1088 これはグローバルグラフィックスオプションなので、
1089 シーン記述の位置は問題になりません。
1091 @code{font_size}も参照してください。
1093 Gnuplotはそれ自身フォントを扱いません。
1094 異なる端末のサポートライブラリに任せます。
1095 それぞれはフォントに関して独自の哲学を持っています。
1096 簡単なまとめは以下の通りです:
1098 @itemize @bullet
1099 @item
1100 @i{x11}:
1101 通常のX11フォンとサーバーメカニズムを使います。
1103 例:
1104 @example
1105 (%i1) load(draw)$
1106 (%i2) draw2d(font      = "Arial", 
1107              font_size = 20,
1108              label(["Arial font, size 20",1,1]))$
1109 @end example
1111 @item
1112 @i{windows}:
1113 Windows端末はプロット内部でフォントの変更をサポートしません。
1114 一旦プロットが生成されると、グラフウィンドウのメニューを右クリックしてフォントを変更することができます。
1116 @item
1117 @i{png, jpeg, gif}:
1118 @i{libgd}ライブラリは
1119 環境変数@env{GDFONTPATH}の中に保持されたフォントパスを使います;
1120 この場合、オプション@code{font}をフォント名に設定することだけが必要です。
1121 フォントファイルへの完全なパスを与えることも可能です。
1123 例:
1125 オプション@code{font}はフォントファイルへの完全なパスを与えることができます:
1126 @example
1127 (%i1) load(draw)$
1128 (%i2) path: "/usr/share/fonts/truetype/freefont/" $
1129 (%i3) file: "FreeSerifBoldItalic.ttf" $
1130 (%i4) draw2d(
1131         font      = concat(path, file), 
1132         font_size = 20,
1133         color     = red,
1134         label(["FreeSerifBoldItalic font, size 20",1,1]),
1135         terminal  = png)$
1136 @end example
1138 もし環境変数@env{GDFONTPATH}が
1139 フォントファイルが配置されているパスに設定されているなら、
1140 set グラフィックオプション@code{font}をフォント名に設定することが可能です。
1141 @example
1142 (%i1) load(draw)$
1143 (%i2) draw2d(
1144         font      = "FreeSerifBoldItalic", 
1145         font_size = 20,
1146         color     = red,
1147         label(["FreeSerifBoldItalic font, size 20",1,1]),
1148         terminal  = png)$
1149 @end example
1151 @item
1152 @i{Postscript}:
1153 標準ポストスクリプトフォントは以下の通りです:@*
1154 @code{"Times-Roman"}, @code{"Times-Italic"}, @code{"Times-Bold"},
1155 @code{"Times-BoldItalic"},@*
1156 @code{"Helvetica"}, @code{"Helvetica-Oblique"}, @code{"Helvetica-Bold"},@*
1157 @code{"Helvetic-BoldOblique"}, @code{"Courier"},
1158 @code{"Courier-Oblique"}, @code{"Courier-Bold"},@*
1159 @code{"Courier-BoldOblique"}。
1160   
1161 例:
1162 @example
1163 (%i1) load(draw)$
1164 (%i2) draw2d(
1165         font      = "Courier-Oblique", 
1166         font_size = 15,
1167         label(["Courier-Oblique font, size 15",1,1]),
1168         terminal = eps)$
1169 @end example
1171 @item
1172 @i{pdf}:
1173 @i{Postscript}と同じフォントを使います。
1175 @item
1176 @i{pdfcairo}:
1177 @i{wxt}と同じフォントを使います。
1179 @item
1180 @i{wxt}:
1181 @i{pango}ライブラリは
1182 @code{fontconfig}ユーティリティを介してフォントを見つけます。
1184 @item
1185 @i{aqua}:
1186 デフォルトは@code{"Times-Roman"}です。
1187 @end itemize
1189 Gnuplotドキュメンテーションは端末とフォントに関する情報の重要なソースです。
1191 @opencatbox
1192 @category{Package draw}
1193 @closecatbox
1195 @end defvr
1199 @defvr {グラフィックオプション} font_size
1200 デフォルト値: 10
1202 このオプションは、
1203 フォントサイズを端末によって使われるように設定するために使うことができます。
1204 1つの書体とサイズだけがプロットの間中で使うことができます。
1205 オプション@code{font}が空の文字列に等しくない時だけ、
1206 @code{font_size}はアクティブです。
1208 これはグローバルグラフィックスオプションなので、
1209 シーン記述の位置は問題になりません。
1211 @code{font}も参照してください。
1213 @opencatbox
1214 @category{Package draw}
1215 @closecatbox
1217 @end defvr
1220 @defvr {グラフィックオプション} gnuplot_file_name
1221 デフォルト値: @code{"maxout.gnuplot"}
1223 これは、
1224 Gnuplotで処理される必要なコマンドを含む
1225 ファイルの名前です。
1227 これはグローバルグラフィックスオプションなので、
1228 シーン記述の位置は問題なりません。
1229 関数@code{draw}の引数としても使うことができます。
1231 例:
1233 @example
1234 (%i1) load(draw)$
1235 (%i2) draw2d(
1236        file_name = "my_file",
1237        gnuplot_file_name = "my_commands_for_gnuplot",
1238        data_file_name    = "my_data_for_gnuplot",
1239        terminal          = png,
1240        explicit(x^2,x,-1,1)) $
1241 @end example
1243 @code{data_file_name}も参照してください。
1245 @opencatbox
1246 @category{Package draw}
1247 @closecatbox
1249 @end defvr
1251 @defvr {グラフィックオプション} grid
1252 デフォルト値: @code{false}
1254 もし@code{grid}が@code{true}なら、
1255 @var{xy}平面上に格子が描かれます。
1257 これはグローバルグラフィックスオプションなので、
1258 シーン記述の位置は問題になりません。
1260 例:
1262 @example
1263 (%i1) load(draw)$
1264 (%i2) draw2d(grid = true,
1265              explicit(exp(u),u,-2,2))$
1266 @end example
1268 @opencatbox
1269 @category{Package draw}
1270 @closecatbox
1272 @end defvr
1274 @defvr {グラフィックオプション} head_angle
1275 デフォルト値: 45
1277 @code{head_angle}は矢印の頭と線分の間の角度を度の単位で示します。
1279 このオプションは@code{vector}オブジェクトに対してだけ有効です。
1281 例:
1283 @example
1284 (%i1) load(draw)$
1285 (%i2) draw2d(xrange      = [0,10],
1286              yrange      = [0,9],
1287              head_length = 0.7,
1288              head_angle  = 10,
1289              vector([1,1],[0,6]),
1290              head_angle  = 20,
1291              vector([2,1],[0,6]),
1292              head_angle  = 30,
1293              vector([3,1],[0,6]),
1294              head_angle  = 40,
1295              vector([4,1],[0,6]),
1296              head_angle  = 60,
1297              vector([5,1],[0,6]),
1298              head_angle  = 90,
1299              vector([6,1],[0,6]),
1300              head_angle  = 120,
1301              vector([7,1],[0,6]),
1302              head_angle  = 160,
1303              vector([8,1],[0,6]),
1304              head_angle  = 180,
1305              vector([9,1],[0,6]) )$
1306 @end example
1308 @code{head_both}, @code{head_length}, @code{head_type}も参照してください。
1310 @opencatbox
1311 @category{Package draw}
1312 @closecatbox
1314 @end defvr
1317 @defvr {グラフィックオプション} head_both
1318 デフォルト値: @code{false}
1320 もし@code{head_both}が@code{true}なら、
1321 ベクトルは2つの矢先と共に描画されます。
1322 もし@code{false}なら1つの矢だけが描かれます。
1324 このオプションは@code{vector}オブジェクトに対してだけ有効です。
1326 例:
1328 @example
1329 (%i1) load(draw)$
1330 (%i2) draw2d(xrange      = [0,8],
1331              yrange      = [0,8],
1332              head_length = 0.7,
1333              vector([1,1],[6,0]),
1334              head_both   = true,
1335              vector([1,7],[6,0]) )$
1336 @end example
1338 See also @code{head_length}, @code{head_angle}, and @code{head_type}. 
1340 @opencatbox
1341 @category{Package draw}
1342 @closecatbox
1344 @end defvr
1348 @defvr {グラフィックオプション} head_length
1349 デフォルト値: 2
1351 @code{head_length}は矢印の頭の長さを@var{x}-軸の単位で示します。
1353 このオプションは@code{vector}オブジェクトに対してだけ有効です。
1355 例:
1357 @example
1358 (%i1) load(draw)$
1359 (%i2) draw2d(xrange      = [0,12],
1360              yrange      = [0,8],
1361              vector([0,1],[5,5]),
1362              head_length = 1,
1363              vector([2,1],[5,5]),
1364              head_length = 0.5,
1365              vector([4,1],[5,5]),
1366              head_length = 0.25,
1367              vector([6,1],[5,5]))$
1368 @end example
1370 @code{head_both}, @code{head_angle}, @code{head_type}も参照してください。
1372 @opencatbox
1373 @category{Package draw}
1374 @closecatbox
1376 @end defvr
1383 @defvr {グラフィックオプション} head_type
1384 デフォルト値: @code{filled}
1386 @code{head_type}は矢印の頭を如何にプロットするかを指定するのに使われます。
1387 可能な値は以下の通りです: @code{filled} (閉じていて塗りつぶされた矢印の頭), @code{empty}
1388 (閉じているが塗りつぶされていない矢印の頭), @code{nofilled} (開いた矢印の頭).
1390 このオプションは@code{vector}オブジェクトにだけ有効です。
1392 例:
1394 @example
1395 (%i1) load(draw)$
1396 (%i2) draw2d(xrange      = [0,12],
1397              yrange      = [0,10],
1398              head_length = 1,
1399              vector([0,1],[5,5]), /* default type */
1400              head_type = 'empty,
1401              vector([3,1],[5,5]),
1402              head_type = 'nofilled,
1403              vector([6,1],[5,5]))$
1404 @end example
1406 @code{head_both}, @code{head_angle}, @code{head_length}も参照してください。
1408 @opencatbox
1409 @category{Package draw}
1410 @closecatbox
1412 @end defvr
1414 @defvr {グラフィックオプション} ip_grid
1415 デフォルト値: @code{[50, 50]}
1417 @code{ip_grid}はインプリシットなプロットでの最初のサンプリングのためにグリッドを設定します。
1419 このオプションは@code{implicit}オブジェクトに対してだけ関係があります。
1421 @opencatbox
1422 @category{Package draw}
1423 @closecatbox
1425 @end defvr
1429 @defvr {グラフィックオプション} ip_grid_in
1430 デフォルト値: @code{[5, 5]}
1432 @code{ip_gridi_in}はインプリシットなプロットでの二番目のサンプリングのためにグリッドを設定します。
1434 このオプションは@code{implicit}オブジェクトに対してだけ関係があります。
1436 @opencatbox
1437 @category{Package draw}
1438 @closecatbox
1440 @end defvr
1442 @defvr {グラフィックオプション} key
1443 デフォルト値: @code{""} (empty string)
1445 @code{key}は凡例の中の関数名です。
1446 もし@code{key}が空の文字列なら、
1447 関数にキーは割り当てられません。
1449 このオプションは以下のグラフィックオブジェクトに影響します:
1450 @itemize @bullet
1451 @item
1452 @code{gr2d}: @code{points}, @code{polygon}, @code{rectangle},
1453 @code{ellipse}, @code{vector}, @code{explicit}, @code{implicit},
1454 @code{parametric}, と@code{polar}。
1456 @item
1457 @code{gr3d}: @code{points}, @code{explicit}, @code{parametric},
1458 と@code{parametric_surface}
1459 @end itemize
1461 例:
1463 @example
1464 (%i1) load(draw)$
1465 (%i2) draw2d(key   = "Sinus",
1466              explicit(sin(x),x,0,10),
1467              key   = "Cosinus",
1468              color = red,
1469              explicit(cos(x),x,0,10) )$
1470 @end example
1472 @opencatbox
1473 @category{Package draw}
1474 @closecatbox
1476 @end defvr
1479 @defvr {グラフィックオプション} label_alignment
1480 デフォルト値: @code{center}
1482 @code{label_alignment}は
1483 与えられた座標に関するラベルを書く場所を指定するのに使われます。
1484 可能な値は以下のものです: @code{center}, @code{left}, @code{right}.
1486 このオプションは@code{label}オブジェクトに対してだけ有効です。
1488 例:
1490 @example
1491 (%i1) load(draw)$
1492 (%i2) draw2d(xrange          = [0,10],
1493              yrange          = [0,10],
1494              points_joined   = true,
1495              points([[5,0],[5,10]]),
1496              color           = blue,
1497              label(["Centered alignment (default)",5,2]),
1498              label_alignment = 'left,
1499              label(["Left alignment",5,5]),
1500              label_alignment = 'right,
1501              label(["Right alignment",5,8]))$
1502 @end example
1504 @code{label_orientation}, @code{color}も参照してください。
1506 @opencatbox
1507 @category{Package draw}
1508 @closecatbox
1510 @end defvr
1514 @defvr {グラフィックオプション} label_orientation
1515 デフォルト値: @code{horizontal}
1517 @code{label_orientation}はラベルの向きを指定するのに使われます。
1518 可能な値は以下のものです: @code{horizontal}, @code{vertical}.
1520 このオプションは@code{label}オブジェクトに対してだけ有効です。
1522 例:
1524 この例では、ダミーの点がイメージを得るために加えられます。
1525 パッケージ@code{draw}はいつもシーンを描くのにデータを必要とします。
1526 @example
1527 (%i1) load(draw)$
1528 (%i2) draw2d(xrange     = [0,10],
1529              yrange     = [0,10],
1530              point_size = 0,
1531              points([[5,5]]),
1532              color      = navy,
1533              label(["Horizontal orientation (default)",5,2]),
1534              label_orientation = 'vertical,
1535              color             = "#654321",
1536              label(["Vertical orientation",1,5]))$
1537 @end example
1539 @code{label_alignment}と@code{color}も参照してください。
1541 @opencatbox
1542 @category{Package draw}
1543 @closecatbox
1545 @end defvr
1547 @defvr {グラフィックオプション} line_type
1548 デフォルト値: @code{solid}
1550 @code{line_type}は線が如何に表示されるかを示します;
1551 可能な値は@code{solid}と@code{dots}です。
1553 このオプションは以下のグラフィックオブジェクトに鋭意供します:
1554 @itemize @bullet
1555 @item
1556 @code{gr2d}: @code{points}, @code{polygon}, @code{rectangle}, 
1557 @code{ellipse}, @code{vector}, @code{explicit}, @code{implicit}, 
1558 @code{parametric}と@code{polar}。
1560 @item
1561 @code{gr3d}: @code{points}, @code{explicit}, @code{parametric}と@code{parametric_surface}。
1562 @end itemize
1564 例:
1566 @example
1567 (%i1) load(draw)$
1568 (%i2) draw2d(line_type = dots,
1569              explicit(1 + x^2,x,-1,1),
1570              line_type = solid, /* default */
1571              explicit(2 + x^2,x,-1,1))$
1572 @end example
1574 See also @code{line_width}.
1576 @opencatbox
1577 @category{Package draw}
1578 @closecatbox
1580 @end defvr
1582 @defvr {グラフィックオプション} line_width
1583 デフォルト値: 1
1585 @code{line_width}はプロットされる線の幅です。
1586 その値は正の数でなければいけません。
1588 このオプションは以下のグラフィックオブジェクトに影響します:
1589 @itemize @bullet
1590 @item
1591 @code{gr2d}: @code{points}, @code{polygon}, @code{rectangle}, 
1592 @code{ellipse}, @code{vector}, @code{explicit}, @code{implicit}, 
1593 @code{parametric} と@code{polar}.
1595 @item
1596 @code{gr3d}: @code{points}と@code{parametric}.
1597 @end itemize
1599 例:
1601 @example
1602 (%i1) load(draw)$
1603 (%i2) draw2d(explicit(x^2,x,-1,1), /* default width */
1604              line_width = 5.5,
1605              explicit(1 + x^2,x,-1,1),
1606              line_width = 10,
1607              explicit(2 + x^2,x,-1,1))$
1608 @end example
1610 @code{line_type}も参照してください。
1612 @opencatbox
1613 @category{Package draw}
1614 @closecatbox
1616 @end defvr
1618 @defvr {グラフィックオプション} logcb
1619 デフォルト値: @code{false}
1621 もし@code{logcb}が@code{true}なら、
1622 カラーボックスのチックは対数スケールで描かれます。
1624 @code{enhanced3d}か@code{colorbox}が@code{false}の時、
1625 オプション@code{logcb}は効果を持ちません。
1627 これはグローバルグラフィックスオプションなので、
1628 シーン記述の位置は問題になりません。
1630 例:
1632 @example
1633 (%i1) load(draw)$
1634 (%i2) draw3d (
1635         enhanced3d = true,
1636         color      = green,
1637         logcb = true,
1638         logz  = true,
1639         palette = [-15,24,-9],
1640         explicit(exp(x^2-y^2), x,-2,2,y,-2,2)) $
1641 @end example
1643 @code{enhanced3d}, @code{colorbox}, @code{cbrange}も参照してください。
1645 @opencatbox
1646 @category{Package draw}
1647 @closecatbox
1649 @end defvr
1651 @defvr {グラフィックオプション} logx
1652 デフォルト値: @code{false}
1654 もし@code{logx}が@code{true}なら、
1655 @var{x}軸は対数スケールで描かれます。
1657 これはグローバルグラフィックスオプションなので、
1658 シーン記述の位置は問題になりません。
1660 例:
1662 @example
1663 (%i1) load(draw)$
1664 (%i2) draw2d(explicit(log(x),x,0.01,5),
1665              logx = true)$
1666 @end example
1668 @code{logy}, @code{logz}も参照してください。
1670 @opencatbox
1671 @category{Package draw}
1672 @closecatbox
1674 @end defvr
1678 @defvr {グラフィックオプション} logy
1679 デフォルト値: @code{false}
1681 もし@code{logy}が@code{true}なら、
1682 @var{y}軸は対数スケールで描かれます。
1684 これはグローバルグラフィックスオプションなので、
1685 シーン記述の位置は問題になりません。
1687 例:
1689 @example
1690 (%i1) load(draw)$
1691 (%i2) draw2d(logy = true,
1692              explicit(exp(x),x,0,5))$
1693 @end example
1695 @code{logx}, @code{logz}も参照してください。
1697 @opencatbox
1698 @category{Package draw}
1699 @closecatbox
1701 @end defvr
1705 @defvr {グラフィックオプション} logz
1706 デフォルト値: @code{false}
1708 もし@code{logz}が@code{true}なら、
1709 @var{z}軸は対数スケールで描かれます。
1711 これはグローバルグラフィックスオプションなので、
1712 シーン記述の位置は問題になりません。
1714 例:
1716 @example
1717 (%i1) load(draw)$
1718 (%i2) draw3d(logz = true,
1719              explicit(exp(u^2+v^2),u,-2,2,v,-2,2))$
1720 @end example
1722 @code{logx}, @code{logy}も参照してください。
1724 @opencatbox
1725 @category{Package draw}
1726 @closecatbox
1728 @end defvr
1731 @defvr {グラフィックオプション} nticks
1732 デフォルト値: 29
1734 2dでは、@code{nticks}は、
1735 陽なオブジェクトに関する適応プロットルーチンによって使われる点の初期数を与えます。
1736 それはパラメトリック曲線と極座標曲線で示される点の数でもあります。
1738 このオプションは以下のグラフィックオブジェクトに影響を与えます:
1739 @itemize @bullet
1740 @item
1741 @code{gr2d}: @code{ellipse}, @code{explicit}, @code{parametric}と@code{polar}。
1743 @item
1744 @code{gr3d}: @code{parametric}。
1745 @end itemize
1747 例:
1749 @example
1750 (%i1) load(draw)$
1751 (%i2) draw2d(transparent = true,
1752              ellipse(0,0,4,2,0,180),
1753              nticks = 5,
1754              ellipse(0,0,4,2,180,180) )$
1755 @end example
1757 @opencatbox
1758 @category{Package draw}
1759 @closecatbox
1761 @end defvr
1763 @defvr {グラフィックオプション} palette
1764 デフォルト値: @code{color}
1766 @code{palette}はグレイレベルを色成分上にマップする仕方を示します。
1767 3Dオブジェクトでのオプション@code{enhanced3d}と一緒に機能します。
1768 3Dオブジェクトは表面のすべての点を実数かグレイレベルに関連付けます。
1769 グレイイメージとも一緒に機能します。@code{palette}によってレベルは色に変換されます。
1771 これらの変換を定義するには2つの方法があります。
1773 1つ目の方法では、@code{palette}は、-36から+36までの範囲の成分の長さ3のベクトルです;
1774 それぞれの値は
1775 それぞれ赤、緑、青色上にレベルをマップする公式に関する添字です:
1776 @example
1777  0: 0               1: 0.5           2: 1
1778  3: x               4: x^2           5: x^3
1779  6: x^4             7: sqrt(x)       8: sqrt(sqrt(x))
1780  9: sin(90x)       10: cos(90x)     11: |x-0.5|
1781 12: (2x-1)^2       13: sin(180x)    14: |cos(180x)|
1782 15: sin(360x)      16: cos(360x)    17: |sin(360x)|
1783 18: |cos(360x)|    19: |sin(720x)|  20: |cos(720x)|
1784 21: 3x             22: 3x-1         23: 3x-2
1785 24: |3x-1|         25: |3x-2|       26: (3x-1)/2 
1786 27: (3x-2)/2       28: |(3x-1)/2|   29: |(3x-2)/2|
1787 30: x/0.32-0.78125 31: 2*x-0.84     32: 4x;1;-2x+1.84;x/0.08-11.5
1788 33: |2*x - 0.5|    34: 2*x          35: 2*x - 0.5
1789 36: 2*x - 1
1790 @end example
1791 負の数は負の色成分を意味します。
1792 @code{palette = gray}と@code{palette = color}は、
1793 それぞれ@code{palette = [3,3,3]}と@code{palette = [7,5,15]}の
1794 ショートカットです
1796 2つ目の方法では、@code{palette}はユーザー定義のルックアップテーブルです。
1797 この場合、長さ@code{n}のルックアップテーブルを構成するフォーマットは
1798 @code{palette=[color_1, color_2, ..., color_n}です。
1799 ここで、@code{color_i}は、@code{color_i}が最低のグレイレベルに割り当てられ、
1800 @code{color_n}が最高に割り当てられるような均整のとれた色です
1801 (オプション@code{color}を参照してください)。
1802 残りの色は内挿されます。
1804 これはグローバルグラフィックスオプションなので、
1805 シーン記述の位置は問題なりません。
1807 例:
1809 3Dオブジェクトでのオプション@code{enhanced3d}と一緒に機能します。
1811 @example
1812 (%i1) load(draw)$
1813 (%i2) draw3d(
1814         enhanced3d = [z-x+2*y,x,y,z],
1815         palette = [32, -8, 17],
1816         explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3))$
1817 @end example
1819 グレイイメージとも一緒に機能します。
1821 @example
1822 (%i1) load(draw)$
1823 (%i2) im: apply(
1824            'matrix,
1825             makelist(makelist(random(200),i,1,30),i,1,30))$
1826 (%i3) /* palette = color, default */
1827       draw2d(image(im,0,0,30,30))$
1828 (%i4) draw2d(palette = gray, image(im,0,0,30,30))$
1829 (%i5) draw2d(palette = [15,20,-4],
1830              colorbox=false,
1831              image(im,0,0,30,30))$
1832 @end example
1833 @code{palette}はユーザー定義のルックアップテーブルの場合があります。
1834 この例では、ple, low values of 
1835 @code{x}の低いレベルは赤に割り当てられ、高いレベルは黄色に割り当てられています。
1837 @example
1838 (%i1) load(draw)$
1839 (%i2) draw3d(
1840          palette = [red, blue, yellow],
1841          enhanced3d = x,
1842          explicit(x^2+y^2,x,-1,1,y,-1,1)) $
1843 @end example
1845 @code{colorbox}も参照してください。
1847 @opencatbox
1848 @category{Package draw}
1849 @closecatbox
1851 @end defvr
1854 @defvr {グラフィックオプション} point_size
1855 デフォルト値: 1
1857 @code{point_size}はプロットされる点のサイズを設定します。
1858 非負数でなければいけません。
1860 グラフィックオプション@code{point_type}が@code{dot}に設定される時
1861 このオプションは効果を持ちません。
1863 このオプションは以下のグラフィックオブジェクトに影響します:
1864 @itemize @bullet
1865 @item
1866 @code{gr2d}: @code{points}.
1868 @item
1869 @code{gr3d}: @code{points}.
1870 @end itemize
1872 例:
1874 @example
1875 (%i1) load(draw)$
1876 (%i2) draw2d(points(makelist([random(20),random(50)],k,1,10)),
1877         point_size = 5,
1878         points(makelist(k,k,1,20),makelist(random(30),k,1,20)))$
1879 @end example
1881 @opencatbox
1882 @category{Package draw}
1883 @closecatbox
1885 @end defvr
1887 @defvr {グラフィックオプション} point_type
1888 デフォルト値: 1
1890 @code{point_type}は、いかに孤立した点が表示されるかを示します;
1891 このオプションの値は、-1以上の整数インデックスもしくは点スタイルの名前であり得ます:
1892 @code{$none} (-1), @code{dot} (0), @code{plus} (1), @code{multiply} (2),
1893 @code{asterisk} (3), @code{square} (4), @code{filled_square} (5), @code{circle} (6),
1894 @code{filled_circle} (7), @code{up_triangle} (8), @code{filled_up_triangle} (9),
1895 @code{down_triangle} (10), @code{filled_down_triangle} (11), @code{diamant} (12),@code{filled_diamant} (13).
1897 このオプションは以下のグラフィックオブジェクトに影響します:
1898 @itemize @bullet
1899 @item
1900 @code{gr2d}: @code{points}.
1902 @item
1903 @code{gr3d}: @code{points}.
1904 @end itemize
1906 例:
1908 @example
1909 (%i1) load(draw)$
1910 (%i2) draw2d(xrange = [0,10],
1911              yrange = [0,10],
1912              point_size = 3,
1913              point_type = diamant,
1914              points([[1,1],[5,1],[9,1]]),
1915              point_type = filled_down_triangle,
1916              points([[1,2],[5,2],[9,2]]),
1917              point_type = asterisk,
1918              points([[1,3],[5,3],[9,3]]),
1919              point_type = filled_diamant,
1920              points([[1,4],[5,4],[9,4]]),
1921              point_type = 5,
1922              points([[1,5],[5,5],[9,5]]),
1923              point_type = 6,
1924              points([[1,6],[5,6],[9,6]]),
1925              point_type = filled_circle,
1926              points([[1,7],[5,7],[9,7]]),
1927              point_type = 8,
1928              points([[1,8],[5,8],[9,8]]),
1929              point_type = filled_diamant,
1930              points([[1,9],[5,9],[9,9]]) )$
1931 @end example
1933 @opencatbox
1934 @category{Package draw}
1935 @closecatbox
1937 @end defvr
1940 @defvr {グラフィックオプション} points_joined
1941 デフォルト値: @code{false}
1943 @code{points_joined}が@code{true}の時、
1944 点は線で結ばれます;
1945 @code{false}の時、孤立した点が描かれます。
1946 このグラフィックオプションの三番目の可能な値は@code{impulses}です;
1947 この場合、点からx軸(2D)もしくはxy平面(3D)へ垂直の線分が描かれます。
1949 このオプションは以下のグラフィックオブジェクトに影響します:
1950 @itemize @bullet
1951 @item
1952 @code{gr2d}: @code{points}.
1954 @item
1955 @code{gr3d}: @code{points}.
1956 @end itemize
1958 例:
1960 @example
1961 (%i1) load(draw)$
1962 (%i2) draw2d(xrange        = [0,10],
1963              yrange        = [0,4],
1964              point_size    = 3,
1965              point_type    = up_triangle,
1966              color         = blue,
1967              points([[1,1],[5,1],[9,1]]),
1968              points_joined = true,
1969              point_type    = square,
1970              line_type     = dots,
1971              points([[1,2],[5,2],[9,2]]),
1972              point_type    = circle,
1973              color         = red,
1974              line_width    = 7,
1975              points([[1,3],[5,3],[9,3]]) )$
1976 @end example
1978 @opencatbox
1979 @category{Package draw}
1980 @closecatbox
1982 @end defvr
1984 @defvr {グラフィックオプション} proportional_axes
1985 デフォルト値: @code{none}
1987 @code{proportional_axes}が@code{xy}に等しい時、
1988 それらの相対的な長さに比例する軸で2Dシーンが描かれます。
1990 これはグローバルグラフィックスオプションなので、
1991 シーン記述の位置は問題になりません。
1993 このオプションは2Dプロットでだけ機能します。
1994 一旦Gnuplot 4.3が公式にリリースされたら、
1995 @code{proportional_axes}は3Dプロットに拡張させるでしょう。
1997 例:
1999 単プロット。
2001 @example
2002 (%i1) load(draw)$
2003 (%i2) draw2d(
2004         ellipse(0,0,1,1,0,360),
2005         transparent=true,
2006         color = blue,
2007         line_width = 4,
2008         ellipse(0,0,2,1/2,0,360),
2009         proportional_axes = xy) $
2010 @end example
2012 多重プロット。
2014 @example
2015 (%i1) load(draw)$
2016 (%i2) draw(
2017         terminal = wxt,
2018         gr2d(proportional_axes = xy,
2019              explicit(x^2,x,0,1)),
2020         gr2d(explicit(x^2,x,0,1),
2021              xrange = [0,1],
2022              yrange = [0,2],
2023              proportional_axes=xy),
2024         gr2d(explicit(x^2,x,0,1))
2025 @end example
2027 @opencatbox
2028 @category{Package draw}
2029 @closecatbox
2031 @end defvr
2034 @defvr {グラフィックオプション} surface_hide
2035 デフォルト値: @code{false}
2037 もし@code{surface_hide}が@code{true}なら、
2038 隠れた部分は3d表面にプロットされません。
2040 これはグローバルグラフィックオプションなので、
2041 シーン記述での位置はかまいません。
2043 例:
2045 @example
2046 (%i1) load(draw)$
2047 (%i2) draw(columns=2,
2048            gr3d(explicit(exp(sin(x)+cos(x^2)),x,-3,3,y,-3,3)),
2049            gr3d(surface_hide = true,
2050                 explicit(exp(sin(x)+cos(x^2)),x,-3,3,y,-3,3)) )$
2051 @end example
2053 @opencatbox
2054 @category{Package draw}
2055 @closecatbox
2057 @end defvr
2060 @defvr {グラフィックオプション} terminal
2061 デフォルト値: @code{screen}
2063 Gnuplotが使う端末を選択します; 可能な値は:
2064 @code{screen} (デフォルト), @code{png}, @code{pngcairo}, @code{jpg}, @code{eps}, @code{eps_color},
2065 @code{pdf}, @code{pdfcairo}, @code{gif}, @code{animated_gif}, @code{wxt}, @code{aquaterm}.
2067 端末@code{screen}, @code{wxt}, @code{aquaterm}は2つの要素を持つリストとしても定義できます:
2068 端末自身の名前と非負の整数。
2069 この形式では、それぞれ対応する番号を持つ複数のウィンドウを同時に開くことができます。
2070 この特長はWindowsプラットフォームでは機能しません。
2072 これはグローバルグラフィックスオプションなので、
2073 シーン記述の位置は問題になりません。
2074 関数@code{draw}の引数としても使われます。
2076 注意せよ―pdfcairoはGnuplot 4.3を必要とします。
2077 (2008年11月)現在、Gnuplot 4.3は開発バージョンです。
2078 pdfは、
2079 Gnuplot 4.2/4.3を
2080 オプション@code{--enable-pdf}でコンパイルすることを
2081 必要とし、libpdfがインストールされていなければいけません。
2082 pdfライブラリは以下で利用可能です: @url{http://www.pdflib.com/en/download/pdflib-family/pdflib-lite/}
2084 例:
2086 @example
2087 (%i1) load(draw)$
2088 (%i2) /* screen terminal (default) */
2089       draw2d(explicit(x^2,x,-1,1))$
2090 (%i3) /* png file */
2091       draw2d(terminal  = 'png,
2092              explicit(x^2,x,-1,1))$
2093 (%i4) /* jpg file */
2094       draw2d(terminal   = 'jpg,
2095              dimensions = [300,300],
2096              explicit(x^2,x,-1,1))$
2097 (%i5) /* eps file */
2098       draw2d(file_name = "myfile",
2099              explicit(x^2,x,-1,1),
2100              terminal  = 'eps)$
2101 (%i6) /* pdf file */
2102       draw2d(file_name = "mypdf",
2103              dimensions = 100*[12.0,8.0],
2104              explicit(x^2,x,-1,1),
2105              terminal  = 'pdf)$
2106 (%i7) /* wxwidgets window */
2107       draw2d(explicit(x^2,x,-1,1),
2108              terminal  = 'wxt)$
2109 @end example
2111 複数のウィンドウ。
2112 @example
2113 (%i1) load(draw)$
2114 (%i2) draw2d(explicit(x^5,x,-2,2), terminal=[screen, 3])$
2115 (%i3) draw2d(explicit(x^2,x,-2,2), terminal=[screen, 0])$
2116 @end example
2118 動画gifファイル。
2119 @example
2120 (%i1) load(draw)$
2121 (%i2) draw(
2122         delay     = 100,
2123         file_name = "zzz",
2124         terminal  = 'animated_gif,
2125         gr2d(explicit(x^2,x,-1,1)),
2126         gr2d(explicit(x^3,x,-1,1)),
2127         gr2d(explicit(x^4,x,-1,1)));
2128 End of animation sequence
2129 (%o2)          [gr2d(explicit), gr2d(explicit), gr2d(explicit)]
2130 @end example
2132 オプション@code{delay}は動画gifでだけ有効です;
2133 他のいかなる場合も無視されます。
2135 @code{file_name}, @code{dimensions}, @code{delay}も参照してください。
2137 @opencatbox
2138 @category{Package draw}
2139 @closecatbox
2141 @end defvr
2144 @defvr {グラフィックオプション} title
2145 デフォルト値: @code{""} (empty string)
2147 オプション@code{title}、文字列は、シーンのメインタイトルです。
2148 デフォルトではタイトルは書かれません。
2150 これはグローバルグラフィックスオプションなので、
2151 シーン記述の位置は問題になりません。
2153 例:
2155 @example
2156 (%i1) load(draw)$
2157 (%i2) draw2d(explicit(exp(u),u,-2,2),
2158              title = "Exponential function")$
2159 @end example
2161 @opencatbox
2162 @category{Package draw}
2163 @closecatbox
2165 @end defvr
2167 @defvr {グラフィックオプション} transform
2168 デフォルト値: @code{none}
2170 もし@code{transform}が@code{none}なら、
2171 空間は変換されず、グラフィックオブジェクトは定義の通り描画されます。
2172 空間変換が望まれた時、リストがオプション@code{transform}に割り当てられなければいけません。
2173 2Dシーンの場合、
2174 リストは形式@code{[f1(x,y), f2(x,y), x, y]}を取ります。
2175 3Dシーンの場合、
2176 リストは形式@code{[f1(x,y,z), f2(x,y,z), f3(x,y,z), x, y, z]}を取ります。
2177 リストの中で定義されている変数名は
2178 グラフィックオブジェクトの定義の中で使われるものと異なるかもしれません。
2180 例:
2182 2Dの回転。
2184 @example
2185 (%i1) load(draw)$
2186 (%i2) th : %pi / 4$
2187 (%i3) draw2d(
2188         color = "#e245f0",
2189         proportional_axes = 'xy,
2190         line_width = 8,
2191         triangle([3,2],[7,2],[5,5]),
2192         border     = false,
2193         fill_color = yellow,
2194         transform  = [cos(th)*x - sin(th)*y,
2195                       sin(th)*x + cos(th)*y, x, y],
2196         triangle([3,2],[7,2],[5,5]) )$
2197 @end example
2199 3Dでの変形。
2201 @example
2202 (%i1) load(draw)$
2203 (%i2) draw3d(
2204         color     = "#a02c00",
2205         explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3),
2206         transform = [x+10,y+10,z+10,x,y,z],
2207         color     = blue,
2208         explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3) )$
2209 @end example
2211 @opencatbox
2212 @category{Package draw}
2213 @closecatbox
2214 @end defvr
2216 @defvr {グラフィックオプション} transparent
2217 デフォルト値: @code{false}
2219 もし@code{transparent}が@code{true}なら、
2220 ポリゴンの内側の領域は@code{fill_color}に従って塗りつぶされます。
2222 このオプションは以下のグラフィックオブジェクトに影響します:
2223 @itemize @bullet
2224 @item
2225 @code{gr2d}: @code{polygon}, @code{rectangle}, と@code{ellipse}.
2226 @end itemize
2228 例:
2230 @example
2231 (%i1) load(draw)$
2232 (%i2) draw2d(polygon([[3,2],[7,2],[5,5]]),
2233              transparent = true,
2234              color       = blue,
2235              polygon([[5,2],[9,2],[7,5]]) )$
2236 @end example
2238 @opencatbox
2239 @category{Package draw}
2240 @closecatbox
2242 @end defvr
2244 @defvr {グラフィックオプション} tube_extremes
2245 デフォルト値: @code{[open, open]}
2247 グラフィックオブジェクト@code{tube}の極値が開いたままか
2248 閉じていなければいけないかを示唆する
2249 2つの可能性のある要素@code{open}と@code{closed}を持つリスト。
2250 デフォルトでは、どちらの極値も開いたままです。
2252 例:
2254 @example
2255 (%i1) load(draw)$
2256 (%i2) draw3d(
2257         tube_extremes = [open, closed],
2258         tube(0, 0, a, 1,
2259              a, 0, 8) )$
2260 @end example
2262 @opencatbox
2263 @category{Package draw}
2264 @closecatbox
2266 @end defvr
2269 @defvr {グラフィックオプション} unit_vectors
2270 デフォルト値: @code{false}
2272 もし@code{unit_vectors}が@code{true}なら、
2273 ベクトルは単位1でプロットされます。
2274 これはベクトル場をプロットするのに役に立ちます。
2275 もし@code{unit_vectors}が@code{false}なら、
2276 ベクトルは元の長さでプロットされます。
2278 このオプションは@code{vector}オブジェクトに対してだけ有効です。
2280 例:
2282 @example
2283 (%i1) load(draw)$
2284 (%i2) draw2d(xrange      = [-1,6],
2285              yrange      = [-1,6],
2286              head_length = 0.1,
2287              vector([0,0],[5,2]),
2288              unit_vectors = true,
2289              color        = red,
2290              vector([0,3],[5,2]))$
2291 @end example
2293 @opencatbox
2294 @category{Package draw}
2295 @closecatbox
2297 @end defvr
2299 @defvr {グラフィックオプション} user_preamble
2300 デフォルト値: @code{""} (empty string)
2302 熟練Gnuplotユーザーは、
2303 @code{plot}や@code{splot}コマンドの前に送られる設定を書くことで、
2304 このオプションを利用して、
2305 Gnuplotの振る舞いを微調整することができます。
2307 このオプションの値は文字列か(行毎に1つの)文字列のリスト
2308 でなければいけません。
2310 これはグローバルグラフィックスオプションなので、
2311 シーン記述の位置は問題なりません。
2313 例:
2315 @i{ダム}端末は、パッケージ@code{draw}でサポートされていませんが、
2316 オプション@code{user_preamble}の利用によって、それを設定することが可能です。
2317 @example
2318 (%i1) load(draw)$
2319 (%i2) draw2d(explicit(exp(x)-1,x,-1,1),
2320              parametric(cos(u),sin(u),u,0,2*%pi),
2321              user_preamble="set terminal dumb")$
2322 @end example
2324 @opencatbox
2325 @category{Package draw}
2326 @closecatbox
2328 @end defvr
2331 @defvr {グラフィックオプション} view
2332 デフォルト値: @code{[60,30]}
2334 3Dシーンでビュー方向を示す度数で測られた角度の対。
2335 最初の角度は@var{x}軸回りの垂直回転であり、@math{[0, 180]}の範囲です。
2336 二番目は@var{z}回りの水平回転であり、@math{[0, 360]}の範囲です。
2338 これはグローバルグラフィックスオプションなので、
2339 シーン記述の位置は問題なりません。
2341 例:
2343 @example
2344 (%i1) load(draw)$
2345 (%i2) draw3d(view = [170, 360],
2346              explicit(sin(x^2+y^2),x,-2,2,y,-2,2) )$
2347 @end example
2349 @opencatbox
2350 @category{Package draw}
2351 @closecatbox
2353 @end defvr
2358 @defvr {グラフィックオプション} x_voxel
2359 デフォルト値: 10
2361 @code{x_voxel}は
2362 3d @code{暗黙の}オブジェクトで実装された@i{マーチングキューブアルゴリズム}
2363 x方向のボクセルの数です。
2364 グラフィックオブジェクト@code{region}でも使われます。
2366 @opencatbox
2367 @category{Package draw}
2368 @closecatbox
2370 @end defvr
2372 @defvr {グラフィックオプション} xaxis
2373 デフォルト値: @code{false}
2375 もし@code{xaxis}が@code{true}なら、
2376 @var{x}軸が描かれます。
2378 これはグローバルグラフィックスオプションなので、
2379 シーン記述の位置は問題になりません。
2381 例:
2383 @example
2384 (%i1) load(draw)$
2385 (%i2) draw2d(explicit(x^3,x,-1,1),
2386              xaxis       = true,
2387              xaxis_color = blue)$
2388 @end example
2390 @code{xaxis_width}, @code{xaxis_type}, @code{xaxis_color}も参照してください。
2392 @opencatbox
2393 @category{Package draw}
2394 @closecatbox
2396 @end defvr
2399 @defvr {グラフィックオプション} xaxis_color
2400 デフォルト値: @code{"black"}
2402 @code{xaxis_color}は@var{x}軸の色を指定します。
2403 いかに色が定義されるかを知るには@code{color}を参照してください。
2405 これはグローバルグラフィックスオプションなので、
2406 シーン記述の位置は問題になりません。
2408 例:
2410 @example
2411 (%i1) load(draw)$
2412 (%i2) draw2d(explicit(x^3,x,-1,1),
2413              xaxis       = true,
2414              xaxis_color = red)$
2415 @end example
2417 @code{xaxis}, @code{xaxis_width}, @code{xaxis_type}も参照してください。
2419 @opencatbox
2420 @category{Package draw}
2421 @closecatbox
2423 @end defvr
2427 @defvr {グラフィックオプション} xaxis_secondary
2428 デフォルト値: @code{false}
2430 もし@code{xaxis_secondary}が@code{true}なら、
2431 関数値が、二番目の@var{x}軸に関してプロットされるかもしれません。
2432 二番目の@var{x}軸はシーンのトップに描かれます。
2434 これは、2dプロットにだけ影響する局所的なグラフィックオプションであることに注意してください。
2436 例:
2438 @example
2439 (%i1) load(draw)$
2440 (%i2) draw2d(
2441          key   = "Bottom x-axis",
2442          explicit(x+1,x,1,2),
2443          color = red,
2444          key   = "Above x-axis",
2445          xtics_secondary = true,
2446          xaxis_secondary = true,
2447          explicit(x^2,x,-1,1)) $
2448 @end example
2450 @code{xrange_secondary}, @code{xtics_secondary}, @code{xtics_rotate_secondary},
2451 @code{xtics_axis_secondary}, @code{xaxis_secondary}も参照してください。
2453 @opencatbox
2454 @category{Package draw}
2455 @closecatbox
2457 @end defvr
2460 @defvr {グラフィックオプション} xaxis_type
2461 デフォルト値: @code{dots}
2463 @code{xaxis_type}は@var{x}軸がいかに表示されるかを示します;
2464 可能な値は@code{solid}と@code{dots}です。
2466 これはグローバルグラフィックスオプションなので、
2467 シーン記述の位置は問題になりません。
2469 例:
2471 @example
2472 (%i1) load(draw)$
2473 (%i2) draw2d(explicit(x^3,x,-1,1),
2474              xaxis       = true,
2475              xaxis_type  = solid)$
2476 @end example
2478 @code{xaxis}, @code{xaxis_width}, @code{xaxis_color}も参照してください。
2480 @opencatbox
2481 @category{Package draw}
2482 @closecatbox
2484 @end defvr
2489 @defvr {グラフィックオプション} xaxis_width
2490 デフォルト値: 1
2492 @code{xaxis_width}は@var{x}軸の幅です。
2493 その値は正数でなければいけません。
2495 これはグローバルグラフィックスオプションなので、
2496 シーン記述の位置は問題になりません。
2498 例:
2500 @example
2501 (%i1) load(draw)$
2502 (%i2) draw2d(explicit(x^3,x,-1,1),
2503              xaxis       = true,
2504              xaxis_width = 3)$
2505 @end example
2507 @code{xaxis}, @code{xaxis_type}, @code{xaxis_color}も参照してください。
2509 @opencatbox
2510 @category{Package draw}
2511 @closecatbox
2513 @end defvr
2517 @defvr {グラフィックオプション} xlabel
2518 デフォルト値: @code{""} (empty string)
2520 オプション@code{xlabel}、文字列は
2521 @var{x}軸のラベルです。
2522 デフォルトでは、ラベルは書かれません。
2524 これはグローバルグラフィックスオプションなので、
2525 シーン記述の位置は問題になりません。
2527 例:
2529 @example
2530 (%i1) load(draw)$
2531 (%i2) draw2d(xlabel = "Time",
2532              explicit(exp(u),u,-2,2),
2533              ylabel = "Population")$
2534 @end example
2536 @code{ylabel}と@code{zlabel}も参照してください。
2538 @opencatbox
2539 @category{Package draw}
2540 @closecatbox
2542 @end defvr
2544 @defvr {グラフィックオプション} xrange
2545 デフォルト値: @code{auto}
2547 もし@code{xrange}が@code{auto}なら、
2548 @var{x}座標の範囲は自動的に計算されます。
2550 もしユーザーが
2551 @var{x}に関して特定の区間が欲しいなら、
2552 @code{xrange=[-2, 3]}のように、Maximaリストとして与えられなければいけません。
2554 これはグローバルグラフィックスオプションなので、
2555 シーン記述の位置は問題になりません。
2557 例:
2559 @example
2560 (%i1) load(draw)$
2561 (%i2) draw2d(xrange = [-3,5],
2562              explicit(x^2,x,-1,1))$
2563 @end example
2565 @code{yrange}と@code{zrange}も参照してください。
2567 @opencatbox
2568 @category{Package draw}
2569 @closecatbox
2571 @end defvr
2574 @defvr {グラフィックオプション} xrange_secondary
2575 デフォルト値: @code{auto}
2577 もし@code{xrange_secondary}が@code{auto}なら、
2578 二番目の@var{x}軸の範囲は自動的に計算されます。
2580 もしユーザーが
2581 二番目の@var{x}軸の特定した区間が欲しいなら、
2582 @code{xrange_secondary=[-2, 3]}のように、Maximaリストとして与えられなければいけません。
2584 これはグローバルグラフィックスオプションなので、
2585 シーン記述の位置は問題になりません。
2587 @code{xrange}, @code{yrange}, @code{zrange}, @code{yrange_secondary}も参照してください。
2589 @opencatbox
2590 @category{Package draw}
2591 @closecatbox
2592 @end defvr
2594 @defvr {グラフィックオプション} xtics
2595 デフォルト値: @code{auto}
2597 このグラフィックオプション制御は
2598 チックマークを@var{x}軸上に描く方法を制御します。
2600 @itemize @bullet
2601 @item
2602 オプション@code{xtics}がシンボル@var{auto}にバインドされている時
2603 チックマークは自動的に描かれます。
2605 @item
2606 オプション@code{xtics}がシンボル@var{none}にバインドされている時
2607 チックマークは描かれません。
2609 @item
2610 オプション@code{xtics}が正の数にバインドされている時、
2611 これは2つの連続するチックマークの間の距離になります。
2613 @item
2614 オプション@code{xtics}が
2615 形式@code{[start,incr,end]}の長さ3のリストにバインドされている時、
2616 チックマークは
2617 @code{start}から@code{end}まで
2618 長さ@code{incr}の間隔でプロットされます。
2620 @item
2621 オプション@code{xtics}が
2622 形式@code{@{n1, n2, ...@}}の数の集合にバインドされている時、
2623 チックマークは
2624 値@code{n1}, @code{n2}, ...にプロットされます。
2626 @item
2627 オプション@code{xtics}が
2628 形式@code{@{["label1", n1], ["label2", n2], ...@}}の対の集合にバインドされている時、
2629 値@code{n1}, @code{n2}, ...に対応する
2630 チックマークはそれぞれ、
2631 @code{"label1"}, @code{"label2"}, ...にラベルされます。
2632 @end itemize
2634 これはグローバルグラフィックスオプションなので、
2635 シーン記述の位置は問題になりません。
2637 例:
2639 チックをディセーブルします。
2640 @example
2641 (%i1) load(draw)$
2642 (%i2) draw2d(xtics = 'none,
2643              explicit(x^3,x,-1,1)  )$
2644 @end example
2646 1/4単位毎のチック。
2647 @example
2648 (%i1) load(draw)$
2649 (%i2) draw2d(xtics = 1/4,
2650              explicit(x^3,x,-1,1)  )$
2651 @end example
2653 -3/4から3/4まで
2654 1/8のステップでチック。
2655 @example
2656 (%i1) load(draw)$
2657 (%i2) draw2d(xtics = [-3/4,1/8,3/4],
2658              explicit(x^3,x,-1,1)  )$
2659 @end example
2661 点-1/2, -1/4, 3/4にチック。
2662 @example
2663 (%i1) load(draw)$
2664 (%i2) draw2d(xtics = @{-1/2,-1/4,3/4@},
2665              explicit(x^3,x,-1,1)  )$
2666 @end example
2668 ラベルされたチック。
2669 @example
2670 (%i1) load(draw)$
2671 (%i2) draw2d(xtics = @{["High",0.75],["Medium",0],["Low",-0.75]@},
2672              explicit(x^3,x,-1,1)  )$
2673 @end example
2675 @code{ytics}, @code{ztics}も参照してください。
2677 @opencatbox
2678 @category{Package draw}
2679 @closecatbox
2681 @end defvr
2684 @defvr {グラフィックオプション} xtics_axis
2685 デフォルト値: @code{false}
2687 もし@code{xtics_axis}が@code{true}なら、
2688 チックマークとそれらのラベルが
2689 @var{x}軸に沿ってだけプロットされます。
2690 もし@code{false}なら、チックは境界上にプロットされます。
2692 これはグローバルグラフィックスオプションなので、
2693 シーン記述の位置は問題になりません。
2695 @opencatbox
2696 @category{Package draw}
2697 @closecatbox
2699 @end defvr
2701 @defvr {グラフィックオプション} xtics_rotate
2702 デフォルト値: @code{false}
2704 もし@code{xtics_rotate}が@code{true}なら、
2705 @var{x}軸上のチックマークが90度回転されます。
2707 これはグローバルグラフィックスオプションなので、
2708 シーン記述の位置は問題になりません。
2710 @opencatbox
2711 @category{Package draw}
2712 @closecatbox
2714 @end defvr
2716 @defvr {グラフィックオプション} xtics_rotate_secondary
2717 デフォルト値: @code{false}
2719 もし@code{xtics_rotate_secondary}が@code{true}なら、
2720 補助的な@var{x}軸上のチックマークが90度回転されます。
2722 これはグローバルグラフィックスオプションなので、
2723 シーン記述の位置は問題になりません。
2725 @opencatbox
2726 @category{Package draw}
2727 @closecatbox
2729 @end defvr
2731 @defvr {グラフィックオプション} xtics_secondary
2732 デフォルト値: @code{auto}
2734 このグラフィックオプションは、
2735 二番目の@var{x}軸上にチックマークを描く方法を制御します。
2737 完全な記述に関しては、@code{xtics}を参照してください。
2739 @opencatbox
2740 @category{Package draw}
2741 @closecatbox
2743 @end defvr
2747 @defvr {グラフィックオプション} xtics_secondary_axis
2748 デフォルト値: @code{false}
2750 もし@code{xtics_secondary_axis}が@code{true}なら、
2751 チックマークとそれらのラベルは補助的な@var{x}軸に沿ってだけプロットされ、
2752 もし@code{false}なら、境界上にプロットされます。
2754 これはグローバルグラフィックスオプションなので、
2755 シーン記述の位置は問題になりません。
2757 @opencatbox
2758 @category{Package draw}
2759 @closecatbox
2761 @end defvr
2765 @defvr {グラフィックオプション} xu_grid
2766 デフォルト値: 30
2768 @code{xu_grid}は
2769 サンプル点のグリッドを構築するための一番目の変数
2770 (陽での@code{x}、パラメトリック3d表面での@code{u})の座標の数です。
2772 このオプションは以下のグラフィックオブジェクトに影響を与えます:
2773 @itemize @bullet
2774 @item
2775 @code{gr3d}: @code{explicit}と@code{parametric_surface}.
2776 @end itemize
2778 例:
2780 @example
2781 (%i1) load(draw)$
2782 (%i2) draw3d(xu_grid = 10,
2783              yv_grid = 50,
2784              explicit(x^2+y^2,x,-3,3,y,-3,3) )$
2785 @end example
2787 @code{yv_grid}も参照してください。
2789 @opencatbox
2790 @category{Package draw}
2791 @closecatbox
2793 @end defvr
2796 @defvr {グラフィックオプション} xy_file
2797 デフォルト値: @code{""} (empty string)
2799 @code{xy_file}は、
2800 マウスでクリックし、'x'キーを叩いた後、座標が保存される
2801 ファイルの名前です。
2802 デフォルトでは、座標は保存されません。
2804 これはグローバルグラフィックスオプションなので、
2805 シーン記述の位置は問題なりません。
2807 @opencatbox
2808 @category{Package draw}
2809 @closecatbox
2811 @end defvr
2814 @defvr {グラフィックオプション} xyplane
2815 デフォルト値: @code{false}
2817 3Dシーンの中にxy平面を配置します。
2818 @code{xyplane}が@code{false}の時、
2819 xy平面は自動的に置かれます;
2820 実数の時、xy平面はこのレベルでz軸と交わります。
2821 このオプションは2Dシーンでは効果を持ちません。
2823 これはグローバルグラフィックスオプションなので、
2824 シーン記述の位置は問題なりません。
2826 例:
2828 @example
2829 (%i1) load(draw)$
2830 (%i2) draw3d(xyplane = %e-2,
2831              explicit(x^2+y^2,x,-1,1,y,-1,1))$
2832 @end example
2834 @opencatbox
2835 @category{Package draw}
2836 @closecatbox
2838 @end defvr
2842 @defvr {グラフィックオプション} y_voxel
2843 デフォルト値: 10
2845 @code{y_voxel}は
2846 3d@code{暗黙の}オブジェクトで実装された@i{マーチングキューブアルゴリズム}
2847 で使われるy方向のボクセルの数です。
2848 グラフィックオブジェクト@code{region}でも使われます。
2850 @opencatbox
2851 @category{Package draw}
2852 @closecatbox
2854 @end defvr
2855 @defvr {グラフィックオプション} yaxis
2856 デフォルト値: @code{false}
2858 もし@code{yaxis}が@code{true}なら、@var{y}軸が描かれます。
2860 これはグローバルグラフィックスオプションなので、
2861 シーン記述の位置は問題なりません。
2863 例:
2865 @example
2866 (%i1) load(draw)$
2867 (%i2) draw2d(explicit(x^3,x,-1,1),
2868              yaxis       = true,
2869              yaxis_color = blue)$
2870 @end example
2872 @code{yaxis_width}, @code{yaxis_type}, @code{yaxis_color}も参照してください。
2874 @opencatbox
2875 @category{Package draw}
2876 @closecatbox
2878 @end defvr
2880 @defvr {グラフィックオプション} yaxis_color
2881 デフォルト値: @code{"black"}
2883 @code{yaxis_color}は@var{y}軸の色を指定します。
2884 色がどのように定義されているか知るには
2885 @code{color}を参照してください。
2887 これはグローバルグラフィックスオプションなので、
2888 シーン記述の位置は問題なりません。
2890 例:
2892 @example
2893 (%i1) load(draw)$
2894 (%i2) draw2d(explicit(x^3,x,-1,1),
2895              yaxis       = true,
2896              yaxis_color = red)$
2897 @end example
2899 @code{yaxis}, @code{yaxis_width}, @code{yaxis_type}も参照してください。
2901 @opencatbox
2902 @category{Package draw}
2903 @closecatbox
2905 @end defvr
2910 @defvr {グラフィックオプション} yaxis_secondary
2911 デフォルト値: @code{false}
2913 もし@code{yaxis_secondary}が@code{true}なら、
2914 関数値は二番目の@var{y}軸に関してプロットされるかもしれません。
2915 二番目の@var{y}軸はシーンの右側に描かれます。
2917 これは、2dプロットにだけ影響する局所的なグラフィックオプションであることに注意してください。
2919 例:
2921 @example
2922 (%i1) load(draw)$
2923 (%i2) draw2d(
2924          explicit(sin(x),x,0,10),
2925          yaxis_secondary = true,
2926          ytics_secondary = true,
2927          color = blue,
2928          explicit(100*sin(x+0.1)+2,x,0,10));
2929 @end example
2931 @code{yrange_secondary}, @code{ytics_secondary}, @code{ytics_rotate_secondary}
2932 , @code{ytics_axis_secondary}も参照してください。
2934 @opencatbox
2935 @category{Package draw}
2936 @closecatbox
2938 @end defvr
2940 @defvr {グラフィックオプション} yaxis_type
2941 デフォルト値: @code{dots}
2943 @code{yaxis_type}は@var{y}軸がどのように表示されるか示します; 
2944 可能な値は@code{solid}と@code{dots}です。
2946 これはグローバルグラフィックスオプションなので、
2947 シーン記述の位置は問題なりません。
2949 例:
2951 @example
2952 (%i1) load(draw)$
2953 (%i2) draw2d(explicit(x^3,x,-1,1),
2954              yaxis       = true,
2955              yaxis_type  = solid)$
2956 @end example
2958 @code{yaxis}, @code{yaxis_width}, @code{yaxis_color}も参照してください。
2960 @opencatbox
2961 @category{Package draw}
2962 @closecatbox
2964 @end defvr
2969 @defvr {グラフィックオプション} yaxis_width
2970 デフォルト値: 1
2972 @code{yaxis_width}は@var{y}軸の幅です。
2973 その値は正の数でなければいけません。
2975 これはグローバルグラフィックスオプションなので、
2976 シーン記述の位置は問題なりません。
2978 例:
2980 @example
2981 (%i1) load(draw)$
2982 (%i2) draw2d(explicit(x^3,x,-1,1),
2983              yaxis       = true,
2984              yaxis_width = 3)$
2985 @end example
2987 @code{yaxis}, @code{yaxis_type}, @code{yaxis_color}も参照してください。
2989 @opencatbox
2990 @category{Package draw}
2991 @closecatbox
2993 @end defvr
2998 @defvr {グラフィックオプション} ylabel
2999 デフォルト値: @code{""} (empty string)
3001 オプション@code{ylabel}、文字列は
3002 @var{y}軸のラベルです。
3003 デフォルトでは、ラベルは書かれません。
3005 これはグローバルグラフィックスオプションなので、
3006 シーン記述の位置は問題になりません。
3008 例:
3010 @example
3011 (%i1) load(draw)$
3012 (%i2) draw2d(xlabel = "Time",
3013              ylabel = "Population",
3014              explicit(exp(u),u,-2,2) )$
3015 @end example
3017 @code{xlabel}と@code{zlabel}も参照してください。
3019 @opencatbox
3020 @category{Package draw}
3021 @closecatbox
3023 @end defvr
3025 @defvr {グラフィックオプション} yrange
3026 デフォルト値: @code{auto}
3028 もし@code{yrange}が@code{auto}なら、
3029 @var{y}座標の範囲は自動的に計算されます。
3031 もしユーザーが@var{y}の特定の区間が欲しいなら、
3032 @code{yrange=[-2, 3]}のように、Maximaリストとして与えられなければいけません。
3034 これはグローバルグラフィックスオプションなので、
3035 シーン記述の位置は問題になりません。
3037 例:
3039 @example
3040 (%i1) load(draw)$
3041 (%i2) draw2d(yrange = [-2,3],
3042              explicit(x^2,x,-1,1),
3043              xrange = [-3,3])$
3044 @end example
3046 @code{xrange}, @code{yrange_secondary}, @code{zrange}も参照してください。
3048 @opencatbox
3049 @category{Package draw}
3050 @closecatbox
3052 @end defvr
3056 @defvr {グラフィックオプション} yrange_secondary
3057 デフォルト値: @code{auto}
3059 もし@code{yrange_secondary}が@code{auto}なら、
3060 二番目の@var{y}軸の範囲は自動的に計算されます。
3062 もしユーザーが二番目の@var{y}軸の特定の区間が欲しいなら、
3063 @code{yrange_secondary=[-2, 3]}のように、Maximaリストとして与えられなければいけません。
3065 これはグローバルグラフィックスオプションなので、
3066 シーン記述の位置は問題になりません。
3068 例:
3070 @example
3071 (%i1) load(draw)$
3072 (%i2) draw2d(
3073          explicit(sin(x),x,0,10),
3074          yaxis_secondary = true,
3075          ytics_secondary = true,
3076          yrange = [-3, 3],
3077          yrange_secondary = [-20, 20],
3078          color = blue,
3079          explicit(100*sin(x+0.1)+2,x,0,10)) $
3080 @end example
3082 @code{xrange}, @code{yrange}, @code{zrange}も参照してください。
3084 @opencatbox
3085 @category{Package draw}
3086 @closecatbox
3087 @end defvr
3089 @defvr {グラフィックオプション} ytics
3090 デフォルト値: @code{auto}
3092 このグラフィックオプションは、
3093 @var{y}軸上にチックマークを描く方法を制御します。
3095 完全な記述に関しては、@code{xtics}を参照してください。
3097 @opencatbox
3098 @category{Package draw}
3099 @closecatbox
3101 @end defvr
3103 @defvr {グラフィックオプション} ytics_axis
3104 デフォルト値: @code{false}
3106 もし@code{ytics_axis}が@code{true}なら、
3107 チックマークとそれらのラベルは@var{y}軸に沿ってだけプロットされ、
3108 もし@code{false}なら、境界上にプロットされます。
3110 これはグローバルグラフィックスオプションなので、
3111 シーン記述の位置は問題になりません。
3113 @opencatbox
3114 @category{Package draw}
3115 @closecatbox
3117 @end defvr
3119 @defvr {グラフィックオプション} ytics_rotate
3120 デフォルト値: @code{false}
3122 もし@code{ytics_rotate}が@code{true}なら、
3123 @var{y}軸上のチックマークが90度回転されます。
3125 これはグローバルグラフィックスオプションなので、
3126 シーン記述の位置は問題になりません。
3128 @opencatbox
3129 @category{Package draw}
3130 @closecatbox
3132 @end defvr
3135 @defvr {グラフィックオプション} ytics_rotate_secondary
3136 デフォルト値: @code{false}
3138 もし@code{ytics_rotate_secondary}が@code{true}なら、
3139 補助的な@var{y}軸上のチックマークが90度回転されます。
3141 これはグローバルグラフィックスオプションなので、
3142 シーン記述の位置は問題になりません。
3144 @opencatbox
3145 @category{Package draw}
3146 @closecatbox
3148 @end defvr
3150 @defvr {グラフィックオプション} ytics_secondary
3151 デフォルト値: @code{auto}
3153 このグラフィックオプションは、
3154 二番目の@var{y}軸上にチックマークを描く方法を制御します。
3156 完全な記述に関しては、@code{xtics}を参照してください。
3158 @opencatbox
3159 @category{Package draw}
3160 @closecatbox
3162 @end defvr
3164 @defvr {グラフィックオプション} ytics_secondary_axis
3165 デフォルト値: @code{false}
3167 もし@code{ytics_secondary_axis}が@code{true}なら、
3168 チックマークとそれらのラベルは補助的な@var{y}軸に沿ってだけプロットされ、
3169 もし@code{false}なら、境界上にプロットされます。
3171 これはグローバルグラフィックスオプションなので、
3172 シーン記述の位置は問題になりません。
3174 @opencatbox
3175 @category{Package draw}
3176 @closecatbox
3178 @end defvr
3180 @defvr {グラフィックオプション} yv_grid
3181 デフォルト値: 30
3183 @code{yv_grid}は
3184 サンプル点のグリッドを構築するための
3185 二番目の変数(陽での@code{y}、パラメトリック3d表面での@code{v})の座標の数です。
3187 このオプションは以下のグラフィックオブジェクトに影響を与えます:
3188 @itemize @bullet
3189 @item
3190 @code{gr3d}: @code{explicit}と@code{parametric_surface}.
3191 @end itemize
3193 例:
3195 @example
3196 (%i1) load(draw)$
3197 (%i2) draw3d(xu_grid = 10,
3198              yv_grid = 50,
3199              explicit(x^2+y^2,x,-3,3,y,-3,3) )$
3200 @end example
3202 @code{xu_grid}も参照してください。
3204 @opencatbox
3205 @category{Package draw}
3206 @closecatbox
3208 @end defvr
3211 @defvr {グラフィックオプション} z_voxel
3212 デフォルト値: 10
3214 @code{z_voxel}は
3215 3d@code{implicit}オブジェクトで実装された@i{マーチングキューブアルゴリズム}
3216 で使われるz方向のボクセルの数です。
3218 @opencatbox
3219 @category{Package draw}
3220 @closecatbox
3222 @end defvr
3225 @defvr {グラフィックオプション} zaxis
3226 デフォルト値: @code{false}
3228 もし@code{zaxis}が@code{true}なら、3Dプロットで@var{z}軸が描かれます。
3229 このオプションは2Dシーンでは効果を持ちません。
3231 これはグローバルグラフィックスオプションなので、
3232 シーン記述の位置は問題なりません。
3234 例:
3236 @example
3237 (%i1) load(draw)$
3238 (%i2) draw3d(explicit(x^2+y^2,x,-1,1,y,-1,1),
3239              zaxis       = true,
3240              zaxis_type  = solid,
3241              zaxis_color = blue)$
3242 @end example
3244 @code{zaxis_width}, @code{zaxis_type}, @code{zaxis_color}も参照してください。
3246 @opencatbox
3247 @category{Package draw}
3248 @closecatbox
3250 @end defvr
3253 @defvr {グラフィックオプション} zaxis_color
3254 デフォルト値: @code{"black"}
3256 @code{zaxis_color}は@var{z}軸の色を指定します。
3257 色がどのように定義されているか知るには@code{color}を参照してください。
3258 このオプションは2Dシーンでは効果を持ちません。
3260 これはグローバルグラフィックスオプションなので、
3261 シーン記述の位置は問題なりません。
3263 例:
3265 @example
3266 (%i1) load(draw)$
3267 (%i2) draw3d(explicit(x^2+y^2,x,-1,1,y,-1,1),
3268              zaxis       = true,
3269              zaxis_type  = solid,
3270              zaxis_color = red)$
3271 @end example
3273 @code{zaxis}, @code{zaxis_width}, @code{zaxis_type}も参照してください。
3275 @opencatbox
3276 @category{Package draw}
3277 @closecatbox
3279 @end defvr
3284 @defvr {グラフィックオプション} zaxis_type
3285 デフォルト値: @code{dots}
3287 @code{zaxis_type}は@var{z}軸がどのように表示されるか示します;
3288 可能な値は@code{solid}と@code{dots}です。
3289 このオプションは2Dシーンでは効果を持ちません。
3291 これはグローバルグラフィックスオプションなので、
3292 シーン記述の位置は問題なりません。
3294 例:
3296 @example
3297 (%i1) load(draw)$
3298 (%i2) draw3d(explicit(x^2+y^2,x,-1,1,y,-1,1),
3299              zaxis       = true,
3300              zaxis_type  = solid)$
3301 @end example
3303 @code{zaxis}, @code{zaxis_width}, @code{zaxis_color}も参照してください。
3305 @opencatbox
3306 @category{Package draw}
3307 @closecatbox
3309 @end defvr
3313 @defvr {グラフィックオプション} zaxis_width
3314 デフォルト値: 1
3316 @code{zaxis_width}は@var{z}軸の幅です。
3317 その値は正の数でなければいけません。
3318 このオプションは2Dシーンでは効果を持ちません。
3320 これはグローバルグラフィックスオプションなので、
3321 シーン記述の位置は問題なりません。
3323 例:
3325 @example
3326 (%i1) load(draw)$
3327 (%i2) draw3d(explicit(x^2+y^2,x,-1,1,y,-1,1),
3328              zaxis       = true,
3329              zaxis_type  = solid,
3330              zaxis_width = 3)$
3331 @end example
3333 @code{zaxis}, @code{zaxis_type}, @code{zaxis_color}も参照してください。
3335 @opencatbox
3336 @category{Package draw}
3337 @closecatbox
3339 @end defvr
3343 @defvr {グラフィックオプション} zlabel
3344 デフォルト値: @code{""} (empty string)
3346 オプション@code{zlabel}文字列は
3347 @var{z}軸のラベルです。
3348 デフォルトでは、ラベルは書かれません。
3350 これはグローバルグラフィックスオプションなので、
3351 シーン記述の位置は問題になりません。
3353 例:
3355 @example
3356 (%i1) load(draw)$
3357 (%i2) draw3d(zlabel = "Z variable",
3358              ylabel = "Y variable",
3359              explicit(sin(x^2+y^2),x,-2,2,y,-2,2),
3360              xlabel = "X variable" )$
3361 @end example
3363 @code{xlabel}と@code{ylabel}も参照してください。
3365 @opencatbox
3366 @category{Package draw}
3367 @closecatbox
3369 @end defvr
3373 @defvr {グラフィックオプション} zrange
3374 デフォルト値: @code{auto}
3376 もし@code{zrange}が@code{auto}なら、
3377 @var{z}座標の範囲は自動的に計算されます。
3379 もしユーザーが
3380 @var{z}の特定の区間が欲しいなら、
3381 @code{zrange=[-2, 3]}のようにMaximaリストとして与えられなければいけません。
3383 これはグローバルグラフィックスオプションなので、
3384 シーン記述の位置は問題になりません。
3386 例:
3388 @example
3389 (%i1) load(draw)$
3390 (%i2) draw3d(yrange = [-3,3],
3391              zrange = [-2,5],
3392              explicit(x^2+y^2,x,-1,1,y,-1,1),
3393              xrange = [-3,3])$
3394 @end example
3396 @code{xrange}, @code{yrange}も参照してください。
3398 @opencatbox
3399 @category{Package draw}
3400 @closecatbox
3401 @end defvr
3405 @defvr {グラフィックオプション} ztics
3406 デフォルト値: @code{auto}
3408 このグラフィックオプションは、
3409 @var{z}軸上にチックマークを描く方法を制御します。
3411 完全な記述に関しては、@code{xtics}を参照してください。
3413 @opencatbox
3414 @category{Package draw}
3415 @closecatbox
3417 @end defvr
3421 @defvr {グラフィックオプション} ztics_axis
3422 デフォルト値: @code{false}
3424 もし@code{ztics_secondary_axis}が@code{true}なら、
3425 チックマークとそれらのラベルは補助的な@var{z}軸に沿ってだけプロットされ、
3426 もし@code{false}なら、境界上にプロットされます。
3428 これはグローバルグラフィックスオプションなので、
3429 シーン記述の位置は問題になりません。
3431 @opencatbox
3432 @category{Package draw}
3433 @closecatbox
3435 @end defvr
3439 @defvr {グラフィックオプション} ztics_rotate
3440 デフォルト値: @code{false}
3442 もし@code{ztics_rotate}が@code{true}なら、
3443 @var{z}軸上のチックマークが90度回転されます。
3445 これはグローバルグラフィックスオプションなので、
3446 シーン記述の位置は問題になりません。
3448 @opencatbox
3449 @category{Package draw}
3450 @closecatbox
3452 @end defvr
3455 @subsection Graphics objects
3457 @deffn  {グラフィックオブジェクト} bars ([@var{x1},@var{h1},@var{w1}], [@var{x2},@var{h2},@var{w2}, ...])
3458 2D内に垂直バーを描画します。
3460 @b{2D}
3462 @code{bars ([@var{x1},@var{h1},@var{w1}], [@var{x2},@var{h2},@var{w2}, ...])} 
3464 値@var{x1}, @var{x2}, ...に中心を持ち、高さ@var{h1}, @var{h2}, ...と幅@var{w1}, @var{w2}, ...を持つバーを描画します。
3466 このオブジェクトは以下の@i{graphic options}に影響されます: @code{key}, 
3467 @code{fill_color}, @code{fill_density}, @code{line_width}.
3469 例:
3471 @example
3472 (%i1) load(draw)$
3473 (%i2) draw2d(
3474        key          = "Group A",
3475        fill_color   = blue,
3476        fill_density = 0.2,
3477        bars([0.8,5,0.4],[1.8,7,0.4],[2.8,-4,0.4]),
3478        key          = "Group B",
3479        fill_color   = red,
3480        fill_density = 0.6,
3481        line_width   = 4,
3482        bars([1.2,4,0.4],[2.2,-2,0.4],[3.2,5,0.4]),
3483        xaxis = true);
3484 @end example
3485 @end deffn
3487 @deffn  {グラフィックオブジェクト} cylindrical (@var{radius}, @var{z}, @var{minz}, @var{maxz}, @var{azi}, @var{minazi}, @var{maxazi})
3488 円柱座標で定義された3D関数を描画します。
3490 @b{3D}
3492 @code{cylindrical (@var{radius}, @var{z}, @var{minz}, @var{maxz}, @var{azi},
3493 @var{minazi}, @var{maxazi})}は
3494 @var{minz}から@var{maxz}までの値を取る@var{z}と
3495 @var{minazi}から@var{maxazi}まで値を取る@i{方位角} @var{azi}を伴う
3496 円柱座標で定義された関数@code{@var{radius}(@var{z},@var{azi})}
3497 をプロットします。
3499 このオブジェクトは以下の@i{グラフィックオプション}に影響されます:
3500 @code{xu_grid}, 
3501 @code{yv_grid}, @code{line_type}, @code{key} and @code{color}.
3503 例:
3505 @example
3506 (%i1) load(draw)$
3507 (%i2) draw3d(cylindrical(1,z,-2,2,az,0,2*%pi))$
3508 @end example
3510 @opencatbox
3511 @category{Package draw}
3512 @closecatbox
3514 @end deffn
3516 @deffn  {グラフィックオブジェクト} elevation_grid (@var{mat},@var{x0},@var{y0},@var{width},@var{height})
3518 3D空間に行列@var{mat}を描画します。
3519 @var{x0}から@math{@var{x0} + @var{width}}までの横座標範囲と
3520 @var{y0}から@math{@var{y0} + @var{height}}までの縦座標範囲で、
3521 @var{z}値は@var{mat}から取られます。
3522 要素@math{a(1,1)}は点@math{(x0,y0+height)}上に射影され、
3523 @math{a(1,n)}は@math{(x0+width,y0+height)}上に射影され、
3524 @math{a(m,1)}は@math{(x0,y0)}上に射影され、
3525 @math{a(m,n)}は@math{(x0+width,y0)}上に射影されます。
3527 このオブジェクトは以下の@i{グラフィックオプション}に影響されます: @code{line_type},
3528 @code{line_width}, @code{key}, @code{enhanced3d}, @code{color}。
3530 Maximaの古いバージョンでは、@code{elevation_grid}は@code{mesh}と呼ばれました。
3531 @code{mesh}も参照してください。
3533 例:
3535 @example
3536 (%i1) load(draw)$
3537 (%i2) m: apply(
3538             matrix,
3539             makelist(makelist(random(10.0),k,1,30),i,1,20)) $
3540 (%i3) draw3d(
3541          color = blue,
3542          elevation_grid(m,0,0,3,2),
3543          xlabel = "x",
3544          ylabel = "y",
3545          surface_hide = true);
3546 @end example
3548 @opencatbox
3549 @category{Package draw}
3550 @closecatbox
3552 @end deffn
3555 @deffn  {グラフィックオブジェクト} ellipse (@var{xc}, @var{yc}, @var{a}, @var{b}, @var{ang1}, @var{ang2})
3556 2D内で楕円や円を描画します。
3559 @b{2D}
3561 @code{ellipse (@var{xc}, @var{yc}, @var{a}, @var{b}, @var{ang1}, @var{ang2})}
3563 @code{[@var{xc}, @var{yc}]}を中心とし、水平と垂直半軸にそれぞれ@var{a}と@var{b}を持ち、角度@var{ang1}から始まり、角度@var{ang2}に等しい振幅を持つ
3564 楕円をプロットします。
3566 このオブジェクトは以下の@i{graphic options}に影響されます:
3567 @code{nticks}, 
3568 @code{transparent}, @code{fill_color}, @code{border}, @code{line_width}, 
3569 @code{line_type}, @code{key}, @code{color}.
3571 例:
3573 @example
3574 (%i1) load(draw)$
3575 (%i2) draw2d(transparent = false,
3576              fill_color  = red,
3577              color       = gray30,
3578              transparent = false,
3579              line_width  = 5,
3580              ellipse(0,6,3,2,270,-270),
3581              /* center (x,y), a, b, start & end in degrees */
3582              transparent = true,
3583              color       = blue,
3584              line_width  = 3,
3585              ellipse(2.5,6,2,3,30,-90),
3586              xrange      = [-3,6],
3587              yrange      = [2,9] )$
3588 @end example
3590 @opencatbox
3591 @category{Package draw}
3592 @closecatbox
3594 @end deffn
3597 @deffn  {グラフィックオブジェクト} errors ([@var{x1}, @var{x2}, @dots{}], [@var{y1}, @var{y2}, @dots{}])
3598 オプション@code{error_type}の値に依存して、
3599 水平、垂直もしくは両方のエラーバーと共に点を描きます。
3601 @b{2D}
3603 もし@code{error_type = x}なら、
3604 @code{errors}の引数は must be of the form 
3605 形式@code{[x, y, xdelta]}か@code{[x, y, xlow, xhigh]}でなければいけません。
3606 もし@code{error_type = y}なら、
3607 引数は形式@code{[x, y, ydelta]}か@code{[x, y, ylow, yhigh]}でなければいけません。
3608 もし@code{error_type = xy}か@code{error_type = boxes}なら、
3609 @code{errors}の引数は
3610 形式@code{[x, y, xdelta, ydelta]}か@code{[x, y, xlow, xhigh, ylow, yhigh]}でなければいけません。
3612 @code{error_type}も参照してください。
3614 このオブジェクトは以下の@i{グラフィックオブジェクト}によって影響されます:
3615 @code{error_type},
3616 @code{points_joined}, @code{line_width}, @code{key}, @code{line_type}, 
3617 @code{color}, @code{fill_density}, @code{xaxis_secondary}, @code{yaxis_secondary}.
3619 オプション@code{fill_density}は、@code{error_type=boxes}の時だけ有効です。
3621 例:
3623 水平エラーバー。
3625 @example
3626 (%i1) load(draw)$
3627 (%i2) draw2d(
3628         error_type = y,
3629         errors([[1,2,1], [3,5,3], [10,3,1], [17,6,2]]))$
3630 @end example
3632 垂直および水平エラーバー。
3634 @example
3635 (%i1) load(draw)$
3636 (%i2) draw2d(
3637         error_type = xy,
3638         points_joined = true,
3639         color = blue,
3640         errors([[1,2,1,2], [3,5,2,1], [10,3,1,1], [17,6,1/2,2]])); 
3641 @end example
3643 @opencatbox
3644 @category{Package draw}
3645 @closecatbox
3647 @end deffn
3651 @deffn  {グラフィックオブジェクト} explicit (@var{fcn},@var{var},@var{minval},@var{maxval})
3652 @deffnx {グラフィックオブジェクト} explicit (@var{fcn},@var{var1},@var{minval1},@var{maxval1},@var{var2},@var{minval2},@var{maxval2})
3653 2Dおよび3Dにて陽関数を描画します。
3655 @b{2D}
3657 @code{explicit(@var{fcn},@var{var},@var{minval},@var{maxval})}は
3658 @var{minval}から@var{maxval}まで値を取る変数@var{var}を伴う
3659 陽関数@var{fcn}をプロットします。
3661 このオブジェクトは以下の@i{graphic options}に影響されます:
3662 @code{nticks}, 
3663 @code{adapt_depth}, @code{line_width}, @code{line_type}, @code{key}, 
3664 @code{filled_func}, @code{fill_color}, @code{color}.
3666 例:
3668 @example
3669 (%i1) load(draw)$
3670 (%i2) draw2d(line_width = 3,
3671              color      = blue,
3672              explicit(x^2,x,-3,3) )$
3673 (%i3) draw2d(fill_color  = brown,
3674              filled_func = true,
3675              explicit(x^2,x,-3,3) )$
3676 @end example
3678 @b{3D}
3680 @code{explicit(@var{fcn}, @var{var1}, @var{minval1}, @var{maxval1}, @var{var2},
3681 @var{minval2}, @var{maxval2})}は
3682 @var{minval1}から @var{maxval1}まで値を取る変数 @var{var1}と
3683 @var{minval2}から @var{maxval2}まで値を取る変数 @var{var2}を伴う
3684 陽関数 @var{fcn}をプロットします。
3686 このオブジェクトは以下の@i{グラフィックオプション}の影響を受けます: @code{xu_grid}, 
3687 @code{yv_grid}, @code{line_type}, @code{line_width}, @code{key}, @code{enhanced3d}, @code{color}.
3689 例:
3691 @example
3692 (%i1) load(draw)$
3693 (%i2) draw3d(key   = "Gauss",
3694              color = "#a02c00",
3695              explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3),
3696              yv_grid     = 10,
3697              color = blue,
3698              key   = "Plane",
3699              explicit(x+y,x,-5,5,y,-5,5),
3700              surface_hide = true)$
3701 @end example
3703 埋められた関数に関しては@code{filled_func}も参照してください。
3705 @opencatbox
3706 @category{Package draw}
3707 @closecatbox
3709 @end deffn
3712 @deffn  {グラフィックオブジェクト} image (@var{im},@var{x0},@var{y0},@var{width},@var{height})
3713 2Dにてイメージを描写します。
3715 @b{2D}
3717 @code{image (@var{im},@var{x0},@var{y0},@var{width},@var{height})}は
3718 実平面上の
3719 頂点@code{(@var{x0},@var{y0})}から@code{(x0+@var{width},y0+@var{height})}までの長方形領域に
3720 イメージ@var{im}をプロットします。
3721 引数@var{im}は実数の行列、長さ3のベクトルの行列もしくは@var{picture}オブジェクトでなければいけません。
3723 もし@var{im}が実数の行列か@var{levels picture}オブジェクトなら、
3724 ピクセル値は
3725 -36から+36に広がる成分を持つ長さ3のベクトルである
3726 グラフィックオプション@code{palette}に従って解釈されます;
3727 それぞれの値はレベルをそれぞれ赤、緑、青色にマップする公式のインデックスです。
3728 @example
3729  0: 0               1: 0.5           2: 1
3730  3: x               4: x^2           5: x^3
3731  6: x^4             7: sqrt(x)       8: sqrt(sqrt(x))
3732  9: sin(90x)       10: cos(90x)     11: |x-0.5|
3733 12: (2x-1)^2       13: sin(180x)    14: |cos(180x)|
3734 15: sin(360x)      16: cos(360x)    17: |sin(360x)|
3735 18: |cos(360x)|    19: |sin(720x)|  20: |cos(720x)|
3736 21: 3x             22: 3x-1         23: 3x-2
3737 24: |3x-1|         25: |3x-2|       26: (3x-1)/2
3738 27: (3x-2)/2       28: |(3x-1)/2|   29: |(3x-2)/2|
3739 30: x/0.32-0.78125                  31: 2*x-0.84
3740 32: 4x;1;-2x+1.84;x/0.08-11.5
3741 33: |2*x - 0.5|    34: 2*x          35: 2*x - 0.5
3742 36: 2*x - 1
3743 @end example
3744 負の数は負の色成分を意味します。
3746 @code{palette = gray}と@code{palette = color}は
3747 それぞれ、
3748 @code{palette = [3,3,3]}と@code{palette = [7,5,15]}へのショートカットです。
3750 もし@var{im}が長さ3のベクトルの行列か@var{rgb picture}オブジェクトなら、
3751 それらは赤、緑、青の色成分として解釈されます。
3753 例:
3755 もし@var{im}が実数の行列なら、ピクセル値は
3756 グラフィックオプション@code{palette}に従って解釈されます。
3757 @example
3758 (%i1) load(draw)$
3759 (%i2) im: apply(
3760            'matrix,
3761             makelist(makelist(random(200),i,1,30),i,1,30))$
3762 (%i3) /* palette = color, default */
3763       draw2d(image(im,0,0,30,30))$
3764 (%i4) draw2d(palette = gray, image(im,0,0,30,30))$
3765 (%i5) draw2d(palette = [15,20,-4],
3766              colorbox=false,
3767              image(im,0,0,30,30))$
3768 @end example
3770 @code{colorbox}も参照してください。
3772 もし@var{im}が長さ3のベクトルの行列なら、
3773 それらは赤、緑、青の色成分として解釈されます。
3774 @example
3775 (%i1) load(draw)$
3776 (%i2) im: apply(
3777             'matrix,
3778              makelist(
3779                makelist([random(300),
3780                          random(300),
3781                          random(300)],i,1,30),i,1,30))$
3782 (%i3) draw2d(image(im,0,0,30,30))$
3783 @end example
3785 パッケージ@code{draw}は自動的にパッケージ@code{picture}をロードします。
3786 この例では、レベルピクチャオブジェクトは手動で組み立てられ、描画されます。
3787 @example
3788 (%i1) load(draw)$
3789 (%i2) im: make_level_picture([45,87,2,134,204,16],3,2);
3790 (%o2)       picture(level, 3, 2, @{Array:  #(45 87 2 134 204 16)@})
3791 (%i3) /* default color palette */
3792       draw2d(image(im,0,0,30,30))$
3793 (%i4) /* gray palette */
3794       draw2d(palette = gray,
3795              image(im,0,0,30,30))$
3796 @end example
3798 xpmファイルが読み込まれ、描写されます。
3799 @example
3800 (%i1) load(draw)$
3801 (%i2) im: read_xpm("myfile.xpm")$
3802 (%i3) draw2d(image(im,0,0,10,7))$
3803 @end example
3805 @code{make_level_picture}, @code{make_rgb_picture}, @code{read_xpm}も参照してください。
3807 @url{http://www.telefonica.net/web2/biomates/maxima/gpdraw/image}@*
3808 には更に丹念な例があります。
3810 @opencatbox
3811 @category{Package draw}
3812 @closecatbox
3814 @end deffn
3816 @deffn  {グラフィックオブジェクト} implicit (@var{fcn},@var{x},@var{xmin},@var{xmax},@var{y},@var{ymin},@var{ymax})
3817 @deffnx {グラフィックオブジェクト} implicit (@var{fcn},@var{x},@var{xmin},@var{xmax},@var{y},@var{ymin},@var{ymax},@var{z},@var{zmin},@var{zmax})
3818 2Dおよび3Dにて陰関数を描画します。
3820 @b{2D}
3822 @code{implicit(@var{fcn},@var{x},@var{xmin},@var{xmax},@var{y},@var{ymin},@var{ymax})}は
3823 @var{xmin}から@var{xmax}までの値を取る変数@var{x}と
3824 @var{ymin}から@var{ymax}までの値を取る変数@var{y}を伴う
3825 @var{fcn}で定義された陰関数をプロットします。
3827 このオブジェクトは以下の@i{グラフィックオプション}の影響を受けます:
3828 @code{ip_grid}, 
3829 @code{ip_grid_in}, @code{line_width}, @code{line_type}, @code{key},
3830  @code{color}.
3832 例:
3834 @example
3835 (%i1) load(draw)$
3836 (%i2) draw2d(terminal  = eps,
3837              grid      = true,
3838              line_type = solid,
3839              key       = "y^2=x^3-2*x+1",
3840              implicit(y^2=x^3-2*x+1, x, -4,4, y, -4,4),
3841              line_type = dots,
3842              key       = "x^3+y^3 = 3*x*y^2-x-1",
3843              implicit(x^3+y^3 = 3*x*y^2-x-1, x,-4,4, y,-4,4),
3844              title     = "Two implicit functions" )$
3845 @end example
3847 @b{3D}
3849 @code{implicit (@var{fcn},@var{x},@var{xmin},@var{xmax}, @var{y},@var{ymin},@var{ymax}, @var{z},@var{zmin},@var{zmax})}は
3850 @var{xmin}から@var{xmax}までの値を取る変数@var{x}と
3851 @var{ymin}から@var{ymax}までの値を取る変数@var{y}と
3852 @var{zmin}から@var{zmax}までの値を取る変数@var{z}を伴う
3853 @var{fcn}で定義された陰表面をプロットします。
3854 このオブジェクトは@i{マーチングキューブアルゴリズム}を実装します。
3856 このオブジェクトは以下の@i{グラフィックオプション}の影響を受けます:
3857 @code{x_voxel}, 
3858 @code{y_voxel}, @code{z_voxel}, @code{line_width}, @code{line_type}, @code{key} , @code{color}.
3860 例:
3862 @example
3863 (%i1) load(draw)$
3864 (%i2) draw3d(
3865         color=blue,
3866         implicit((x^2+y^2+z^2-1)*(x^2+(y-1.5)^2+z^2-0.5)=0.015,
3867                  x,-1,1,y,-1.2,2.3,z,-1,1),
3868         surface_hide=true);
3869 @end example
3871 @opencatbox
3872 @category{Package draw}
3873 @closecatbox
3874 @end deffn
3877 @deffn  {グラフィックオブジェクト} label ([@var{string},@var{x},@var{y}],...)
3878 @deffnx {グラフィックオブジェクト} label ([@var{string},@var{x},@var{y},@var{z}],...)
3879 2Dと3D内でラベルを書きます。
3881 色付けられたラベルはGnuplot 4.3でだけ機能します。
3882 これはパッケージ@code{draw}に関して既知のバグです。
3884 このオブジェクトは以下の@i{グラフィックオプション}の影響を受けます:
3885 @code{label_alignment}, 
3886 @code{label_orientation}, @code{color}.
3888 @b{2D}
3890 @code{label([@var{string},@var{x},@var{y}])}は
3891 点@code{[@var{x},@var{y}]}に@var{string}を書きます。
3894 例:
3896 @example
3897 (%i1) load(draw)$
3898 (%i2) draw2d(yrange = [0.1,1.4],
3899              color = "red",
3900              label(["Label in red",0,0.3]),
3901              color = "#0000ff",
3902              label(["Label in blue",0,0.6]),
3903              color = "light-blue",
3904              label(["Label in light-blue",0,0.9],
3905                    ["Another light-blue",0,1.2])  )$
3906 @end example
3908 @b{3D}
3910 @code{label([@var{string},@var{x},@var{y},@var{z}])}は、
3911 点@code{[@var{x},@var{y},@var{z}]}に@var{string}を書きます。
3913 例:
3915 @example
3916 (%i1) load(draw)$
3917 (%i2) draw3d(explicit(exp(sin(x)+cos(x^2)),x,-3,3,y,-3,3),
3918              color = red,
3919              label(["UP 1",-2,0,3], ["UP 2",1.5,0,4]),
3920              color = blue,
3921              label(["DOWN 1",2,0,-3]) )$
3922 @end example
3924 @opencatbox
3925 @category{Package draw}
3926 @closecatbox
3928 @end deffn
3930 @deffn  {グラフィックオブジェクト} mesh (@var{mat},@var{x0},@var{y0},@var{width},@var{height})
3931 3D空間内に行列@var{mat}を描画します。
3932 @var{z}値は@var{mat}から取られます。
3933 横座標範囲は@var{x0}から@math{@var{x0} + @var{width}}までを取り、
3934 座標は@var{y0}から@math{@var{y0} + @var{height}}までを取ります。
3936 このオブジェクトは以下の@i{グラフィックオプション}の影響を受けます:
3937 @code{line_type},
3938 @code{line_width}, @code{key}, @code{enhanced3d}, @code{color}.
3940 このグラフィックオブジェクトは
3941 @code{true}と@code{false}以外の値の@code{enhanced3d}値を無視します。
3943 例:
3945 @example
3946 (%i1) load(draw)$
3947 (%i2) m: apply(
3948             matrix,
3949             makelist(makelist(random(10.0),k,1,30),i,1,20)) $
3950 (%i3) draw3d(
3951          color = blue,
3952          mesh(m,0,0,3,2),
3953          xlabel = "x",
3954          ylabel = "y",
3955          surface_hide = true);
3956 @end example
3958 @opencatbox
3959 @category{Package draw}
3960 @closecatbox
3962 @end deffn
3964 @deffn  {グラフィックオブジェクト} parametric (@var{xfun},@var{yfun},@var{par},@var{parmin},@var{parmax})
3965 @deffnx {グラフィックオブジェクト} parametric (@var{xfun},@var{yfun},@var{zfun},@var{par},@var{parmin},@var{parmax})
3966 2Dおよび3Dにてパラメトリック関数を描画します。
3968 このオブジェクトは以下の@i{グラフィックオプション}の影響を受けます:
3969 @code{nticks}, 
3970 @code{line_width}, @code{line_type}, @code{key}, @code{color} and @code{enhanced3d}.
3972 @b{2D}
3974 コマンド @code{parametric(@var{xfun}, @var{yfun}, @var{par}, @var{parmin},
3975 @var{parmax})}は
3976 @var{parmin}から@var{parmax}まで値を取るパラメータ@var{par}を伴う
3977 パラメトリック関数@code{[@var{xfun}, @var{yfun}]}をプロットします。
3979 例:
3981 @example
3982 (%i1) load(draw)$
3983 (%i2) draw2d(explicit(exp(x),x,-1,3),
3984              color = red,
3985              key   = "This is the parametric one!!",
3986              parametric(2*cos(rrr),rrr^2,rrr,0,2*%pi))$
3987 @end example
3989 @b{3D}
3991 @code{parametric (@var{xfun}, @var{yfun}, @var{zfun}, @var{par}, @var{parmin},
3992 @var{parmax})}は
3993 @var{parmin}から@var{parmax}まで値を取るパラメータ@var{par}を伴う
3994 パラメトリック曲線
3995 @code{[@var{xfun}, @var{yfun}, @var{zfun}]}をプロットします。
3997 例:
3999 @example
4000 (%i1) load(draw)$
4001 (%i2) draw3d(explicit(exp(sin(x)+cos(x^2)),x,-3,3,y,-3,3),
4002              color = royalblue,
4003              parametric(cos(5*u)^2,sin(7*u),u-2,u,0,2),
4004              color      = turquoise,
4005              line_width = 2,
4006              parametric(t^2,sin(t),2+t,t,0,2),
4007              surface_hide = true,
4008              title = "Surface & curves" )$
4009 @end example
4011 @opencatbox
4012 @category{Package draw}
4013 @closecatbox
4015 @end deffn
4019 @deffn  {グラフィックオブジェクト} parametric_surface (@var{xfun}, @var{yfun}, @var{zfun}, @var{par1}, @var{par1min}, @var{par1max}, @var{par2}, @var{par2min}, @var{par2max})
4020 3Dにおいてパラメトリックな表面を描画します。
4022 @b{3D}
4024 コマンド @code{parametric_surface (@var{xfun}, @var{yfun}, @var{zfun},
4025 @var{par1}, @var{par1min}, @var{par1max}, @var{par2}, @var{par2min},
4026 @var{par2max})}は
4027 @var{par1min}から @var{par1max}までを値として取るパラメータ @var{par1}と
4028 @var{par2min}から @var{par2max}までを値として取るパラメータ @var{par2}を伴う
4029 パラメトリックな表面 @code{[@var{xfun}, @var{yfun}, @var{zfun}]}を
4030 プロットします。
4032 このオブジェクトは以下の@i{グラフィックオプション}の影響を受けます:
4033 @code{xu_grid}, 
4034 @code{yv_grid}, @code{line_type}, @code{line_width}, @code{key}, @code{enhanced3d}, @code{color}.
4036 例:
4038 @example
4039 (%i1) load(draw)$
4040 (%i2) draw3d(title          = "Sea shell",
4041              xu_grid        = 100,
4042              yv_grid        = 25,
4043              view           = [100,20],
4044              surface_hide   = true,
4045              parametric_surface(0.5*u*cos(u)*(cos(v)+1),
4046                            0.5*u*sin(u)*(cos(v)+1),
4047                            u*sin(v) - ((u+3)/8*%pi)^2 - 20,
4048                            u, 0, 13*%pi, v, -%pi, %pi) )$
4049 @end example
4051 @opencatbox
4052 @category{Package draw}
4053 @closecatbox
4055 @end deffn
4057 @deffn  {グラフィックオブジェクト} points ([[@var{x1},@var{y1}], [@var{x2},@var{y2}],...])
4058 @deffnx {グラフィックオブジェクト} points ([@var{x1},@var{x2},...], [@var{y1},@var{y2},...])
4059 @deffnx {グラフィックオブジェクト} points ([@var{y1},@var{y2},...])
4060 @deffnx {グラフィックオブジェクト} points ([[@var{x1},@var{y1},@var{z1}], [@var{x2},@var{y2},@var{z2}],...])
4061 @deffnx {グラフィックオブジェクト} points ([@var{x1},@var{x2},...], [@var{y1},@var{y2},...], [@var{z1},@var{z2},...])
4062 @deffnx {グラフィックオブジェクト} points (@var{matrix})
4063 @deffnx {グラフィックオブジェクト} points (@var{1d_y_array})
4064 @deffnx {グラフィックオブジェクト} points (@var{1d_x_array}, @var{1d_y_array})
4065 @deffnx {グラフィックオブジェクト} points (@var{1d_x_array}, @var{1d_y_array}, @var{1d_z_array})
4066 @deffnx {グラフィックオブジェクト} points (@var{2d_xy_array})
4067 @deffnx {グラフィックオブジェクト} points (@var{2d_xyz_array})
4069 2Dや3Dの中で点を描画します。
4071 このオブジェクトは以下の@i{グラフィックオプション}の影響を受けます:
4072 @code{point_size}, 
4073 @code{point_type}, @code{points_joined}, @code{line_width}, @code{key},
4074 @code{line_type}, @code{color}.
4075 3Dモードでは、@code{enhanced3d}の影響も受けます。
4077 @b{2D}
4079 @code{points ([[@var{x1},@var{y1}], [@var{x2},@var{y2}],...])}や
4080 @code{points ([@var{x1},@var{x2},...], [@var{y1},@var{y2},...])}は
4081 点@code{[x1,y1]}, @code{[x2,y2]},などをプロットします。
4082 もし横座標が与えられないなら、
4083 それらは連続する正の整数に設定されます。
4084 だから、
4085 @code{points ([@var{y1},@var{y2},...])}は、点@code{[1,@var{y1}]}, @code{[2,@var{y2}]}などを描画します。
4086 もし@var{matrix}が2列または2行行列なら、
4087 @code{points (@var{matrix})}は関連した点を描画します。
4088 もし@var{matrix}が1列または1行行列なら、
4089 横座標が自動的に割り当てられます。
4091 もし@var{1d_y_array}が数の1Dのlisp配列なら、
4092 @code{points (@var{1d_y_array})}は
4093 横座標を連続する正の整数に設定してそれらをプロットします。
4094 @code{points (@var{1d_x_array}, @var{1d_y_array})}は
4095 引数として渡された2つの配列から取られた座標を持つ点をプロットします。
4096 もし@var{2d_xy_array}が2列の2D配列なら、
4097 @code{points (@var{2d_xy_array})}は平面上に対応する点をプロットします。
4099 例:
4101 @code{points}への2種類の引数、ペアのリストと分離した座標の2つのリスト。
4102 @example
4103 (%i1) load(draw)$
4104 (%i2) draw2d(
4105         key = "Small points",
4106         points(makelist([random(20),random(50)],k,1,10)),
4107         point_type    = circle,
4108         point_size    = 3,
4109         points_joined = true,
4110         key           = "Great points",
4111         points(makelist(k,k,1,20),makelist(random(30),k,1,20)),
4112         point_type    = filled_down_triangle,
4113         key           = "Automatic abscissas",
4114         color         = red,
4115         points([2,12,8]))$
4116 @end example
4118 衝撃を描画。
4119 @example
4120 (%i1) load(draw)$
4121 (%i2) draw2d(
4122         points_joined = impulses,
4123         line_width    = 2,
4124         color         = red,
4125         points(makelist([random(20),random(50)],k,1,10)))$
4126 @end example
4128 座標の配列。
4129 @example
4130 (%i1) load(draw)$
4131 (%i2) a: make_array (flonum, 100) $
4132 (%i3) for i:0 thru 99 do a[i]: random(1.0) $
4133 (%i4) draw2d(points(a)) $
4134 @end example
4136 分離した座標の2つの配列。
4137 @example
4138 (%i1) load(draw)$
4139 (%i2) x: make_array (flonum, 100) $
4140 (%i3) y: make_array (fixnum, 100) $
4141 (%i4) for i:0 thru 99 do (
4142         x[i]: float(i/100),
4143         y[i]: random(10) ) $
4144 (%i5) draw2d(points(x, y)) $
4145 @end example
4147 2列2D配列。
4148 @example
4149 (%i1) load(draw)$
4150 (%i2) xy: make_array(flonum, 100, 2) $
4151 (%i3) for i:0 thru 99 do (
4152         xy[i, 0]: float(i/100),
4153         xy[i, 1]: random(10) ) $
4154 (%i4) draw2d(points(xy)) $
4155 @end example
4157 関数@code{read_array}で埋められた配列の描画。
4158 @example
4159 (%i1) load(draw)$
4160 (%i2) a: make_array(flonum,100) $
4161 (%i3) read_array (file_search ("pidigits.data"), a) $
4162 (%i4) draw2d(points(a)) $
4163 @end example
4165 @b{3D}
4167 @code{points([[@var{x1}, @var{y1}, @var{z1}], [@var{x2}, @var{y2}, @var{z2}],
4168 ...])} や
4169 @code{points([@var{x1}, @var{x2}, ...], [@var{y1}, @var{y2}, ...],
4170 [@var{z1}, @var{z2}, ...])}は
4171 点@code{[@var{x1}, @var{y1}, @var{z1}]}, @code{[@var{x2}, @var{y2}, @var{z2}]}などをプロットします。
4172 もし @var{matrix}が3列または3行行列なら、
4173 @code{points (@var{matrix})}は関連した点を描画します。
4175 引数がlisp配列の時、
4176 @code{points (@var{1d_x_array}, @var{1d_y_array}, @var{1d_z_array})}は
4177 3つの1D配列から座標を取ります。
4178 もし@var{2d_xyz_array}が3列または3行を持つ2D配列なら、
4179 @code{points (@var{2d_xyz_array})}は対応する点をプロットします。
4181 例:
4183 3次元のサンプル1つ、
4184 @example
4185 (%i1) load(draw)$
4186 (%i2) load (numericalio)$
4187 (%i3) s2 : read_matrix (file_search ("wind.data"))$
4188 (%i4) draw3d(title = "Daily average wind speeds",
4189              point_size = 2,
4190              points(args(submatrix (s2, 4, 5))) )$
4191 @end example
4193 3次元のサンプル2つ、
4194 @example
4195 (%i1) load(draw)$
4196 (%i2) load (numericalio)$
4197 (%i3) s2 : read_matrix (file_search ("wind.data"))$
4198 (%i4) draw3d(
4199          title = "Daily average wind speeds. Two data sets",
4200          point_size = 2,
4201          key        = "Sample from stations 1, 2 and 3",
4202          points(args(submatrix (s2, 4, 5))),
4203          point_type = 4,
4204          key        = "Sample from stations 1, 4 and 5",
4205          points(args(submatrix (s2, 2, 3))) )$
4206 @end example
4208 1次元配列、
4209 @example
4210 (%i1) load(draw)$
4211 (%i2) x: make_array (fixnum, 10) $
4212 (%i3) y: make_array (fixnum, 10) $
4213 (%i4) z: make_array (fixnum, 10) $
4214 (%i5) for i:0 thru 9 do (
4215         x[i]: random(10),
4216         y[i]: random(10),
4217         z[i]: random(10) ) $
4218 (%i6) draw3d(points(x,y,z)) $
4219 @end example
4221 2次元色付け配列、
4222 @example
4223 (%i1) load(draw)$
4224 (%i2) xyz: make_array(fixnum, 10, 3) $
4225 (%i3) for i:0 thru 9 do (
4226         xyz[i, 0]: random(10),
4227         xyz[i, 1]: random(10),
4228         xyz[i, 2]: random(10) ) $
4229 (%i4) draw3d(
4230          enhanced3d = true,
4231          points_joined = true,
4232          points(xyz)) $
4233 @end example
4235 ユーザーが陽に指定した色数。
4236 @example
4237 (%i1) load(draw)$
4238 (%i2) pts: makelist([t,t^2,cos(t)], t, 0, 15)$
4239 (%i3) col_num: makelist(k, k, 1, length(pts))$
4240 (%i4) draw3d(
4241         enhanced3d = ['part(col_num,k),k],
4242         point_size = 3,
4243         point_type = filled_circle,
4244         points(pts))$
4245 @end example
4247 @opencatbox
4248 @category{Package draw}
4249 @closecatbox
4251 @end deffn
4254 @deffn  {グラフィックオブジェクト} polar (@var{radius},@var{ang},@var{minang},@var{maxang})
4255 極座標で定義された2D関数を描画します。
4257 @b{2D}
4259 @code{polar (@var{radius},@var{ang},@var{minang},@var{maxang})}は
4260 @var{minang}から@var{maxang}まで値を取る変数@var{ang}を伴う
4261 極座標で定義された関数
4262 @code{@var{radius}(@var{ang})}
4263 をプロットします。
4265 このオブジェクトは以下の@i{グラフィックオプション}の影響を受けます:
4266 @code{nticks}, 
4267 @code{line_width}, @code{line_type}, @code{key}, @code{color}.
4269 例:
4271 @example
4272 (%i1) load(draw)$
4273 (%i2) draw2d(user_preamble = "set grid polar",
4274              nticks        = 200,
4275              xrange        = [-5,5],
4276              yrange        = [-5,5],
4277              color         = blue,
4278              line_width    = 3,
4279              title         = "Hyperbolic Spiral",
4280              polar(10/theta,theta,1,10*%pi) )$
4281 @end example
4283 @opencatbox
4284 @category{Package draw}
4285 @closecatbox
4287 @end deffn
4290 @deffn  {グラフィックオブジェクト} polygon ([[@var{x1}, @var{y1}], [@var{x2}, @var{y2}], @dots{}])
4291 @deffnx {グラフィックオブジェクト} polygon ([@var{x1}, @var{x2}, @dots{}], [@var{y1}, @var{y2}, @dots{}])
4292 2D内でポリゴンを描画します。
4294 @b{2D}
4296 コマンド @code{polygon ([[@var{x1}, @var{y1}], [@var{x2}, @var{y2}],...])}や
4297 @code{polygon ([@var{x1}, @var{x2},...], [@var{y1}, @var{y2},...])}は
4298 頂点@code{[@var{x1}, @var{y1}]}, @code{[@var{x2}, @var{y2}]}などを持つポリゴンを
4299 平面上にプロットします。
4301 このオブジェクトは以下の
4302 @i{グラフィックオプション}の影響を受けます:
4303 @code{transparent}, 
4304 @code{fill_color}, @code{border}, @code{line_width}, @code{key},
4305  @code{line_type}, @code{color}.
4307 例:
4309 @example
4310 (%i1) load(draw)$
4311 (%i2) draw2d(color      = "#e245f0",
4312              line_width = 8,
4313              polygon([[3,2],[7,2],[5,5]]),
4314              border      = false,
4315              fill_color  = yellow,
4316              polygon([[5,2],[9,2],[7,5]]) )$
4317 @end example
4319 @opencatbox
4320 @category{Package draw}
4321 @closecatbox
4323 @end deffn
4326 @deffn  {グラフィックオブジェクト} quadrilateral (@var{point_1}, @var{point_2}, @var{point_3}, @var{point_4})
4327 四辺形を描画します。
4329 @b{2D}
4331 @code{quadrilateral ([@var{x1}, @var{y1}], [@var{x2}, @var{y2}],
4332 [@var{x3}, @var{y3}], [@var{x4}, @var{y4}])}は
4333 頂点@code{[@var{x1}, @var{y1}]}, @code{[@var{x2}, @var{y2}]},
4334 @code{[@var{x3}, @var{y3}]}, @code{[@var{x4}, @var{y4}]}を持つ四辺形を描画します。
4336 このオブジェクトは以下の@i{グラフィックオプション}の影響を受けます:@*
4337 @code{transparent}, @code{fill_color}, @code{border}, @code{line_width},
4338 @code{key}, @code{xaxis_secondary}, @code{yaxis_secondary}, @code{line_type},
4339 @code{transform}, @code{color}.
4341 例:
4343 @example
4344 (%i1) load(draw)$
4345 (%i2) draw2d(
4346         quadrilateral([1,1],[2,2],[3,-1],[2,-2]))$
4347 @end example
4349 @b{3D}
4351 @code{quadrilateral([@var{x1}, @var{y1}, @var{z1}], [@var{x2}, @var{y2},
4352 @var{z2}], [@var{x3}, @var{y3}, @var{z3}], [@var{x4}, @var{y4}, @var{z4}])}は
4353 頂点@code{[@var{x1}, @var{y1}, @var{z1}]}, @code{[@var{x2}, @var{y2}, @var{z2}]},
4354 @code{[@var{x3}, @var{y3}, @var{z3}]}, @code{[@var{x4}, @var{y4}, @var{z4}]}を持つ
4355 四辺形を描画します。
4357 このオブジェクトは以下の@i{グラフィックオプション}の影響を受けます: @code{line_type}, 
4358 @code{line_width}, @code{color}, @code{key}, @code{enhanced3d}, @code{transform}.
4360 @opencatbox
4361 @category{Package draw}
4362 @closecatbox
4363 @end deffn
4365 @deffn  {グラフィックオブジェクト} rectangle ([@var{x1},@var{y1}], [@var{x2},@var{y2}])
4366 2D内で長方形を描画します。
4368 @b{2D}
4370 @code{rectangle ([@var{x1},@var{y1}], [@var{x2},@var{y2}])}は、
4371 対角頂点
4372 @code{[@var{x1},@var{y1}]}と@code{[@var{x2},@var{y2}]}
4373 を持つ長方形を描画します。
4375 このオブジェクトは以下の
4376 @i{グラフィックオプション}の影響を受けます: @code{transparent}, 
4377 @code{fill_color}, @code{border}, @code{line_width}, @code{key},
4378 @code{line_type}, @code{color}.
4380 例:
4382 @example
4383 (%i1) load(draw)$
4384 (%i2) draw2d(fill_color  = red,
4385              line_width  = 6,
4386              line_type   = dots,
4387              transparent = false,
4388              fill_color  = blue,
4389              rectangle([-2,-2],[8,-1]), /* opposite vertices */
4390              transparent = true,
4391              line_type   = solid,
4392              line_width  = 1,
4393              rectangle([9,4],[2,-1.5]),
4394              xrange      = [-3,10],
4395              yrange      = [-3,4.5] )$
4396 @end example
4398 @opencatbox
4399 @category{Package draw}
4400 @closecatbox
4402 @end deffn
4408 @deffn  {グラフィックオブジェクト} region (@var{expr},@var{var1},@var{minval1},@var{maxval1},@var{var2},@var{minval2},@var{maxval2})
4409 平面上に不等式で定義された領域を描画します。
4411 @b{2D}
4412 @var{expr}は不等式とブーリアン演算子@code{and}, @code{or}, @code{not}で形成された式です。
4413 領域は
4414 @math{[@var{minval1}, @var{maxval1}]}と@math{[@var{minval2}, @var{maxval2}]}で
4415 定義された長方形で区切られています。
4417 このオブジェクトは以下の@i{グラフィックオプション}の影響を受けます: @code{fill_color}, 
4418 @code{key}, @code{x_voxel}, @code{y_voxel}.
4420 例:
4422 @example
4423 (%i1) load(draw)$
4424 (%i2) draw2d(
4425         x_voxel = 30,
4426         y_voxel = 30,
4427         region(x^2+y^2<1 and x^2+y^2 > 1/2,
4428                x, -1.5, 1.5, y, -1.5, 1.5));
4429 @end example
4430 @end deffn
4435 @deffn  {グラフィックオブジェクト} spherical (@var{radius}, @var{azi}, @var{minazi}, @var{maxazi}, @var{zen}, @var{minzen}, @var{maxzen})
4436 球座標で定義された3D関数を描画します。
4438 @b{3D}
4440 @code{spherical(@var{radius}, @var{azi}, @var{minazi}, @var{maxazi}, @var{zen},
4441 @var{minzen}, @var{maxzen})}は
4442 @var{minazi}から @var{maxazi}まで値を取る @i{方位角} @var{azi}と
4443 @var{minzen}から @var{maxzen}まで値を取る @i{天頂角} @var{zen}を伴う
4444 球座標で定義された関数 @code{@var{radius}(@var{azi}, @var{zen})}
4445 を描画します。
4448 このオブジェクトは以下の@i{グラフィックオプション}の影響を受けます:
4449 @code{xu_grid}, 
4450 @code{yv_grid}, @code{line_type}, @code{key}, @code{color}.
4452 例:
4454 @example
4455 (%i1) load(draw)$
4456 (%i2) draw3d(spherical(1,a,0,2*%pi,z,0,%pi))$
4457 @end example
4459 @opencatbox
4460 @category{Package draw}
4461 @closecatbox
4463 @end deffn
4467 @deffn  {グラフィックオブジェクト} triangle (@var{point_1}, @var{point_2}, @var{point_3})
4468 三角形を描画します。
4470 @b{2D}
4472 @code{triangle ([@var{x1},@var{y1}], [@var{x2},@var{y2}], [@var{x3},@var{y3}])}は、頂点@code{[@var{x1},@var{y1}]}, @code{[@var{x2},@var{y2}]}, @code{[@var{x3},@var{y3}]}を持つ三角形を描画します。
4474 このオブジェクトは、
4475 以下の@i{グラフィックオプション}に影響されます:@*
4476 @code{transparent}, @code{fill_color}, @code{border}, @code{line_width},
4477 @code{key}, @code{xaxis_secondary}, @code{yaxis_secondary}, @code{line_type},
4478 @code{transform}, @code{color}.
4480 例:
4482 @example
4483 (%i1) load(draw)$
4484 (%i2) draw2d(
4485         triangle([1,1],[2,2],[3,-1]))$
4486 @end example
4488 @b{3D}
4490 @code{triangle ([@var{x1},@var{y1},@var{z1}], [@var{x2},@var{y2},@var{z2}], [@var{x3},@var{y3},@var{z3}])}は
4491 頂点@code{[@var{x1},@var{y1},@var{z1}]}, @code{[@var{x2},@var{y2},@var{z2}]},
4492 @code{[@var{x3},@var{y3},@var{z3}]}を持つ三角形を描画します。
4494 このオブジェクトは以下の@i{グラフィックオプション}に影響されます:
4495 @code{line_type}, @code{line_width}, @code{color}, @code{key}, @code{enhanced3d}, @code{transform}.
4497 @opencatbox
4498 @category{Package draw}
4499 @closecatbox
4501 @end deffn
4503 @deffn  {グラフィックオブジェクト} tube (@var{xfun},@var{yfun},@var{zfun},@var{rfun},@var{p},@var{pmin},@var{pmax})
4504 3Dにおいて
4505 径が変化する管を描画します。
4507 @b{3D}
4509 @code{[@var{xfun},@var{yfun},@var{zfun}]}は
4510 @var{pmin}から@var{pmax}まで値を取るパラメータ@var{p}を伴う
4511 パラメトリックな曲線です。
4512 パラメトリックな曲線上に中心を持ち、曲線と垂直な半径@var{rfun}の円が置かれます。
4514 このオブジェクトは以下の@i{グラフィックオプション}の影響を受けます:
4515 @code{xu_grid}, 
4516 @code{yv_grid}, @code{line_type}, @code{line_width}, @code{key}, @code{enhanced3d},
4517 @code{color}, @code{tube_extremes}.
4519 例:
4521 @example
4522 (%i1) load(draw)$
4523 (%i2) draw3d(
4524         enhanced3d = true,
4525         xu_grid = 50,
4526         tube(cos(a), a, 0, cos(a/10)^2,
4527              a, 0, 4*%pi) )$
4528 @end example
4530 @opencatbox
4531 @category{Package draw}
4532 @closecatbox
4534 @end deffn
4538 @deffn  {グラフィックオブジェクト} vector ([@var{x},@var{y}], [@var{dx},@var{dy}])
4539 @deffnx {グラフィックオブジェクト} vector ([@var{x},@var{y},@var{z}], [@var{dx},@var{dy},@var{dz}])
4540 2Dおよび3D内でベクトルを描画します。
4542 このオブジェクトは以下の@i{グラフィックオプション}の影響を受けます:
4543 @code{head_both}, 
4544 @code{head_length}, @code{head_angle}, @code{head_type}, @code{line_width}, 
4545 @code{line_type}, @code{key}, @code{color}.
4547 @b{2D}
4549 @code{vector([@var{x},@var{y}], [@var{dx},@var{dy}])}は
4550 @code{[@var{x},@var{y}]}を原点とするベクトル@code{[@var{dx},@var{dy}]}を
4551 プロットします。
4553 例:
4555 @example
4556 (%i1) load(draw)$
4557 (%i2) draw2d(xrange      = [0,12],
4558              yrange      = [0,10],
4559              head_length = 1,
4560              vector([0,1],[5,5]), /* default type */
4561              head_type = 'empty,
4562              vector([3,1],[5,5]),
4563              head_both = true,
4564              head_type = 'nofilled,
4565              line_type = dots,
4566              vector([6,1],[5,5]))$
4567 @end example
4569 @b{3D}
4571 @code{vector([@var{x},@var{y},@var{z}], [@var{dx},@var{dy},@var{dz}])}は
4572 @code{[@var{x},@var{y},@var{z}]}を原点とする
4573 ベクトル@code{[@var{dx},@var{dy},@var{dz}]}をプロットします。
4575 例:
4577 @example
4578 (%i1) load(draw)$
4579 (%i2) draw3d(color = cyan,
4580              vector([0,0,0],[1,1,1]/sqrt(3)),
4581              vector([0,0,0],[1,-1,0]/sqrt(2)),
4582              vector([0,0,0],[1,1,-2]/sqrt(6)) )$
4583 @end example
4585 @opencatbox
4586 @category{Package draw}
4587 @closecatbox
4589 @end deffn
4592 @node Functions and Variables for pictures, Functions and Variables for worldmap, Functions and Variables for draw, draw
4593 @section Functions and Variables for pictures
4595 @deffn  {関数} get_pixel (@var{pic},@var{x},@var{y})
4596 ピクチャからピクセルを返します。
4597 座標@var{x}と@var{y}は
4598 0からそれぞれ@code{width-1}と@code{height-1}までの範囲を取ります。
4601 @opencatbox
4602 @category{Package draw}
4603 @closecatbox
4605 @end deffn
4608 @deffn  {関数} make_level_picture (@var{data})
4609 @deffnx {関数} make_level_picture (@var{data},@var{width},@var{height})
4610 レベル@var{picture}オブジェクトを返します。
4611 @code{make_level_picture (@var{data})}は
4612 行列@var{data}から
4613 @var{picture}オブジェクトを作ります。
4614 @code{make_level_picture (@var{data},@var{width},@var{height})}は
4615 数のリストからオブジェクトを作ります;
4616 この場合、@var{width}と@var{height}両方を与えなければいけません。
4618 返された@var{picture}オブジェクトは以下の4つの部分を含みます:
4620 @enumerate
4621 @item シンボル @code{level}
4622 @item イメージの幅
4623 @item イメージの高さ
4624 @item 0から255までの範囲のピクセルデータを持つ整数配列
4625 引数@var{data}は0から255までの数のみを含まなければいけません;
4626 負の数は0に置き換えられ、255よりも大きな数は255に設定されます。
4627 @end enumerate
4629 例:
4631 行列からのレベルピクチャ。
4632 @example
4633 (%i1) load(draw)$
4634 (%i2) make_level_picture(matrix([3,2,5],[7,-9,3000]));
4635 (%o2)         picture(level, 3, 2, @{Array:  #(3 2 5 7 0 255)@})
4636 @end example
4638 数値リストからのレベルピクチャ
4639 @example
4640 (%i1) load(draw)$
4641 (%i2) make_level_picture([-2,0,54,%pi],2,2);
4642 (%o2)            picture(level, 2, 2, @{Array:  #(0 0 54 3)@})
4643 @end example
4645 @opencatbox
4646 @category{Package draw}
4647 @closecatbox
4649 @end deffn
4651 @deffn  {関数} make_rgb_picture (@var{redlevel},@var{greenlevel},@var{bluelevel})
4652 rgb色付けされた@var{picture}オブジェクトを返します。
4653 3つ引数すべては赤、緑、青のレベルを持つレベルピクチャでなければいけません;
4655 返された@var{picture}オブジェクトは以下の4つの部分を含みます:
4657 @enumerate
4658 @item シンボル @code{rgb}
4659 @item イメージの幅
4660 @item イメージの高さ
4661 @item 0から255までの範囲のピクセルデータを持つ長さ@var{3*width*height}の整数配列。
4662 それぞれのピクセルは。3つの連続する数 (赤、緑、青)で表現されます。
4663 @end enumerate
4665 例:
4667 @example
4668 (%i1) load(draw)$
4669 (%i2) red: make_level_picture(matrix([3,2],[7,260]));
4670 (%o2)           picture(level, 2, 2, @{Array:  #(3 2 7 255)@})
4671 (%i3) green: make_level_picture(matrix([54,23],[73,-9]));
4672 (%o3)           picture(level, 2, 2, @{Array:  #(54 23 73 0)@})
4673 (%i4) blue: make_level_picture(matrix([123,82],[45,32.5698]));
4674 (%o4)          picture(level, 2, 2, @{Array:  #(123 82 45 33)@})
4675 (%i5) make_rgb_picture(red,green,blue);
4676 (%o5) picture(rgb, 2, 2, 
4677               @{Array:  #(3 54 123 2 23 82 7 73 45 255 0 33)@})
4678 @end example
4680 @opencatbox
4681 @category{Package draw}
4682 @closecatbox
4684 @end deffn
4686 @deffn  {関数} negative_picture (@var{pic})
4687 (@var{level}または@var{rgb})ピクチャの反転を返します。
4689 @opencatbox
4690 @category{Package draw}
4691 @closecatbox
4692 @end deffn
4695 @deffn  {関数} picture_equalp (@var{x},@var{y})
4696 等しいピクチャの場合@code{true}を、そうでなければ@code{false}
4697 を返します。
4699 @opencatbox
4700 @category{Package draw}
4701 @category{Predicate functions}
4702 @closecatbox
4704 @end deffn
4706 @deffn  {関数} picturep (@var{x})
4707 もし引数が適正なイメージなら
4708 @code{true}を、そうでなければ@code{false}を返します。
4710 @opencatbox
4711 @category{Package draw}
4712 @category{Predicate functions}
4713 @closecatbox
4715 @end deffn
4717 @deffn  {関数} read_xpm (@var{xpm_file})
4718 xpm形式のファイルを読み、ピクチャオブジェクトを返します。
4720 @opencatbox
4721 @category{Package draw}
4722 @closecatbox
4724 @end deffn
4728 @deffn  {関数} rgb2level (@var{pic})
4729 @var{rgb}ピクチャを
4730 赤、緑、青チャンネルを平均することで@var{level}の1つに変換します。
4732 @opencatbox
4733 @category{Package draw}
4734 @closecatbox
4736 @end deffn
4741 @deffn  {関数} take_channel (@var{im},@var{color})
4742 もし引数@var{color}が@code{red}, @code{green}または@code{blue}なら、
4743 関数@code{take_channel}は
4744 ピクチャ@var{im}の対応する色チャンネルを返します。
4745 例:
4747 @example
4748 (%i1) load(draw)$
4749 (%i2) red: make_level_picture(matrix([3,2],[7,260]));
4750 (%o2)           picture(level, 2, 2, @{Array:  #(3 2 7 255)@})
4751 (%i3) green: make_level_picture(matrix([54,23],[73,-9]));
4752 (%o3)           picture(level, 2, 2, @{Array:  #(54 23 73 0)@})
4753 (%i4) blue: make_level_picture(matrix([123,82],[45,32.5698]));
4754 (%o4)          picture(level, 2, 2, @{Array:  #(123 82 45 33)@})
4755 (%i5) make_rgb_picture(red,green,blue);
4756 (%o5) picture(rgb, 2, 2, 
4757               @{Array:  #(3 54 123 2 23 82 7 73 45 255 0 33)@})
4758 (%i6) take_channel(%,'green);  /* simple quote!!! */
4759 (%o6)           picture(level, 2, 2, @{Array:  #(54 23 73 0)@})
4760 @end example
4762 @opencatbox
4763 @category{Package draw}
4764 @closecatbox
4766 @end deffn
4769 @node Functions and Variables for worldmap,  , Functions and Variables for pictures, draw
4770 @section Functions and Variables for worldmap
4772 このパッケージは自動的にパッケージ@code{draw}をロードします。
4775 @subsection Variable and Functions
4777 @defvr {グローバル変数} boundaries_array
4778 デフォルト値: @code{false}
4780 @code{boundaries_array}は
4781 グラフィックオプション@code{geomap}が境界座標を探すところです。
4783 Each component of 
4784 @code{boundaries_array}のそれぞれの成分は
4785 浮動小数点量の配列であり、
4786 多角形のセグメントかマップ境界の座標です。
4788 @code{geomap}も参照してください。
4790 @opencatbox
4791 @category{Package draw}
4792 @closecatbox
4794 @end defvr
4797 @deffn  {関数} numbered_boundaries (@var{nlist})
4798 その数(@code{boundaries_array}座標)でラベルされた
4799 多角形セグメント(境界)のリストを描画します。
4800 これは新しい地理的なものを作る時に非常に役立ちます。
4802 例:
4804 @code{boundaries_array}内の成分数で境界をラベルされたヨーロッパの地図
4805 @example
4806 (%i1) load(worldmap)$
4807 (%i2) european_borders: 
4808            region_boundaries(-31.81,74.92,49.84,32.06)$
4809 (%i3) numbered_boundaries(european_borders)$
4810 @end example
4812 @opencatbox
4813 @category{Package draw}
4814 @closecatbox
4816 @end deffn
4819 @deffn  {関数} make_poly_continent (@var{continent_name})
4820 @deffnx  {関数} make_poly_continent (@var{country_list})
4821 色付けられた大陸や国のリストを描画するのに必要なポリゴンを作ります。
4823 例:
4825 @example
4826 (%i1) load(worldmap)$
4827 (%i2) /* A continent */
4828       make_poly_continent(Africa)$
4829 (%i3) apply(draw2d, %)$
4830 (%i4) /* A list of countries */
4831       make_poly_continent([Germany,Denmark,Poland])$
4832 (%i5) apply(draw2d, %)$
4833 @end example
4835 @opencatbox
4836 @category{Package draw}
4837 @closecatbox
4839 @end deffn
4843 @deffn  {関数} make_poly_country (@var{country_name})
4844 色付けられた国を描画するのに必要なポリゴンを作ります。
4845 もし島が存在するなら、1つの国はただ1つ以上のポリゴンで定義され得ます。
4847 例:
4849 @example
4850 (%i1) load(worldmap)$
4851 (%i2) make_poly_country(India)$
4852 (%i3) apply(draw2d, %)$
4853 @end example
4855 @opencatbox
4856 @category{Package draw}
4857 @closecatbox
4859 @end deffn
4862 @deffn  {関数} make_polygon (@var{nlist})
4863 境界添字から@code{polygon}オブジェクトを返します。
4864 引数@var{nlist}は@code{boundaries_array}の成分のリストです。
4866 例:
4868 ブータンは境界番号171, 173, 1143で定義されます。
4869 だから、@code{make_polygon([171,173,1143])}は
4870 appends arrays of coordinates 
4871 座標@code{boundaries_array[171]}, @code{boundaries_array[173]},
4872  @code{boundaries_array[1143]}の配列を付加し、
4873 @code{draw}でプロットされるのに適した@code{polygon}オブジェクトを返します.
4874 エラーメッセージを避けるには、
4875 任意の連続する配列が端で共通の2つの座標を持つという意味で配列は互換性がなければいけません。
4876 この例では、
4877 @code{boundaries_array[171]}の最初の2つの成分は
4878 @code{boundaries_array[173]}の最後の2つの座標と等しく、
4879 @code{boundaries_array[173]}の最初の2つは
4880 @code{boundaries_array[1143]}の最初の2つに等しいです;
4881 結論として、境界番号171, 173, 1143は (この順で)互換性があり、色付けられたポリゴンは描画できます。
4882 @example
4883 (%i1) load(worldmap)$
4884 (%i2) Bhutan;
4885 (%o2)                        [[171, 173, 1143]]
4886 (%i3) boundaries_array[171];
4887 (%o3) @{Array:  
4888        #(88.750549 27.14727 88.806351 27.25305 88.901367 27.282221
4889          88.917877 27.321039)@}
4890 (%i4) boundaries_array[173];
4891 (%o4) @{Array:
4892        #(91.659554 27.76511 91.6008 27.66666 91.598022 27.62499
4893          91.631348 27.536381 91.765533 27.45694 91.775253 27.4161 
4894          92.007751 27.471939 92.11441 27.28583 92.015259 27.168051
4895          92.015533 27.08083 92.083313 27.02277 92.112183 26.920271
4896          92.069977 26.86194 91.997192 26.85194 91.915253 26.893881
4897          91.916924 26.85416 91.8358 26.863331 91.712479 26.799999 
4898          91.542191 26.80444 91.492188 26.87472 91.418854 26.873329
4899          91.371353 26.800831 91.307457 26.778049 90.682457 26.77417
4900          90.392197 26.903601 90.344131 26.894159 90.143044 26.75333
4901          89.98996 26.73583 89.841919 26.70138 89.618301 26.72694 
4902          89.636093 26.771111 89.360786 26.859989 89.22081 26.81472
4903          89.110237 26.829161 88.921631 26.98777 88.873016 26.95499
4904          88.867737 27.080549 88.843307 27.108601 88.750549 
4905          27.14727)@}
4906 (%i5) boundaries_array[1143];
4907 (%o5) @{Array:  
4908        #(91.659554 27.76511 91.666924 27.88888 91.65831 27.94805 
4909          91.338028 28.05249 91.314972 28.096661 91.108856 27.971109
4910          91.015808 27.97777 90.896927 28.05055 90.382462 28.07972
4911          90.396088 28.23555 90.366074 28.257771 89.996353 28.32333
4912          89.83165 28.24888 89.58609 28.139999 89.35997 27.87166 
4913          89.225517 27.795 89.125793 27.56749 88.971077 27.47361
4914          88.917877 27.321039)@}
4915 (%i6) Bhutan_polygon: make_polygon([171,173,1143])$
4916 (%i7) draw2d(Bhutan_polygon)$
4917 @end example
4919 @opencatbox
4920 @category{Package draw}
4921 @closecatbox
4923 @end deffn
4925 @deffn  {関数} region_boundaries (@var{x1},@var{y1},@var{x2},@var{y2})
4926 頂点(@var{x1},@var{y1}) -左上- と(@var{x2},@var{y2}) -右下-の長方形に完全に含まれる
4927 グローバル変数@code{boundaries_array}の多角形セグメント検出します。
4930 例:
4932 南イタリアをプロットするためのセグメントの数を返します。
4933 @example
4934 (%i1) load(worldmap)$
4935 (%i2) region_boundaries(10.4,41.5,20.7,35.4);
4936 (%o2)                [1846, 1863, 1864, 1881, 1888, 1894]
4937 (%i3) draw2d(geomap(%))$
4938 @end example
4940 @opencatbox
4941 @category{Package draw}
4942 @closecatbox
4944 @end deffn
4947 @deffn  {関数} region_boundaries_plus (@var{x1},@var{y1},@var{x2},@var{y2})
4948 頂点(@var{x1},@var{y1}) -左上- と(@var{x2},@var{y2}) -右下-で定義された長方形に少なくとも1つ頂点を含まれる
4949 グローバル変数@code{boundaries_array}の多角形セグメント検出します。
4950 多角形セグメント検出します。
4952 例:
4954 @example
4955 (%i1) load(worldmap)$
4956 (%i2) region_boundaries_plus(10.4,41.5,20.7,35.4);
4957 (%o2) [1060, 1062, 1076, 1835, 1839, 1844, 1846, 1858,
4958        1861, 1863, 1864, 1871, 1881, 1888, 1894, 1897]
4959 (%i3) draw2d(geomap(%))$
4960 @end example
4962 @opencatbox
4963 @category{Package draw}
4964 @closecatbox
4966 @end deffn
4968 @subsection Graphic objects
4971 @deffn  {グラフィックオブジェクト} geomap (@var{numlist})
4972 @deffnx {グラフィックオブジェクト} geomap (@var{numlist},@var{3Dprojection})
4973 2Dと3Dに関して地図を描画します。
4975 @b{2D}
4977 この関数はグローバル変数@code{boundaries_array}と一緒に機能します。
4979 引数@var{numlist}は
4980 数や数のリストを含むリストです。
4981 これらすべての数は、
4982 グローバル配列@code{boundaries_array}の成分を表す
4983 0以上の整数でなければいけません。
4985 Each component of 
4986 @code{boundaries_array}のそれぞれの成分は
4987 浮動小数点量の配列であり、多角形セグメントやマップ境界の座標です。
4989 @code{geomap (@var{numlist})}は
4990 引数を平坦化し、@code{boundaries_array}の中に関連した境界を描画します。
4992 このオブジェクトは以下の@i{グラフィックオプション}の影響を受けます:
4993 @code{line_width}, @code{line_type}, @code{color}.
4995 例:
4997 手で定義された簡単な地図:
4998 @example
4999 (%i1) load(draw)$
5000 (%i2) /* Vertices of boundary #0: @{(1,1),(2,5),(4,3)@} */
5001    ( bnd0: make_array(flonum,6),
5002      bnd0[0]:1.0, bnd0[1]:1.0, bnd0[2]:2.0,
5003      bnd0[3]:5.0, bnd0[4]:4.0, bnd0[5]:3.0 )$
5004 (%i3) /* Vertices of boundary #1: @{(4,3),(5,4),(6,4),(5,1)@} */
5005    ( bnd1: make_array(flonum,8),
5006      bnd1[0]:4.0, bnd1[1]:3.0, bnd1[2]:5.0, bnd1[3]:4.0,
5007      bnd1[4]:6.0, bnd1[5]:4.0, bnd1[6]:5.0, bnd1[7]:1.0)$
5008 (%i4) /* Vertices of boundary #2: @{(5,1), (3,0), (1,1)@} */
5009    ( bnd2: make_array(flonum,6),
5010      bnd2[0]:5.0, bnd2[1]:1.0, bnd2[2]:3.0,
5011      bnd2[3]:0.0, bnd2[4]:1.0, bnd2[5]:1.0 )$
5012 (%i5) /* Vertices of boundary #3: @{(1,1), (4,3)@} */
5013    ( bnd3: make_array(flonum,4),
5014      bnd3[0]:1.0, bnd3[1]:1.0, bnd3[2]:4.0, bnd3[3]:3.0)$
5015 (%i6) /* Vertices of boundary #4: @{(4,3), (5,1)@} */
5016    ( bnd4: make_array(flonum,4),
5017      bnd4[0]:4.0, bnd4[1]:3.0, bnd4[2]:5.0, bnd4[3]:1.0)$
5018 (%i7) /* Pack all together in boundaries_array */
5019    ( boundaries_array: make_array(any,5),
5020      boundaries_array[0]: bnd0, boundaries_array[1]: bnd1,
5021      boundaries_array[2]: bnd2, boundaries_array[3]: bnd3,
5022      boundaries_array[4]: bnd4 )$
5023 (%i8) draw2d(geomap([0,1,2,3,4]))$
5024 @end example
5026 補助バッケージ @code{worldmap}は
5027 グローバル変数 @code{boundaries_array}を
5028 (経度、緯度)座標で
5029 実世界境界に設定します。
5030 これらのデータはパブリックドメインであり、
5031 @url{http://www-cger.nies.go.jp/@-grid-e/@-gridtxt/@-grid19.html}
5032 に由来するものです。
5034 パッケージ@code{worldmap}は、国、大陸、海岸線の境界も
5035 @code{boundaries_array}の必要な成分を持つリストとして、
5036 定義します。
5037 (更に知るにはファイル@code{share/draw/worldmap.mac}を参照してください)
5038 パッケージ@code{draw}は自動的に@code{worldmap}をロードしません。
5040 @example
5041 (%i1) load(worldmap)$
5042 (%i2) c1: gr2d(geomap(Canada,United_States,
5043                       Mexico,Cuba))$
5044 (%i3) c2: gr2d(geomap(Africa))$
5045 (%i4) c3: gr2d(geomap(Oceania,China,Japan))$
5046 (%i5) c4: gr2d(geomap(France,Portugal,Spain,
5047                       Morocco,Western_Sahara))$
5048 (%i6) draw(columns  = 2,
5049            c1,c2,c3,c4)$
5050 @end example
5052 パッケージ@code{worldmap}は
5053 国をポリゴンとしてプロットする時にも役に立ちます。
5054 この場合、グラフィックオブジェクト@code{geomap}は
5055 もはや必要でなく、代わりに@code{polygon}オブジェクトが使われます。
5056 配列ではなくリストが現在使われているので、
5057 地図レンダリングはより遅いでしょう。
5058 以下のコードを理解するためには、
5059 @code{make_poly_country}と@code{make_poly_continent}も
5060 参照してください。
5061 @example
5062 (%i1) load(worldmap)$
5063 (%i2) mymap: append(
5064    [color      = white],  /* borders are white */
5065    [fill_color = red],             make_poly_country(Bolivia),
5066    [fill_color = cyan],            make_poly_country(Paraguay),
5067    [fill_color = green],           make_poly_country(Colombia),
5068    [fill_color = blue],            make_poly_country(Chile),
5069    [fill_color = "#23ab0f"],       make_poly_country(Brazil),
5070    [fill_color = goldenrod],       make_poly_country(Argentina),
5071    [fill_color = "midnight-blue"], make_poly_country(Uruguay))$
5072 (%i3) apply(draw2d, mymap)$
5073 @end example
5076 @b{3D}
5078 @code{geomap (@var{numlist})}は地図境界を
5079 中心が(0,0,0)で半径1の球上に射影します。
5080 @code{geomap (@var{numlist},@var{3Dprojection})}を使うことで、
5081 球や射影タイプを変えることが可能です。
5083 利用可能な3D射影:
5085 @itemize @bullet
5086 @item
5087 @code{[spherical_projection,@var{x},@var{y},@var{z},@var{r}]}:
5088 地図境界を
5089 中心(@var{x},@var{y},@var{z})、半径@var{r}の球上に
5090 射影します。
5092 @example
5093 (%i1) load(worldmap)$
5094 (%i2) draw3d(geomap(Australia), /* default projection */
5095              geomap(Australia,
5096                     [spherical_projection,2,2,2,3]))$
5097 @end example
5099 @item
5100 @code{[cylindrical_projection,@var{x},@var{y},@var{z},@var{r},@var{rc}]}:
5101 球地図境界を
5102 中心(@var{x},@var{y},@var{z})の半径@var{r}の地球の極を通る軸を持ち
5103 半径@var{rc}の円柱に再射影します。
5105 @example
5106 (%i1) load(worldmap)$
5107 (%i2) draw3d(geomap([America_coastlines,Eurasia_coastlines],
5108                     [cylindrical_projection,2,2,2,3,4]))$
5109 @end example
5111 @item
5112 @code{[conic_projection,@var{x},@var{y},@var{z},@var{r},@var{alpha}]}:
5113 球地図境界を
5114 中心(@var{x},@var{y},@var{z})の半径@var{r}の地球の極を通る軸を持ち
5115 角度@var{alpha}の円錐上に
5116 再射影します。
5117 北円錐と南円錐両方が球に接触します。
5119 @example
5120 (%i1) load(worldmap)$
5121 (%i2) draw3d(geomap(World_coastlines,
5122                     [conic_projection,0,0,0,1,90]))$
5123 @end example
5124 @end itemize
5126 更に丹念な例を見るには、
5127 @url{http://www.telefonica.net/web2/biomates/maxima/gpdraw/geomap}
5128 も参照してください。
5130 @opencatbox
5131 @category{Package draw}
5132 @closecatbox
5134 @end deffn