From dc71274f16f7ff65145e034900f582b62453a033 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sat, 14 Oct 2017 11:43:11 +0900 Subject: rename and update ketpic -> ketcindy --- .../source/ketmanual/referenceR4_2_2_ltd.tex | 1422 ++++++++++++++++++++ 1 file changed, 1422 insertions(+) create mode 100644 texmf-dist/doc/support/ketcindy/source/ketmanual/referenceR4_2_2_ltd.tex (limited to 'texmf-dist/doc/support/ketcindy/source/ketmanual/referenceR4_2_2_ltd.tex') diff --git a/texmf-dist/doc/support/ketcindy/source/ketmanual/referenceR4_2_2_ltd.tex b/texmf-dist/doc/support/ketcindy/source/ketmanual/referenceR4_2_2_ltd.tex new file mode 100644 index 00000000..f77574b8 --- /dev/null +++ b/texmf-dist/doc/support/ketcindy/source/ketmanual/referenceR4_2_2_ltd.tex @@ -0,0 +1,1422 @@ +\documentclass[a4j]{jarticle} + +\usepackage{ketpic,ketlayer} +\usepackage{amsmath,amssymb} +\usepackage{enumerate} +%\usepackage{emathE} + +\newcommand{\tab}[2][12zw]{% +\noindent +\hspace*{2zw}\Ltab{#1 }{#2}% +} + +\newcommand{\chuu}[1][15zw]{% +\Ltab{#1}{}※ % +} + +\newcommand{\rei}[1][18zw]{% +\Rtab{#1}{例)\ }}% + +\newcommand{\reicr}[1][18zw]{% +\Rtab{#1}{  }}% + +\newcommand{\prompt}[1][+]{% +$>$ \verb#1} + +\newcommand{\dq}[1]{ +{\unitlength$<$- 0.0012in% +\begin{picture}% +(26.30,94.50)(2.40,0.00)% +\special{pn 8}% +\special{pa 3 -113}\special{pa 6 -78}\special{pa 12 -78}\special{pa 15 -113}\special{pa 3 -113}% +\special{sh 1}\special{ip}% +\special{pa 22 -113}\special{pa 25 -78}\special{pa 31 -78}\special{pa 34 -113}\special{pa 22 -113}% +\special{sh 1}\special{ip}% +\end{picture}}% +\,#1\,% +{\unitlength$<$- 0.0012in% +\begin{picture}% +(26.30,94.50)(2.40,0.00)% +\special{pn 8}% +\special{pa 3 -113}\special{pa 6 -78}\special{pa 12 -78}\special{pa 15 -113}\special{pa 3 -113}% +\special{sh 1}\special{ip}% +\special{pa 22 -113}\special{pa 25 -78}\special{pa 31 -78}\special{pa 34 -113}\special{pa 22 -113}% +\special{sh 1}\special{ip}% +\end{picture}}% +} + +\newcommand{\bq}{ +\hspace*{-2pt}% +{\unitlength=1pt% +\begin{picture}% +(1.80,7.00)(-0.90,0.00)% +\special{pn 8}% +% +\special{pn 12}% +\special{pa -11 -94}\special{pa 11 -72}% +\special{fp}% +\special{pn 8}% +\end{picture}}% +} + +\newenvironment{mini}[1]% +{\begin{minipage}[t]{#1}}% +{\end{minipage}% +} + + +%\enumSep{\narrowenumsep} + +\setmargin{15}{15}{15}{20} + +\begin{document} + +\begin{flushright} +2013年10月6日 +\end{flushright} + +\begin{center} +{\bf \huge \ketpic\ v4.2.2 ltd コマンド一覧}\vspace{3mm}\\ +{\bf \huge for R} +\end{center} + +\hfill +\begin{minipage}{4cm} +\Ltab{1.5cm}{PD}プロットデータ\\ +\end{minipage} + +%\vspace*{-2zw} + +\section{R についての注意} + +\begin{enumerate}[1.] + +\item KETpicの読込みには次を実行する.\\ +\hspace*{2zw}load("C:/work/ketpic.Rdata") (C:/work/は作業フォルダ名)\\\hspace*{-12zw}\chuu ディレクトリの変更は setwd("c:/work") + +\item 文字列は  "(ダブル)で囲む\\ +\chuu 文字列の中に文字列を入れるときは ' と " を入れ子に使う. + +\item 関数などを引数とするときは,文字列とする.\\ +\hspace*{2zw}例)G$<$- Plotdata( "x\verb|^|2", "x=c(0,1)") +%\hspace*{2zw}注)プログラミングでは文字列を実行するコマンド evstr, execstr が重要である. +%\item +%数リスト,文字列,行列が混ざったデータ(基本データ)のリストはできない. +%Mixは混合リストを扱う. +%\hspace*{3zw}基本データ$\longrightarrow$混合列$\longrightarrow$混合リスト% +%$\longrightarrow$混合リスト$\longrightarrow\cdots$ + +\item \verb|\|(バックスラッシュ)を出力するには2つ並べてかく. + + +\item 注釈は \verb|#| + +%\item 実行の中断は abort + + +%\item 数値微分は derivative, 数値積分は integrate(またはintg) + +%\chuu Derivative, Integrate 参照 + +\item 数と文字列の変換\\ +\hspace*{2zw}as.character(数)\\ +\hspace*{2zw}as.numeric(文字列)\\ +\hspace*{2zw}eval(parse(text=文字列)))\\ +\hspace*{2zw}sprintf(書式,\ 数) 書式付き文字列 + +\item 異なる型のデータからリストを作るにはlistを用いる.\\ +\hspace*{2zw}作成   L\verb|<-| list(... , ... );\\ +\hspace*{2zw}取り出し A\verb|<-| L[[i]]\\ +\hspace*{2zw}部分リスト L[V]\ (V はベクトル)\\ +\hspace*{2zw}置き換え L[[i]]\verb|<-| ...\\ +%\hspace*{2zw}消去   L[[i]]<- NULL\\ +\hspace*{2zw}長さ   length(L)\\ +\hspace*{2zw}追加   L\verb|<-| c(L1, L2)\\ +\hspace*{2zw}結合   c(L1,L2,...)\\ +\hspace*{2zw}空リスト list()\\ +\hspace*{2zw}タイプを見る is.list(L)(論理値)または mode(L) + +\end{enumerate} + +\section{Rのための追加コマンド} + +\tab{Member(D, L)}DがLの要素であればtrue,そうでなければfalseを返す.\\ +\chuu Lはベクトルまたは list + +\tab{Flattenlist(L)}Lを平準化して単層のリストを作る + +%\tab{Mix(D1, D2, $\cdots$)}FD列,MS,MLから(1段上の)MSまたはMLを作成 + +%\tab{Mixadd(L, D)}L(MSまたはML)にDを要素として加える + +\tab{Mixdisp({\it list})}listの要素を画面に簡易表示 + +%\tab{Mixjoin(L1, L2, ...)}要素を合併したlistを作る\\ +%\rei L1$<$- list(G1,G2,3); L2$<$- list(G3, "a")\\ +%\reicr L$<$- Mixjoin(L1,L2, c(3,6))\\ +%\reicr \hspace{2cm}LはG1, G2, 3, G3, "a", c(3, 6)のlist\\ +%\chuu \verb|c() , list()| は無視される + +%\tab{MixL(D1,D2, $\cdots$)}MS, MLから(1段上の)MLを作成 + +%\tab{Mixlength(L)}L(MSまたはML)の要素の個数 + +%\tab{Mixop(N, Data)}DataのN番目の要素(DataはMS, ML) + +%\tab{MixS(D1,D2, $\cdots$)}基本データ列からMSを作成 + +%\tab{Mixsub(範囲,L)}Lの範囲(リスト)の要素からなる部分MSまたはML\\ +%\rei S$<$- Mixsub( 2; 5, L); + +%\tab{Mixtype(Data)}Dataが基本データなら1,MSなら2,MLなら3を返す + +\tab{Op(N,\ Data)}DataのN番目の要素(Dataは文字列,ベクトル,list) + +\tab{Assign(式, 変数名, 値, ・・・)}\\ +\tab{}変数名(文字列)に値を割り当てた文字列を返す\\ +\chuu 値は,数,文字列,数行列,Scilablist\\ +\rei A$<$- 0.4; B$<$- c(2,1)\\ +\reicr Fn$<$- Assign("A*x\^{}2+B(1)*y\^{}2","A", A, "B", B) + +\tab{Assignset(変数名, 値, ・・・)}% +割り当て変数テーブルをセットする\\ +\rei Assignset("A", 0.4, "B", c(2,1), "C", list(...), "D", "string") + +%\tab{Assign(式)}式文字列の変数に割り当て変数リストを割り当てた文字列を返す\\ +%\rei Assign("A", 0.4, "B", c(2,1))\\ +%\reicr Fn$<$- Assign("A*x\^{}2+B(1)*y\^{}2") + +\tab{Assignset("?"+変数名)}変数名の値を返す\\ +\rei Assignset("?A") + +\tab{Assignset()}割り当て変数テーブルを初期化\\ +%\rei Assign("A", 0.4, "B", c(2,1))\\ +%\reicr Assign() + +\tab{Assignadd(変数名, 値, ・・・)}\\ +\tab{}割り当て変数テーブルに追加する\\ +\rei Assignadd("C", 0.4, "D", c(2,1)) + +\tab{Assignrep(変数名, 値, ・・・)}\\ +\tab{}割り当て変数テーブルを置き換える\\ +\rei Assignrep("C", 0.8) + +\tab{Prime(文字列)}文字列の最後に " をつける\\ +\rei Prime("A")\\ +\rei Prime() (" だけを出力)\\ +\chuu Assign("A\bq ") としてもよい. + + +%\tab{Strop(N,\ 文字列)}文字列のN番目の文字 + +%\tab{Subs(代入式,\ 有理式)}有理式に代入式で与えられる数値を代入した値を返す\\ +%\rei X$<$- poly(0,"X")\\ +%\reicr F$<$- X\verb|^|2+3\verb|*|X+3\\ +%\reicr V$<$- Subs("X$<$- 5",\ F) + +\tab{XMIN, XMAX, YMIN, YMAX}\\ +\tab{}ウィンドウ範囲 +(デフォルト$-5\leqq x\leqq 5,\ -5\leqq y\leqq 5$) + +\tab{Ptne(),Ptnw(),Ptsw(),Ptse()}\\ +\tab{}フレーム枠の各点 + +\tab{ThisVersion}Ketpicのバージョン + +\tab{Fracform(x\{, 分母の最大値\})}\\ +\tab{}xに近い分数(文字列)を返す\\ +\chuu 分母の最大値のデフォルトは100000\\\ +\rei Fracform(c(2.36)) + +\tab{Dotprod(v1,v2)}内積 + +\tab{Crossprod(v1,v2)}外積 + +\tab{Derivative(関数文字列,変数名,\{値ベクトル\}}\\ +\tab{}関数の微分係数を求める.\\ +\rei Derivative("x\verb|^|2+y", c("x","y"),c(2, 3))\\ +%\rei Assign("A", 3)\\ +%\reicr Derivative(Assign("x\verb|^|2+A*y"), "c(x,y)", c(2, 3), 2)\\ +%\chuu 変数の番号を指定しないときは,列ベクトルで返す. + +\tab{Integrate(関数文字列,変数文字列,積分区間(数リスト))}\\ +\tab{}関数の定積分を求める.\\ +\rei Integrate("sin(x)","x",c(0,pi))\\ +\chuu 区間(リスト)は積分を分けて計算するときに指定\\ +%\reicr Fn(x)","if x>0,Y$<$- 1,else,Y$<$- -1,end")|\\ +\reicr \verb|Integrate("Fn(x)","x",c(-2,0,3))|\\ + +%\tab{Thetadegree()}平行投影で$\theta$(度) + +%\tab{Phidegree()}平行投影で$\varphi$(度) + +%\vspace{-2zw} + +\section{設定コマンド} + +\subsection{基本} + +\tab{Setwindow(c(xmin, xmax), c(ymin, ymax))}\\ +\tab{}ウィンドウ範囲を設定\\ +\rei Setwindow(c(-pi, pi),\ $c(-1.5,1.5)$\,)\\ +\chuu XMIN , XMAX , YMIN , YMAX で値を得られる. + +\tab{Setscaling({\it ratio})}\\ +\tab{}縦の横に対する比を{\it ratio}に設定(デフォルトは 1)\\ +\rei Setscaling(2)\\ +\chuu ウィンドウも連動 + +\tab{Setax(線種, 横軸名, 位置, 縦軸名, 位置, 原点名, 位置)}\\ +\tab{}座標軸を設定(引数 7 個)\\ +\rei Setax("a", "t", "s", "u", "w", "O", "nw")\\ +\chuu 線種は d : line , a : arrow\\ +\chuu arrowのとき "a0.5" のように,矢印の大きさを指定できる.\\ +\chuu ""とすると,現在の設定を変更しない.\\ +\chuu 以降が "" のとき省略できる.また途中からも指定できる\\ +\rei Setax("a"\,)\\ +\rei Setax(6, "O", "se"\,) (6番目から指定)\\ +\chuu 位置は"n", "s", "e", "w", "ne", "nw", "se", "sw"\\ +\chuu "s2w3"のように微小移動量を付加してよい.\\ +\chuu 空引数のとき,現在の設定値を表示 + +\tab{Setorigin(\,点\,)}座標軸の原点を指定(デフォルトは$(0,\ 0)$)\\ +\chuu 空引数のとき,現在の設定値を表示 + +\tab{Setpen( 倍率 )}線の太さを指定(標準からの倍率で)\\ +\rei Setpen(1.5)\\ +\chuu 空引数のとき,現在の設定値を表示 + +\tab{Setpt( 倍率 )}Drwptの点の大きさを指定(標準からの倍率で)\\ +\chuu 空引数のとき,現在の設定値を表示 + +\tab{Setmarklen( 倍率 )}目盛りの大きさを指定(標準からの倍率で)\\ +\chuu 目盛りの大きさは微小移動量の単位としても用いられる.\\ +\chuu 空引数のとき,現在の設定値を表示 + +\tab{Setunitlen("単位長")}単位長を指定する\\ +\chuu Beginpicture("")とすると指定された単位長が使われる.\\ +\chuu 空引数のとき,現在の設定値を表示 +%\tab(13zw){resetunitlen()}コード書き出しを終える + +\tab{Setarrow(鏃の大きさ \{, 開き角 \{, 鏃位置 \{, 太さ\}\}\} \{, 形と位置\})}\\ +\tab{}矢印の形状を指定する\\ +\rei Setarrow(0.5, 1, 1, 0.7, "tf"\,)\\ +\chuu デフォルト 大きさ1 ,角度 18°,位置は終点\\ +\chuu 5以下の開き角を指定したときは,18°からの倍率とする\\ +\chuu 形状\ "l" :ライン "f" :塗り(デフォルト)\\ +\chuu 位置微調整\ "c":中央 "b":下 "t":トップ(〃)\\ +\chuu 空引数のとき,現在の設定値を表示 + +\tab{Ketinit(\,)}定数をデフォルトに初期化 + +\subsection{空間(平行投影)} + +\tab{Setangle(\,$\theta, \varphi$\,)}角度(°)を指定\\ +\chuu デフォルト値は $\theta$<$- 60,\ \varphi$<$- 30$\\ +\chuu 空引数のとき,現在の設定値を表示 + +\tab{Initangle(\,)}デフォルト値に戻す + +\subsection{空間(一点投影)} + +\tab{Setpers(\,注視点,視点\,)}一点投影のFocusPoint,\ EyePoint を指定\\ +\chuu デフォルト値は FocusPoint$<$- c(0,0,0),\ EyePoint$<$- c(5,5,5) + +\tab{Setpers()}現在のFocusPoint,\ EyePoint を表示\\ +\chuu 空引数のとき,現在の設定値を表示 + +\tab{SetstereoL(\,$R,\ \theta,\ \varphi,\ \varDelta$\,)}% +原点を注視点として,空間極座標により定まる左目の位置を\\ +\tab{}視点にセット($\varDelta$は目の間隔) + +\tab{SetstereoR(\,$R,\ \theta,\ \varphi,\ \varDelta$\,)}% +原点を注視点として,空間極座標により定まる右目の位置を\\ +\tab{}視点にセット($\varDelta$は目の間隔) + +\section{プロットデータの作成} + +\subsection{平面図形} + +\tab{Plotdata(関数,範囲,オプション)}\\ +\tab{}関数のグラフのPDを作成\\ +\rei G1$<$- Plotdata(\,"sin(x)",\ "x= c($-2$*pi,\ 2*pi)")\\ +\chuu 範囲を "x" とすると,XMINからXMAXにとる.\\ +\chuu x 以外の変数を使うときは関数に使われていないかを注意.\\ +\chuu オプション\\ +\hspace*{16zw}\tab[6zw]{"N=$\cdots$"}点の個数\\ +\hspace*{16zw}\tab[6zw]{"E=c($\cdots$)"}除外点のリスト\\ +\hspace*{16zw}\tab[6zw]{"E=関数"}関数の0点は除外\\ +\hspace*{16zw}\tab[6zw]{"D=$\cdots$"}連続限界値(これ以上離れたら結ばない)\\ +\chuu デフォルトはN=50, D=Inf \\ +%\chuu 関数は function で与えてもよい.\\ +\rei G1$<$- Plotdata("1/x", "x","N=200", "E=c(0)", "D=1")\\ +\rei G2$<$- Plotdata("1/((x-1)*(x+2))", "x", "E=(x-1)*(x+2)")\\ + +\tab{Listplot(点のベクトルまたは列またはlist)}\\ +\tab{}折れ線のPDを作成. ただし、点は線分で結ぶ. \\ +\rei G2$<$- Listplot(c(c(3,2),c(5,4)))\\ +\rei G2$<$- Listplot(c(3,2),c(5,4)) + +\tab{Lineplot(点A, 点B\{ , 長さ,半直線\})}\\ +\tab{}線分ABを延長した線分のPDを作成 \\ +\rei G3$<$- Lineplot(c(3,2),c(5,4))\\ +\rei G4$<$- Lineplot(A, B, "+")\\ +\reicr 半直線AB(B側に延長)\\ +\chuu 長さのデフォルトは片側100 + +\tab{Paramplot(パラメトリック関数,範囲,オプション)}\\ +\tab{}パラメトリック関数のグラフのPDを作成\\ +\chuu t 以外の変数を使うときは関数に使われていないかを注意\\ +%\chuu 関数は function で与えてもよい.\\ +\rei G3$<$- Paramplot(\,"c(cos(t),\ sin(t))",\ "t=c(0, 2*\%pi)")\\ +%\rei G4$<$- Paramplot(Fnx, Fny, "t=c(0, 1)") + +\tab{Rotatedata(PDまたは点,角度\{,中心\})}\\ +\tab{}平面のPDを回転したPDを作成 \\ +\rei G4$<$- Rotatedata(G1,pi/4) + +\tab{Translatedata(PD,\ x方向 y方向)}\\ +\tab{}PDを平行移動したPDを作成 \\ +\rei G5$<$- Translatedata(\,G1,\ 3,\ $-1$\,) + +\tab{Scaledata(PD, x方向, y方向\{,中心\})}\\ +\tab{}PDを拡大(縮小)したPDを作成 \\ +\rei G6$<$- Scaledata(\,G1,\ 2,\ 1/3\,) + +\tab{Reflectdata(PD,点)}点対称移動したPDを作成\\ +\tab{Reflectdata(PD, c(\,点1,点2\,))}\\ +\tab{}線対称移動したPDを作成\\ +\rei G7$<$- Reflectdata(\,G1,\ c(0,0)\,)\\ +\rei G8$<$- Reflectdata(\,G1,\ c(\,c(0,0),\ c(0,1)\,)\,) + +\tab{Pointdata(PD,\ $\cdots$)}PDの節点のlistを作成\\ +\rei G9=Pointdata(G1)\\ +\chuu Drwpt(G9)などで,点のプロットができる. + +\tab[21zw]{Circledata(中心,\ 半径\ \{,\ オプション\}\})}円のPDを作成\\ +\rei G10$<$- Circledata(\,c(3,1),\ 2\,) \\ +\chuu オプション\\ +\hspace*{16zw}\tab[5zw]{"R=..."}$\theta$の範囲\\ +\hspace*{16zw}\tab[5zw]{"N=..."}点の個数\\ +\rei G10a$<$- Circledata(\,c(3,1),\ 2,\ "R=c(0,\ pi/2)"\,)\\ +\rei G10b$<$- Circledata(\,c(3,1),\ 2,\ "N=100"\,) + +\tab{\,Framedata(P,\ dx\{,\ dy\})\,}% +点Pを中心に$\pm$dx,\ $\pm$dyの矩形(dyを省略するとdy$<$- dx)\\ +\rei G3$<$- Framedata(c(3,\ 1),\ 0.5\,) + +\tab[12zw]{\,Framedata(${\rm c}(x_1,\ x_2),\ {\rm c}(y_1,\ y_2)$)\,\\}% +\tab{}$x_1 \leqq x \leqq x_2,\ y_1 \leqq y \leqq y_2$の矩形のPDを作成(右上から反時計)\\ +\chuu 引数が空のとき,Setwindowで指定した枠\\ +\rei G1$<$- Framedata(${\rm c}(-2,\ 3)$,\ ${\rm c}(1,\ 4)$\,) \\ +\rei G2$<$- Framedata() + +\tab{Hatchdata( パターン文字(list)\{, 開始点\}, (閉)曲線の列\{,kaku\{,haba\}\,\}\,)}\\ +\tab{}パターンと一致する領域を斜線塗りするPDを作成\\ +\rei G1$<$- Hatchdata(list("io"),\ list(g1,g2),\ list(g3)\,)\\ +\mbox{}\hfill(i : 内部,o: 外部)\\ +\chuu 開始点が指定されたとき\\ +\hfill(仮想的に)その点を通る斜線から描き始める\\ +%\chuu パターンがリストのとき,どれかと一致する領域を斜線塗り\\ +\chuu% +\begin{mini}{23zw} +kakuは斜線の傾き(def=45),habaは間隔(def=1) +\end{mini}\vspace{1mm}\\ +\rei G2$<$- Hatchdata(\,list("ii"),\ O,\ list(G1),\ $-45$,\ 1.5\,)\\ +\chuu 曲線リスト内のPDは隣接の順に指定\\ +\chuu 閉じていないとき\\ +\hspace*{18zw}(1)方向 "s","n","w","e" を指定する\\ +\hspace*{18zw}(2)窓枠とちょうど2点で交わる場合、領域の点を指定\\ +\hspace*{18zw}(3)指定しなければ端点を直線で結ぶ.\\ +\rei G3$<$- Hatchdata(list("ii),\ list(g1,"s"),\ list(g2,\ c(3,0))\,) + +\tab{Hatchdata( 領域の点)\{, 開始点\}, (閉)曲線listの列\{,kaku\{,haba\}\,\}\,)}\\ +\tab{}点(のどれか)が含まれる領域を斜線塗り\\ +\rei F4$<$- Hatchdata(list(A,B,C),\ \ list(G1),\ list(G2,G3)\,)\\ +\hspace*{4zw}\chuu % +\begin{mini}{23zw} +包含パターンが点A, B, Cのどれかと一致する領域を斜線塗り(領域は隣接するものとする) +\end{mini}\vspace{2mm} + +%\tab{enclosing( P, PDリスト )}PD列からPを囲む閉曲線となる部分曲線のPD列を作成\\ +%\rei G1$<$- enclosing(\,c(1,0),\ c(g1,\ g2,\ invert(g3))\,)\\ +%\chuu PD列は隣接順に指定する(向きが一致するようにする) + +%\tab{enclosing( n, PDリスト )}% +%PD列からできる閉曲線のうちn番目のPD列を作成\\ +%\rei G2$<$- enclosing(\,1,\ c(g1,\,g2,\,invert(g3))\,)\\ +%\chuu 0を指定すると,全ての閉曲線のリストを返す. + +\tab{Enclosing( PDリスト\{, 始点の近くの点\} )}\\ +\tab{}PD列の直近の交点を結んで閉曲線を作成\\ +\rei G2$<$- Enclosing(list(G1,\,invert(G2),\,G3),\,c(2,1)\,)\\ +\tab[14zw]{}G1と (最後の)G3の交点のうち,c(2,1)に近い点から始める\\ +\chuu 交点が1個の場合は,点を省略してよい. + +\tab{Dotfilldata( パターン文字列(リスト)\{, 開 始点\}, +(閉)曲線PDリストの列\{,濃さ\})}\\ +\tab{}パターンと一致する領域を点描するPDを作成\\ +\rei Fd$<$- Dotfilldata("ii",list(G1),list(G2),0.7)\\ +\chuu 濃さ$d$は $0< d \leqq 1$(デフォルトは$0.5$)\\ +\chuu 書き出しは,Drwptを用いる. + +\tab{Arrowdata}矢印のPDを作成(Arrowline参照)\\ +\chuu やじりは塗りつぶさず,線データのみ + +\tab{Arrowheaddata}やじりだけのPDを作成(Arrowhead参照) + +\tab[20zw]{Bowdata(\,$\mbox{点A},\ \mbox{点B}$\{,\ 曲がり\{,\ 切り\}\,\}\,)}\\ +\tab{}弓形のPDを作成\\ +\chuu 曲がり:弧の曲がり(デフォルトは1)\\ +\chuu 切り:中央に入れる切りの長さ(デフォルトは0)\\ +\chuu 点AからBに反時計まわりに弧をかく\\ +\rei G$<$- Bowdata(\,c(2,\ 1),\ c(3,\ 4),\ 0.8,\ 0.5\,) + +%\tab{Bowmiddle(\,$\mbox{点A},\ \mbox{点B}$\{,\ 曲がり\})}\\ +%\tab{}弓形の中点と角のlistを返す + +\tab{Bowmiddle(\,弧データ\ )}弓形の中点を返す + +\tab{Splinedata(点データ\{, オプション\}\})}\\ +\tab{}spline曲線のPDを作成\\ +%\chuu ファイルは,space, comma, tab 区切りのtextファイル\\ +%\chuu 開始位置:ファイルの読込み開始行と列.defaultはc(2,\ 1)\\ +\chuu 点データはリストまたはPD\\ +\chuu オプション:\\ +\hspace*{18zw}"N$<$- 点の個数" (デフォルトは50)\\ +\hspace*{18zw}"C" (閉曲線でスムーズにつなぐ)\\ +%\rei Fs$<$- Splinedata("c:/data.txt",\ c(2,4),\ "N$<$- 100")\\ +\rei Fs$<$- Splinedata(PL, "N$<$- 200", "C")(PLは点データ) + +%\tab{Skeleton2data(\,平面曲線list1,平面曲線list2\{,大きさ% +%\{,\ 遠近の閾値\}\}\,)}\\ +%\tab{}list2で隠されるlist1のスケルトンデータを作成 + +\tab{Anglemark(A, B, C \{, サイズ \})}\\ +\tab{}$\angle \mathrm{ABC}$の間の角度記号を作成\\ +\chuu BAからBCへ反時計回りに描く\\ +\chuu サイズのデフォルトは0.5 + +\tab{Paramark(A, B, C \{, サイズ\})}\\ +\tab{}$\angle \mathrm{ABC}$の間の角度記号(平行四辺形)を作成 + +%\tab{Sumfun(\{ 定数項, \}一般項, 添字のリスト,変数の範囲,\{ 点の個数 \})}\\ +%\tab{} $\displaystyle c+\sum_{k= a}^{b}f(x,\ k)$のPDを作成({\bf Scilabに追加})\\ +%\chuu 定数項が0のときは省略できる.\\ +%\chuu 点の個数は "N$<$- 個数" で指定(デフォルトは終わりまで)\\ +%\rei G1$<$- Sumfun(1, "x\verb|^|n/factorial(n)", "n$<$- 1:5", "x$<$- c($-2,\ 2)$") + +%\tab{Implicitplot(関数,x範囲,y範囲\{, 分割数\})}\\ +%\tab{Implicitplot(Zvalue, Xvalue, Yvalue) }\\ +%\tab{}陰関数のPDを作成\\ +%\chuu 分割数のデフォルトは c(50, 50)\\ +%\rei \verb|G1$<$- Implicitplot("x^2+y^2-1","x$<$- c(-1,1)","y$<$- c(-1,1)")| + +%\tab{Deqplot(方程式,x範囲,x0,y0\{, 分割数\})}\\ +%\tab{}微分方程式の解曲線のPDを作成\\ +%\chuu $y"$は y\bq と書く.\\ +%\chuu xの範囲を省略すると,描画範囲全体\\ +%\rei \verb|G1$<$- Deqplot("y|\bq \verb|$<$- y*(1-y)","x",0,0.2,"N$<$- 100")|\\ +%\rei \verb|G2$<$- Deqplot"("y|\bq\bq \verb|$<$- -0.4*y`-3*y","x$<$- c(0,5)",0,c(0,2))| +%\rei \verb|G3$<$- Deqplot("c(x,y)|\bq \verb|$<$- c(x*(1-y),0.3*y*(x-1))",...|\\ +%\reicr \verb| "t$<$- c(0,20)",0,c(1,0.5),"N$<$- 200")| + +% + +\subsection{空間図形} + +\tab{Spaceline(\,空間点のベクトルまたはlist\,)}\\ +\tab{}空間点を結ぶ線分のPD3dを作成\\ +\rei G1$<$- Spaceline(\,c(c(3,\ 2,\ 1),\ c(5,\ 6,\ 6))\,) + +\tab{Spacecurve(\,関数,範囲,オプション\,)}\\ +\tab{}空間曲線のPD3dを作成\\ +\rei G2$<$- Spacecurve( "c(cos(t),\ sin(t),\ t)",\ "t$<$- c(0, 2*\%pi)" ) + +\tab{Rotate3data(PD3, v1, v2\ \{, 中心\})}\\ +\tab{}PD3をv1がv2に重なるように回転したPD3dを作成\\ +\rei G2$<$- Rotate3data(\,G1, c(1, 0, 0), c(1, 2, 3)\,)\\ +\chuu PD3はlistでもよい(この場合はlistを返す) + +\tab{Rotate3datac(PD3, 回転軸, 角度\ \{, 中心\})}\\ +\tab{}PD3を回転軸のまわりに回転したPD3dを作成\\ +\rei G2$<$- Rotate3datac(\,G1, c(0, 0, 1), \%pi/4\,)\\ +\chuu PD3はlistでもよい(この場合はlistを返す) + +\tab{Translata3data(PD3, 移動ベクトルv)}\\ +\tab{}PD3をvだけ移動したPD3dを作成\\ +\rei G2$<$- Translate3datac(\,G1, c(3, 2, 1)\,)\\ +\rei G2$<$- Translate3datac(\,G1, 3, 2, 1\,)\\ +\chuu PD3はlistでもよい(この場合はlistを返す) + +\tab{Xyzax3data(\,$x$範囲, $y$範囲, $z$範囲\,)}\\ +\tab{}座標軸のPD3dのlistを作成 + +\tab{Projpara(\,PD3列またはlist\,)}\\ +\tab{}空間曲線の平行投影による射影PD( 2d )を作成 + +\tab{Projpers(\,PD3列またはlist\,)}\\ +\tab{}空間曲線の一点投影による射影PD( 2d )を作成 + +\tab{Skeletonparadata(\,空間曲線list1,空間曲線list2\{,大きさ% +\{,\ 遠近の閾値\}\}\,)}\\ +\tab{}\begin{mini}{30zw} +平行投影でlist1からlist2により隠される部分を除いた残りの平面PD列 +(スケルトンデータ)を作成\vspace*{2mm} +\end{mini} + +\tab{Skeletonpara3data(\,空間曲線list1,空間曲線list2\{,大きさ% +\{,\ 遠近の閾値\}\}\,)}\\ +\tab{}\begin{mini}{30zw} +平行投影でlist1からlist2により隠される部分を除いた残りの空間PD列 +(スケルトンデータ)を作成\vspace*{2mm} +\end{mini} + +\tab{Skeletonpersdata(\,空間曲線list1,空間曲線list2\{,大きさ% +\{,\ 遠近の閾値\}\}\,)}\\ +\tab{}一点投影でlist2によるlist1のスケルトンデータ(2D)を作成 + +\tab{Skeletonpers3data(\,空間曲線list1,空間曲線list2\{,大きさ% +\{,\ 遠近の閾値\}\}\,)}\\ +\tab{}一点投影でlist2によるlist1のスケルトンデータ(3D)を作成 + +\tab{Embed(\,平面曲線(リスト),埋め込み関数\,)}\\ +\tab{}埋め込み関数により空間曲線を作成\\ +\rei \verb|deff("Out$<$- Fun(x,y)","Out$<$- c(x,y,0)")|\\ +\reicr \verb|G1$<$- Listplot(c(0,0),c(3,2))|\\ +\reicr \verb|G1_3d$<$- Embed(G1,Fun)| + +% +\subsection{多面体の描画} + +\tab{Phcutdata(頂点リストVL, 面添字リストFL, 平面データPlaneD)}\\ +\tab{}多面体を平面で切ったときの多面体と切断面の3dリストを作成\\ +\chuu PlaneD(平面)の形式\\% +\hspace*{18zw}\begin{mini}{20zw} +"a*x+b*y+c*z-d",\ "a*x+b*y+c*z$<$- d"\\ +\hspace*{2zw}(x,\ y,\ zをクリアしておく)\\ +または "c(a, b, c, d)"\\ +\hspace*{4zw} "list(a, b, c, P)"(点Pを通る) +\end{mini}\vspace{2mm}\\ +\chuu 切断面はリストの最後の要素\\ +\rei VL$<$- list(c(0, 0, 0), c(1, 0, 0), c(0, 1, 0), c(0, 0, 1))\\ +\reicr FL$<$- list(c(1, 2, 3), c(1, 2, 4), c(1, 3, 4), c(2, 3, 4))\\ +\reicr PL$<$- Phcutdata(VL, FL, "c(1, 1, 1, 3)")\\ +\reicr Windisp(PL) + +\tab{Phcutoffdata(VL, FL, PlaneD, 符号)}\\ +\tab{}PlaneDで切断された部分多面体の3dデータリストを作成\\ +\chuu 符号は \verb|"+"| または \verb|"-"|\\ +\rei PL$<$- Phpcutoffdata(VL, FL, "x+y+(z-1/2)", "+")\\ +\chuu PhVertexL(), PhFaceL()で頂点,面リストを取り出せる. + +\tab{Phparadata(VL, FL)}陰線処理をした多面体のPD3d(平行投影)を作成\\ +\tab{Phpersdata(VL, FL)}陰線処理をした多面体のPD3d(一点投影)を作成\\ +\chuu PhHiddenData()で陰線のPDを取り出せる. + +\tab{Phsparadata(面datalist)}複数の多面体のPD3d(平行投影)を作成(陰線処理)\\ +\tab{Phspersdata(面datalists)}複数多面体のPD3d(一点投影)を作成(陰線処理)\\ +\chuu 面datalistはlist(VL, FL),または,そのlist\\ +\chuu 面を点で直接指定するときには VL$<$- list()とする.\\ +\rei Fd$<$- list(list(),list(c(3,2,1),c(0,0,0),c(c(1,2,4)))\\ +\chuu PhHiddenData()で陰線のPDを取り出せる. + +\tab{Phsrawparadata(面datalist), Phsrawpersdata(面datalist)}\\ +\tab{}複数の多面体のPD3dを作成(陰線処理をしない) + +\tab{Facesdata(面datalist \{ ,追加曲線PDlist \}, 射影のタイプ)}\\ +\tab{}面の辺(と追加曲線)を面により陰線処理\\ +\chuu 射影のタイプは "para","pers","rawpara’,"rawpers" + +\tab{Faceremovaldata(面datalist,曲線PDlist, 射影のタイプ)}\\ +\tab{}曲線を面により陰線処理 + +\section{データの書き出し} + +\subsection{基本コマンド} + +\tab{Windisp( PD列またはlist )}\\ +\tab{}画面を開き,PD列を表示(確認のため)\\ +\rei Windisp(\,G1,\ G2\,)\\ +\rei Windisp(list(G1,G2)) + +\tab{WindispT( PD列またはlist \{, オプション\} )}\\ +\tab{}画面を開き,PD列を表示(確認のため)図を重ねて表示する.事前にWindispT()\\ +\rei WindispT(\,G1,\ G2\,color="red",width=1,new=TRUE\,)\\ +\rei WindispT(list(col="blue",border="white",G1),new=TRUE) \\ +\hspace*{18zw}(閉曲線G1を塗る)\\ +\rei WindispT(list(col="blue",border="white",density=200,G1,G2),new=TRUE)\\ +\hspace*{18zw} (閉曲線G1,G2を塗る.densityは内側を線分で塗りつぶす場合のパラメータ) + +\tab{Openfile('ファイル名'\,\{ソースファイル名\}) }\\ +\tab{}書き出し用ファイルを開く(デフォルトは画面)\\ +\rei setwd("C:/TeXF") \\ +\reicr Openfile(\, "fig.tex"\,)\\ +\reicr Openfile(\,'fig.tex',\,'fig.r'\,)\\ +\chuu ソースが同一フォルダにあるときは,第2引数は不要 + +\tab{Beginpicture("単位長"\,)}picture 環境を始める.\\ +\rei Beginpicture("1cm"\,)\\ +\rei Beginpicture("2*10/12cm"\,) + +\tab{Endpicture(\,1\,)}picture 環境を終える(座標軸をかく)\\ +\tab{Endpicture(\,0\,)}picture 環境を終える(座標軸をかかない) + +\tab{Closefile(\,)\,}書き出し用ファイルを閉じる(デフォルト=画面に戻す) + +\subsection{プロットデータ} + +\tab{Drwline(\,PD列またはlist\{, 太さ\}\,)}\\ +\tab{}PD列またはを実線で書き出す\\ +\rei Drwline(\,G1,\ G2\,)\\ +\rei Drwline(\,G3,\ 0.5\.) + +\tab{Dashline(\,PD列またはlist\{, len \{, gap\}\,\}\,)}\\ +\tab{}PD列またはlistを破線で書き出す(実線部から始まる)\\ +\rei Dashline(\,G1,\ G2\,)\\ +\rei Dashline(\,G1,\ 1.5\,)\hfill(実線部,ギャップとも 1.5倍)\\ +\rei Dashline(\,G1,\ G2,\ 1.5,\ 0.5\,)\\ +\hfill(実線部 1.5倍,ギャップ 0.5倍) + +\tab{Invdashline(\,PD列またはlist\{, len\{, gap\}\,\}\ )}\\ +\tab{}破線を書き出す(ギャップから始まる) + +\tab{Dottedline(\,PD列またはlist\{, len \{, size\}\,\}\,)}\\ +\tab{}点線を書き出す\\ +\rei Dottedline(\,G1,\ G2\,)\\ +\rei Dottedline(\,G1,\ 1.5\,) (間隔 1.5倍)\\ +\rei Dottedline(\,G1,\ G2,\ 1,\ 0.5\,)(点の大きさ 0.5倍) + +\tab{Arrowline(\,A, B \{, 鏃の大きさ \{, 開き角 \{, 鏃位置 \{, 太さ\}\,\}\,\} \{, \\ +\hspace*{20zw}形と位置 +,\ "Cut=切り込み率"\}\,\}\,)}\\ + +\tab{}点AからBに向けて矢印をかくコードを書き出す\\ +\rei Arrowline(\,A,\ B\,)\\ +\rei Arrowline(\,A,\ B,\ 2,\ 10,"l"\,)\\ +\rei Arrowline(\,A,\ B,\ 1,\ 18,\ 0.5,\ 2,"lc"\,)\\ +\hspace*{6zw}\chuu ABの中点の位置に鏃をかく + + +\tab{Arrowhead(\,位置,\ 方向\{,\ 大きさ\{,\ 角度\},\ 形状と位置,\ "Cut=切り込み率"\}\,)} + +\tab{}鏃だけを書き出す\\ +\rei Arrowhead(\,c(0,\ 0),\ c(2,\ 1),\ "cl"\,) + +\tab{Arrowhead(\,P,\ PD\{,\ 大きさ\{,\ 角度\},\ 形状と位置\}\,)}\\ +\tab{}PD上の点Pに矢印を描く\\ +\rei Arrowhead(\,c(1,\ 1),\ Plotdata("x\^{}2","x"\,))\\ +\chuu 鏃はライン + +\tab{Drwpt(点の列 \{, 塗り\})}点を書き出す(大きさは Setptで指定,塗りのデフォルトは1)\\ +\rei Drwpt(\,c(2,\ 3),\ c(5,\ 7)\,) + +\tab{Drwxy(\,)}座標軸を書き出す + +\tab{Htickmark( 座標, 方向, 数式 , $\cdots$ )}\\ +\tab{}横軸上に目盛りをつける(方向のデフォルトは"s"\,) + +\tab{Vtickmark( 座標, 方向, 数式 , $\cdots$ )}\\ +\tab{}縦軸上に目盛りをつける(方向のデフォルトは"w"\,)\\ +\rei Htickmark(\,$-1$,"$-1$",\ 1,"1",\ pi,"$\backslash$pi"\,)\\ +\rei Vtickmark(\ $-1$,"e","$-1$",\ 1,"ne","1"\,)\\ +\rei Htickmark(c(2,1),\ "a"\,)\\ +\chuu 数式を省略すると目盛りだけをつける + +\tab{Htickmark("m..n..r..")}横軸全体に目盛りをつける + +\tab{Vtickmark("m..n..r.."\,)}縦軸全体に目盛りをつける\\ +\chuu m(目盛りの間隔),n(文字を何目盛り毎に),r(数の倍率)\\ +\rei Htickmark("mn")(目盛りと数を1間隔でつける)\\ +\rei Vtickmark("m1n2r1.5")(1.5倍した数を1つとびに) + +\tab[13zw]{Shade(\,PD列またはlist\{, 濃さ\}\,)\mbox{}}\\ +\tab{}閉曲線の内部を塗りつぶし 濃さ: 0 〜 1(デフォルトは1) + +\subsection{文字の書き入れ} + +\tab{Letter(\ 点, 方向, 文字列 ,・・・)}\\ +\tab{}点の位置の「方向」に文字列をかく(複数可)\\ +\rei Letter(\,c(4,\ 3),"n","文字")\\ +\chuu 位置は"n", "s", "e", "w", "ne", "nw", "se", "sw", "c"\\ +\chuu "n1" nの方向にさらに1目盛長だけ離す.\\ +\chuu "s-1w2" s方向に-1目盛長,w方向に2目盛長だけ離す. + +\tab{Expr(\ 点, 方向, 数式,・・・)}点の位置の「方向」に数式をかく(\$\$は不要)\\ +\rei Expr(c(4, 3),"s","y=f(x)") + +\tab{Letterrot(\ 点, 方向\ \{, 接線方向\ \{, 法線方向\}\}, 文字列)}\\ +\tab{Exprrot(\ 点, 方向\ \{, 接線方向\ \{, 法線方向\}\}, 文字列)}\\ +\tab{}「点」の位置に「方向」を右横方向にするように文字を傾けて書く\\ +\chuu 「接線方向」,「法線方向」はそれぞれの微少移動量\\ +\chuu graphicxパッケージが必要 + +\tab{Texletter(\ 点(list形式), 方向, 文字列 ,・・・)}\\ +\tab{}点の位置の「方向」に文字列をかく(複数可)\\ +\rei Texletter(\,list(4,,\ "\#1"),"n","文字")\\ +\chuu 位置は"n", "s", "e", "w", "ne", "nw", "se", "sw", "c"\\ +\chuu 点の位置はリスト形式で,\TeX の文字列を渡すことができる. + +\tab{Openphr(\,ユーザーコマンド名\,),Closephr(\,)}\\ +\tab{}$\backslash$defのコマンド定義\\ +\rei Openphr("$\backslash$p"\,)\\ +\reicr  Texcom("$\backslash$begin\{array\}\{cc\}"\,)\\ +\reicr  Texcom("5 \& 3$\backslash\backslash$"\,)\\ +\reicr  Texcom("8 \& 7"\,)\\ +\reicr  Texcom("$\backslash$end\{array\}\$"\,)\\ +\reicr Closephr(\,) + +\tab{Openpar(\,ユーザーコマンド名,幅 \{ 縦方向 \}\,), Closepar(\,)}\\ +\tab{}minipage環境を含む$\backslash$def コマンド定義\\ +\rei Openpar("$\backslash$s","5cm", "t"\,)\\ +\reicr  Texcom("$\backslash$input\{rei\}"\,)\\ +\reicr Closepar(\,)\\ +\reicr Letter(\,c(2,\ 3),"se","$\backslash$s"\,)\\ +\chuu 縦方向のデフォルトは c + +\tab{Fontsize("記号"\,)}文字サイズの変更コマンドを書き出す\\ +\tab[13zw]{}"n", "s", "f",% + "ss", "t", \\ +\tab[13zw]{}"la", "La", % +"LA", "h", "H"(""\,のとき"n"\,)\\ +\rei Fontsize("s") + +\tab{Texcom("コマンド"\,)}\TeX コマンドのコードを書き出す\\ +\rei Texcom("$\backslash$newcounter\{tmpct\}")\\ +\chuu "newline" のとき,空白行を挿入 + +\tab{Bowname(弓形,数式 )}弓形PDの中央に式を書き入れる\\ +\rei Gb$<$- Bowdata( A, B, 1, 0.5)\\ +\reicr Bowname(Gb, "d") + +\tab{Bownamerot( 弓形,数式\{,向き\} )}\\ +\tab{}弓形PDの中央に式を傾けて書き入れる\\ +\chuu graphicxパッケージが必要\\ +\chuu 向きに $-1$を指定すると向きが反対になる + +\tab{Xyzaxparaname(\,軸データ \{, 各軸のラベル名 \}\{,離れ\}\,)}\\ +\tab{}平行投影で,各軸のラベルを書き入れる\\ +\rei Gax$<$- Xyzax3data( "x$<$- c(0,1)", "y$<$- c(0,1)", "z$<$- c(0,2)" )\\% ($x,y,z$を書く)\\ +\reicr Xyzaxparaname(Gax)\\% ($x,y,z$を書く)\\ +\chuu "\yen sin x" など文字列で指定することもできる + +\tab{Xyzaxpersname(\,軸データ \{, 各軸のラベル名 \}\{,離れ\}\,)}\\ +\tab{}一点投影で,各軸のラベルを書き入れる\\ +\rei Xyzaxpersname(Gax, "", "", "w") + +%\vspace*{-0.5zw} + +%\vspace*{-2zw} + +\section{プロットデータの操作} + +\subsection{平面} + +\tab{Joingraphics(PD1,PD2,・・・\{ , "L" \})}\\ +\tab{}複数のPDを1つのPDに合併 \\ +\reicr G11$<$- Joingraphics(\,F9,\ G10\,)\\ +\chuu "L"を指定したときは,結果をリストで返す + +\tab{Dividegraphics(PD)}PDを要素に分けたlistを作成\\ +\rei FL$<$- Dividegraphics(G1)\\ +\rei G1$<$- Op(1, FL) + +\tab{Joincrvs(\,PD列\,)}複数の曲線をつなげたPDを作成(2D, 3D共通)\\ +\rei G3$<$- Joincrvs(\,G1,\ Invert(G2)\,)\\ +\chuu 曲線は隣接する順番で指定する + +\tab{Invert( PD )}PDの点列を逆順にしたPDを作成(2D, 3D共通) + +%\tab{connectseg(PD)}細切れの線分を結ぶPDリストを作成\\ +%\hspace*{-4zw}\rei connectseg(implicitplot(x\textasciicircum 2+y\textasciicircum 2$<$- 1,x$<$- -2..2,y$<$- -2..2)) + +\tab{Partcrv(\,s1,\ s2, PD\,)}曲線PD上のパラメータ値s1, s2を両端とするPDを作成\\ +\chuu s1 $>$ s2 の場合\\ +\hspace*{180pt}s2から終点,始点からs1までのPDのリストを出力\\ +\hspace*{180pt}PDが閉曲線のときは上の2つのPDをつなげる. + +\tab{Partcrv(\,A, B, PD\,)}曲線PD上の点A, Bの間の部分曲線のPDを作成\\ +\chuu +\begin{mini}{23zw}% +A, Bの順序が逆転しているとき,Bから終点,始点からAまでのPDのリスト(閉のとき接続)を出力 +\end{mini}\vspace{2mm}\\ +\rei G1$<$- Plotdata(\,"x\textasciicircum 2",\ "x=c(XMIN, XMAX)"\,)\\ +\reicr G2$<$- Partcrv(\,c(0,0),\ c(1,1),\ G1)\\ +\reicr G3$<$- Partcrv(\,c(1,1),\ c(0,0),\ G1) + + +\tab{Intersectcrvs(PD1, PD2)}2曲線PD1, PD2の交点リストを作成\\ +\rei G1$<$- Paramplot("c(cos(t),\ sin(t))",\ "t=c(0, 2*\%pi)")\\ +\reicr G2$<$- Plotdata("x+1/2",\ "x")\\ +\reicr PL$<$- Intersectcrvs(\,G1,G2\,) + +\tab{IntersectcrvsPp(PD1, PD2)}\\ +\tab{}2曲線PD1, PD2の交点とパラメータのリストを作成 + +\tab{Intersectlines(L1, L2)}2直線の交点を返す\\ +\rei L1$<$- Lineplot(A, B)\\ +\reicr L2$<$- Lineplot(C, D)\\ +\reicr P$<$- Intersectcrvs(\,L1,L2\,) + +\tab{Nearestpt(\ P, PD\ )}点Pに最も近い曲線PD上の点とパラメータ値のリストを返す\\ +\rei Pp$<$- Nearestpt(\,c(0,\ 1),\ G1\,)\\ +\reicr A$<$- Op(1,Pp) + +\tab{Nearestpt(\,PD1,\ PD2\,)}% +PD1の節点のうち、PD2に最も近い点データのリストを返す\\ +\rei Pp$<$- Nearestpt(\,G1,\ G2)\\ +\reicr A$<$- Op(1,Pp) + +\tab{Ptstart(\,PD\,), Ptend(\,PD)\,}曲線PDの始点(終点)を返す + + +%\tab{Ptlistcrv(\,PD)\,}曲線PDの節点データリストを返す + +\tab{Numptcrv(\,PD)\,}曲線PDの節点データの個数を返す + +\tab{Ptcrv(\,n,\,PD)\,}曲線PDのn番目の節点を返す + +\tab{Pointoncrv(\,s,\ PD\,)}PD上の点でパラメータ値sをもつ点を返す\\ +\rei Pointoncrv(5.3,\ G1)\\ +\reicr  (5番目の線分上で0.3の位置にある点) + +\tab[13zw]{Paramoncrv(P \{,\ n \},\ PD)}% +PD(のn番目の線分)上にある点Pのパラメータを返す\\ +\rei Paramoncrv( c(3,\ 2), G1)\\ +\rei Paramoncrv(c(2,\ 4), 5, G1) + +%\tab[13zw]{Droppoint(PD \{, 限界値\})} 限界値以下の隣接点を落として点を少なくする.\\ +%\chuu 限界値のデフォルト値は0.02 + +%\tab{Powersum(\,係数リスト(list), 変数値x \{, 中心c\} \,)}\\ +%\tab{}$\displaystyle \sum_{k= 0}^n a_n (x-c)^k$の値を返す.(Plotdataで使用)\\ +%\chuu 係数リストは list( 添字リスト,係数リスト)の形\\ +%\rei Tmp1$<$- 0:20\\ +%\reicr Tmp2$<$- ones(length(Tmp1))./factorial(Tmp1)\\ +%\reicr CL$<$- list(Tmp1, Tmp2)\\ +%\reicr G1$<$- Plotdata( "Powersum( CL, x)", "x") + +%\tab{FouriercoeffL(関数F, 周期T, 項数N )}\\ +%\tab{}FのN項までのフーリエ係数リスト(list)を求める.\\ +%\chuu list( 定数項, 余弦係数(行), 正弦係数(行), 周期 ) の形\\ +%\chuu Fouriersumで用いる. + +%\tab{Fouriersum( フーリエ係数リスト, 変数値)}\\ +%\tab{}フーリエ級数の値を返す.(Plotdataで使用)\\ +%\rei deff( "Out$<$- Fun(x)", "Out$<$- abs(x)")\\ +%\reicr CL$<$- FouriercoeffL(Fun, 2, 30)\\ +%\reicr G2$<$- Plotdata("Fouriersum(CL, x)", "x", "N$<$- 300" ) + +\subsection{空間} + +\tab{Partcrv3(\,S1,\ S2, PD\,)}曲線PD上のパラメータ値S1,S2を両端とするPDを作成 + +\tab{Rotate3pt(点, V1, V2\{, C\})}\\ +\tab{}回転移動した点を返す(Rotate3data参照) + +\tab{Rotate3ptc(点, 軸, 角度\{, C\})}\\ +\tab{}回転移動した点を返す(Rotate3data参照) + + +\tab{Parapt(\,点\,)\ ,\ \ Perspt(\,点\,)}\\ +\tab{}空間の点を投影した点を返す + +\tab{Zparapt(\,点\,)\ ,\ \ Zperspt(\,点\,)}\\ +\tab{}投影した平面を$X,\ Y$としたときの$Z$座標 + +\tab{Invparapt(\,P,\ PD3d\,)\ ,\ \ Invperspt(\,P,\ PD3d\,)}\\ +\tab{}PD3dを投影したPD上の点Pに対応するPD3d上の点\\ +\chuu Pd3dが線分のときは,延長線上の点でもよい. + +\tab{Invperspt(\,s,\ PD2d,\ PD3d\,)\ ,\ \ Invperspt(\,s,\ PD2d,\ PD3d\,)}\\ +\tab{}PD2d上のパラメータ値sの点に対応するPD3d上の点 + +\tab{Cancoordpers(\,投影座標\,)}平行投影で「投影座標」で表される点の標準座標 + +\tab{Cancoordpers(\,投影座標\,)}一点投影で「投影座標」で表される点の標準座標 + +\tab{Viewfrom(Vec, 曲線3D \{, 非表示オプション\})}\\ +\tab{}一時的にVec方向からみた射影データを返す\\ +\rei Out1$<$- Viewfrom(c(0,0,1), G1) (表示してデータを作成)\\ +\rei Out1$<$- Viewfrom(c(0,0,1), G1, 0) (データのみを作成) + + +%\section{曲面の描画} + +%% +%\subsection{関数データリストの定義} + +%\begin{enumerate}[\hspace*{1zw}(1)] +%\item +%$z$<$- f(x,\ y)\ \ (a \leqq x \leqq b,\ c \leqq y \leqq d)$のとき\vspace{1mm}\\ +%\hspace*{4zw}list(\,関数,\ xの範囲,\ yの範囲\,)\\ +%\hspace*{-6zw}\reicr \verb|Fd$<$- list("z$<$- x^2+y","x$<$- c(-1,2)","y$<$- c(-2,1)")|\\ +%\hspace*{-4zw}\chuu 変数名 x, y が関数名にある文字と重ならないようにする. + +%\item +%$z$<$- f(x,\ y)\ ,x$<$- x(u,\ v),\ ,y$<$- y(u,\ v)\ \ (a \leqq u \leqq b,\ c \leqq v \leqq d)$のとき\vspace{1mm}\\ +%\hspace*{4zw}list(\,関数z,\ 関数x,\ 関数y,\ uの範囲,\ vの範囲\{,\ 境界の指定\}\,)\\ +%\hspace*{-6zw}\rei \verb|Fd$<$- list("z$<$- sin(2*sqrt(abs(x^2+y^2))","x$<$- R*cos(T)",|\\ +%\hspace*{-6zw}\reicr \verb| "y$<$- R*sin(T)","R$<$- c(0,4)","T$<$- c(0,2*%pi)","e")|\\ +%\hspace*{-4zw}\chuu "e"は$r$<$- 1,\ 0\leqq t\leqq 2\pi$で定まる閉曲線を表す.\\ +%\hspace*{-4zw}\chuu sqrtの中はabsをつける(計算誤差のため). + +%\item +%$x$<$- x(u,\ v),\ y$<$- y(u,\ v),\ z$<$- z(u,\ v)\ (a \leqq u \leqq b,\ c \leqq v \leqq d)$のとき\\ +%\hspace*{4zw}list(\,"p",\ 関数x\ 関数y,\ 関数z,\ Uの範囲,\ Vの範囲\{,\ 境界の指定\}\,)\\ +%\hspace*{-6zw}\rei \verb|Fd$<$- list("p","x$<$- sin(U)*cos(V)","y$<$- sin(U)*sin(V)",|\\ +%\hspace*{-6zw}\reicr \verb| "z$<$- cos(U)","U$<$- c(0,%pi)","V$<$- c(0,2*%pi),"")| + +%\end{enumerate} + +%\subsection{曲面のワイヤーフレーム図} + +%\tab{Sf3data(FD,\ \{,曲線の点の個数(リスト)\{,横方向の分割数,縦方向の分割数\}\})}\\ +%\tab{}曲面データリストFDの3次元ワイヤフレームデータを生成\\ +%\chuu デフォルトは 点の個数=c(50,\ 50),分割数$<$- 25\\ +%\chuu 点の個数を数nで指定したときは2方向ともnになる\\ +%\rei Out$<$- Sf3data(Fd) + +%\tab{Sfparadata(〃)}FDのワイヤフレームデータを平行投影した2次元データ + +%\tab{Sfpersdata(〃)}FDのワイヤフレームデータを平行投影した2次元データ + +%\subsection{輪郭線データの作成} + +%\tab{Sfbdparadata(関数データ\{,各方向の分割数,限界値1,限界値2\})}\\ +%\tab{Sfbdpersdata(関数データ\{,各方向の分割数,限界値1,限界値2\})} + +%\noindent +%\hspace*{3zw}\Ltab{10zw}{各方向の分割数}曲線,陰関数のグリッド数\\ +%\hspace*{3zw}\Ltab{14zw}{}デフォルトは50\\ +%\hspace*{3zw}\Ltab{10zw}{}リストか単独の数で与える\\ +%\hspace*{3zw}\Ltab{10zw}{限界値1}同一点と見なす限界(デフォルトは0.05)\\ +%\hspace*{3zw}\Ltab{10zw}{限界値2}交点の余裕幅(デフォルトは0.2) + +% +%\rei \verb|Out1$<$- Sfbdparadata(Fd,c(50,50))|\\ +%\reicr \verb| Windisp(Projpara(Out1))| + +%\noindent +%\chuu 曲面上の3次元データとして得られる.\\ +%\chuu BorderHiddenData()で +%陰線の3次元データが得られる.\\ +%\chuu CuspData()で輪郭線の3次元データが +%得られる.\\ +%\chuu CuspPt()でcusp点の2次元データが +%得られる.\\ +%\chuu BorderPt()で輪郭線の交点の2次元データが +%得られる. + +%\subsection{ワイヤーデータの作成} + +%\tab{Wireparadata(輪郭のリスト,関数データ,横の線数,縦の線数\{.分割数, 限界値1.限界値2\})} + +%\tab{Wirepersdata(輪郭,関数データ \{ ,横の線数,縦の線数\{.分割数, 限界値1.限界値2\}\})} + +%\noindent +%\hspace*{3zw}\Ltab{10zw}{輪郭}Sfbdpersdata( Sfbdparadata ) で作成したデータ\\ +%\hspace*{3zw}\Ltab{10zw}{線}個数か値のリストで与える\\ +%\hspace*{3zw}\Ltab{10zw}{限界値1}デフォルトは0.05\\ +%\hspace*{3zw}\Ltab{10zw}{限界値2}デフォルトは0.2 + +% +%\rei \verb|Out2$<$- Wireparadata(Out1,Fd1,5,5)|\\ +%\reicr \verb| Windisp(Projpara(Out1,Out2))|\\ +%\chuu WireHiddenData()で +%陰線の3次元データが得られる.\\ +%\chuu WirePt()で輪郭線との交点の2次元データが +%得られる. + +%\subsection{曲面と曲線} + +%\subsubsection{パラメータ平面上の曲線} + +%\tab{Crvonsfparadata(平面上の曲線2Dデータ,輪郭,関数データ \{,オプション\})} + +%\tab{Crvonsfpersdata(平面上の曲線2Dデータ,輪郭,関数データ \{,オプション\})} + +%\rei \verb|Fg$<$- Parametricplot("c(T, 0)","T$<$- c(0,2*\%pi)")|\\ +%\reicr \verb| Out4$<$- Crvonsfpersdata(Fg,Out1,Fd)|\\ +%\chuu CrvonsfHiddenData()で陰線の3次元データが得られる. + +% +%\subsubsection{曲面上の曲線} + +%\tab{Crv3onsfparadata(曲面上の曲線3Dデータ,輪郭,関数データ\{,オプション\})} + +%\tab{Crv3onsfpersdata(曲面上の曲線3Dデータ,輪郭,関数データ \{,オプション\})} + +%\rei \verb|Out5$<$- Crv3onsfparadata(Fg,Out1,Fd)|\\ +%\chuu Crv3onsfHiddenData()で陰線の3次元データが得られる. + +%\subsubsection{曲面外の曲線} + +%\tab{Crvsfparadata(曲線3D,輪郭,関数データ\{,オプション\})} + +%\tab{Crvsfpersdata(曲線3D,輪郭,関数データ \{,オプション\})} + +%\rei \verb|G2$<$- Xyzax3data("x$<$- c(-5,5)","y$<$- c(-5,5)",...|\\ +%\reicr \verb| "z$<$- c(-5,5)")|\\ +%\reicr \verb| Out2$<$- Crvsfparadata(G2,Out1,Fd)|\\ +%\chuu CrvsfHiddenData()で陰線の3次元データが得られる.\\ +%\chuu 曲線と曲面が交わらないときは,引数の最後に $-1$をつける. + +%\subsubsection{その他のコマンド} + +%\tab{Intersectcrvsf(曲線3D, 関数データ\{,分割数\{,限界値\}\})}\\ +%\tab{}曲線と曲面との交点(MD)を求める. + +%\subsection{曲面の切断} + +%%\tab{polarcoordx()}極座標$r,\ t$の$x$座標を与える関数を返す + +%%\tab{polarcoordx()}極座標$r,\ t$の$x$座標を与える関数を返す + +%\tab{Sfcutdata(曲面データ, 切断面データ \{, 分割数\} )}\\ +%\tab{}曲面を切ったときの切り口の3dデータを作成\\ +%\chuu 切断面は,$x,\ y,\ z$などの方程式で与える.\\ +%\hspace*{15zw}(平面の場合は,Phcutdataのように与えてもよい)\\ +%\rei \verb|Fd$<$- c("p","R*cos(T)","R*sin(T)","2*(1-R)",|\\ +%\reicr \verb| "R$<$- c(0,1)","T$<$- c(0,2*%pi)","se")|\\ +%\reicr \verb|Out$<$- Sfcutdata(Fd,"x^2+(z-1/2)^2$<$- 1/4")| + +%\tab{Sfcutoffparadata(関数データ, 切断面, 符号 \{ , 分割数\} )} + +%\tab{Sfcutoffrawparadata(関数データ, 切断面, 符号 \{ , 分割数\} )} + +%\tab{Sfcutoffpersdata(関数データ, 切断面, 符号 \{ , 分割数\} )} + +%\tab{Sfcutoffrawpersdata(関数データ, 切断面, 符号 \{ , 分割数\} )} + +%\tab{}切断面で切った曲面をリッジライン法で返す + +% +%\rei \verb|Fd$<$- list("z$<$- 2*(1-sqrt(abs(x^2+y^2)))","x$<$- R*cos(T)",|\\ +%\reicr \verb| "y$<$- R*sin(T)","R$<$- c(0,1)","T$<$- c(0,2*%pi)","e")|\\ +%\reicr \verb| Out$<$- Sfcutoffparadata(Fd,"z$<$- 1+2*x","-")| + + +\section{その他} + +%\tab{bksl("コマンド}\,)}コマンドに$\backslash$をつけた文字列を作る\\ +%\rei str$<$- bksl("sin x}\,) + +\tab{Readtextdata(ファイル名,\{開始位置\{,オプション\}\})}\\ +\tab{}% +\begin{mini}{30zw} +ファイルからコンマ,スペース,タブ区切りのテキストを読込み, +データ行列を返す\vspace{2mm} +\end{mini}\\ +\chuu オプション:\\ +\hspace*{18zw}"R=読み込み行数" (デフォルトはすべて)\\ +\hspace*{18zw}"C=読み込み列数"(デフォルトはすべて) \\ +\hspace*{18zw}"Cna=論理値" 1行を列名にするか(デフォルトTRUE) \\ +\hspace*{18zw}"Rna=論理値" 1列を行名にするか(デフォルトFALSE) \\ +\rei DL$<$- Readtextdata("dt.csv",\ c(2,\ 1),\ "R=1000",\ "C=2") + +\tab{Writetextdata(データフレーム,ファイル名)}\\ +\tab{}データフレームを .csvファイルに書き出す\\ +\chuu 列名は1行目におき,NAはblankにする\\ +\rei Writetextdata(Df, "ex.csv") + +\tab{Tonumeric(\,文字列からなるデータ行列 \{, 開始位置 \{ , 終了位置\}\}\.)}\\ +\tab{}行列の成分を数値に変換(変換できる行と列からなる部分行列)\\ +\rei Dn$<$- Tonumeric(DL) + +%\tab{Newlength(\,)}% +%\begin{mini}{30zw} +%距離変数 \verb+ \Width, \Height, \Depth +を定義する\TeX コマンドを画面に表示 +%\end{mini} +%\\ +%\rei \prompt newlength()+\\ +%\hspace*{6zw}\reicr \verb+\newlength{\Width}+\\% +%\hspace*{6zw}\reicr \verb+\newlength{\Height}+\\% +%\hspace*{6zw}\reicr \verb+\newlength{\Depth}+% + +%\tab{Mawarikomi("幅"\,)}% +%\begin{mini}{28zw} +%emathのmawarikomi環境のコードを生成表示 +%\end{mini}\\ +%\rei Mawarikomi("5cm"\,) + +\subsection{作表} + +\tab{Tabledata(\{大きさ,\}\ 縦線相対幅,\ 横線相対高さ\,)}\\% +\tab{}表のデータlistを返す\\ +\tab{}\hspace{-2zw}戻り値:PD,縦線添字,横線添字,枠縦PD,枠横PD,外枠PD\\ +\hspace*{10zw}大きさは次のベクトル\\ +\hspace*{12zw}横,縦(,\ 左margin,\ 右margin(,\ 上margin,\ 下margin))\\ +\chuu 横(縦)を -1 としたときは,縦(横)線のデータから\\ +\hspace*{16.3zw}自動的に計算される(デフォルト)\\ +\hspace*{10zw}縦線相対位置は左の罫線からの幅list(縦方向の始点,終点)\\ +\hspace*{10zw}横線相対位置は上の罫線からの幅list(横方向の始点,終点)\\ +\chuu 描画領域は自動的に設定される + +\rei Tmp1$<$- list(20, 30,list(30,0,10), list(0,15,20), 40)\\ +\reicr Tmp2$<$- list(15)\\ +\reicr Out$<$- Tabledata(c(150,20),Tmp1,Tmp)\\ +\reicr Tb$<$- Tabledata(Tmp1,Tmp2) + +\tab{Dividetable(表データ)}枠,縦罫線,横罫線を成分とするリストを返す\\ +\rei G$<$- Dividetable(Tb)(G[[1]],G[[2]],G[[3]]が枠,縦,横) + +\tab{Partframe(表データ,\ 開始位置,終了位置)}\\ +\tab{}枠の一部のPD\\ +\chuu 位置はそれぞれ,c(列番号,\ 行番号)\\ +\chuu 開始位置から終了位置までの反時計回りのPD\\ +\rei G$<$- Parframe(Tb,\ c(4,1),c(1,2)) + +\tab{Findcell(表データ,\ 列番号,\ 行番号\,)}\\% +\tab{}セルの情報list(中心,横幅/2,縦幅/2)を返す\\ +\chuu 番号は左上の位置\\ +\rei Out$<$- Findcell(Out,2,1)\\ +\chuu 番号がベクトルのときは,その範囲のセル\\ +\rei Out$<$- Findcell(Out,c(2,4),1)\\ +\chuu 番号がベクトルのときは,その範囲のセル\\ +\rei Out$<$- Findcell(Out,c(2,4),1)\\ +\tab{Findcell(表データ,\ 左セル,\{ 右セル\} )}\\ +\rei Out$<$- Findcell(Out,"A2") + +\tab{Diagcelldata(表データ,列番号,行番号)}\\ +\tab{}セルの対角線PDのリストを返す + +\tab{Putcell(表データ,\ 列番号,\ 行番号,\ 位置,\ 文字データ)}\\% +\tab{}セルに文字列を入れるコードを出力\\ +\chuu 位置は"c", "r", "l", "u", "d", "b" \\ +\chuu u : up , d : down, b : baseline (微小移動量を付加できる)\\ +\rei Putcell(Out,2,1,"c","221")\\ +\rei Putcell(Out,"B3","l","\$ab\$") + +\tab{Putrow(表データ,\ 行番号,\ 文字データの列)}\\% +\tab{}1行に順に文字を書き入れる\\ +\rei Putrow(TbL, 2, "a", "b", "c" )\\ +\chuu デフォルト位置は "c" それ以外のときはlist内で指定\\ +\chuu 複数列にわたるときは,列数を list 内で指定\\ +\rei Putrow(TbL, 2, list("r","a"), list(2, "b"), "c")\\ +\hspace*{20zw}(rの位置にa,2列とってbをおく) + +\tab{Putrowexpr(表データ,\ 行番号,\ 文字位置,\ 文字データの列)}\\% +\tab{}1行に順に数式を書き入れる + +\tab{PutcoL(表データ,\ 列番号(名前)(,\ 文字データの列)}\\% +\tab{}1列に順に文字を書き入れる\\ +\rei PutcoL(TbL, "C", "a", "b", "c" ) + +\tab{PutcoLexpr(表データ,\ 列番号(名前),\ 文字位置,文字データの列}\\% +\tab{}1列に順に数式を書き入れる + +\tab{Putrowstr(表データ,\ 行番号,文字位置,文字列}\\% +\tab{}1行に文字列の文字を1つずつ書き入れる\\ +\rei Putrowstr(TbL, 1, "c", "xyz" ) + +\tab{PutcoL(表データ,\ 列番号(名前),文字位置,文字列}\\% +\tab{}1列に文字列の文字を1つずつ書き入れる + +\subsection{\TeX のコマンド書き出し(メタコマンド)} + +\tab{Texcom("コマンド"\,)}\TeX コマンドのコードを書き出す\\ +\rei Texcom("$\backslash\backslash$begin\{minipage\}\{3cm\}")\\ +\chuu "newline" のとき,空白行を挿入 + + +\tab{Openphr(\,ユーザーコマンド名\,),Closephr(\,)}\\ +\tab{}$\backslash$defのコマンド定義を始める\\ +\rei Openphr("$\backslash\backslash$p"\,)\\ +\reicr Texcom("$\backslash\backslash$begin\{array\}\{cc\}"\,)\\ +\reicr Texcom("5 \& 3$\backslash\backslash\backslash\backslash$"\,)\\ +\reicr Texcom("8 \& 7"\,)\\ +\reicr Texcom("$\backslash$end\{array\}\$"\,)\\ +\reicr Closephr(\,) + +\tab{Openpar(\,ユーザーコマンド名,幅\ \{,\ 位置 \}\,), Closepar(\,)}\\ +\tab{}minipage環境を含む$\backslash$def コマンド定義を始める\\ +\chuu 位置のデフォルトは "c"\\ +\rei Openpar("$\backslash\backslash$s","5cm"\,)\\ +\reicr Texcom("$\backslash\backslash$input\{rei\}"\,)\\ +\reicr Closepar(\,)\\ +\reicr Letter(\,c([2,3),"se","$\backslash\backslash$s"\,) + +\tab{Texletter(\ 点(list形式), 方向, 文字列 ,・・・)}\\ +\tab{}点の位置の「方向」に文字列をかく(複数可)\\ +\rei Texletter(\,list(4,"\#1"),"n","文字")\\ +\chuu 位置は"n", s", "e", "w", "ne", "nw", "se", "sw", "c"\\ +\chuu 点の位置はリスト形式で,\TeX の形式で渡すことができる. + +\tab{Texnewctr(番号または番号のベクトル)}\\ +\tab{}\ketpic で使うカウンタ(ketpicctra,...)を定義 + +\tab{Texctr(番号またはカウンタ名)}\\ +\tab{}番号のカウンタ名またはカウンタ名を返す + +\tab{Texthectr(番号)} \verb|\|the+カウンタ名の文字列を返す + +\tab{Texvalctr(番号)} \verb|\|value\{カウンタ名\}の文字列を返す + +\tab{Texsetctr(番号,文字列)}カウンタに値をセットする\TeX コマンド列を出力\\ +\rei Texsetctr(2, "1*2/3");\\ +\rei Texsetctr(2, "(-\verb|#|1)+2"); + +\tab{Texletter(位置(list),方向,文字列)}\\ +\tab{}位置listで表される点に文字列をかく\TeX コマンド列を出力\\ +\rei Texletter(list(10,paste("-",Texvctr(2),sep="")),"ne","\verb|\|content");\\ +\rei Texletter(list(0, "\verb|#|1"), "c", "A"); + +\tab{Texnewcmd(コマンド名,引数の個数,オプション値)}\\ +\tab{}\verb|\|newcommand を始める\TeX コマンドを出力 + +\tab{Texrenewcmd(コマンド名,引数の個数,オプション値)}\\ +\tab{}\verb|\|renewcommand を始める\TeX コマンドを出力 + +\tab{Texend()}\TeX のコマンド定義を終わる\TeX コマンドを出力 + +\tab{Texfor(カウンタ番号,初期値,終了値)}\\ +\tab{}\TeX のループ構造を始める.\\ +\chuu 初期値,終了値は文字列で与える.\\ +\rei Texfor(1,"1","\verb|#|1"); + +\tab{Texendfor(カウンタ番号)}\TeX のループ構造を終える.\\ +\rei Texendfor(1); + +\tab{Texforinit()}\TeX のループ構造を初期化 + +\tab{Texif(数値条件\ \{ ,1 \})}\TeX のif構造を始める.(ifnumまたは ifdim)\\ +\chuu 条件は文字列で与える.\\ +\chuu 1を追加したときは ifdim\\ +\rei Texif("Texctr(1)\verb|<#|2"); + +\tab{Texelse()}\TeX のelseブロック. + +\tab{Texendif()}\TeX のif構造を終える. +%\tab{Setmark()}マークシート用マークのコードを出力 + +%\tab{Putdashmark(表データ,\ 列番号,\ 行番号,文字列or番号)}\\ +%\rei Putdashmark(Out,2,1,0:9); + +%\tab{Putcirmark(表データ,\ 列番号,\ 行番号)} + +%\tab{Putrecmark(表データ,\ 列番号,\ 行番号} + +\subsection{カラー設定} + +\tab{Setcolor(色 \{, 濃さ\})}色を設定\\ +\chuu colorパッケージ必要\\ +\hspace*{2zw} 色は,次の文字列または [c,m,y,k]のベクトル\\ +\hspace*{2.5zw}"greenyellow"[0.15,0,0.69,0], +"yellow"[0,0,1,0], +"goldenrod"[0,0.1,0.84,0], +"dandelion"[0,0.29,0.84,0]\\ +\hspace*{2.5zw}"apricot"[0,0.32,0.52,0], +"peach"[0,0.5,0.7,0], +"melon"[0,0.46,0.5,0], +"yelloworange"[0,0.42,1,0]\\ +\hspace*{2.5zw}""orange"[0,0.61,0.87,0], +"burntorange"[0,0.51,1,0], +"bittersweet"[0,0.75,1,0.24],\\ +\hspace*{2.5zw}"redorange"[0,0.77,0.87,0]\\ +\hspace*{2.5zw}"mahogany"[0,0.85,0.87,0.35], +"maroon"[0,0.87,0.68,0.32], +"brickred"[0,0.89,0.94,0.28], +"red"[0,1,1,0]\\ +\hspace*{2.5zw}"orangered"[0,1,0.5,0], +"rubinered"[0,1,0.13,0], +"wildstrawberry"[0,0.96,0.39,0],\\ +\hspace*{2.5zw}"salmon"[0,0.53,0.38,0]\\ +\hspace*{2.5zw}"carnationpink"[0,0.63,0,0], +"magenta"[0,1,0,0], +"violetred"[0,0.81,0,0], +"rhodamine"[0,0.82,0,0]\\ +\hspace*{2.5zw}"mulberry"[0.34,0.9,0,0.02], +"redviolet"[0.07,0.9,0,0.34], +"fuchsia"[0.47,0.91,0,0.08],\\ +\hspace*{2.5zw}"lavender"[0,0.48,0,0]\\ +\hspace*{2.5zw}"thistle"[0.12,0.59,0,0], +"orchid"[0.32,0.64,0,0], +"darkorchid"[0.4,0.8,0.2,0], +"purple"[0.45,0.86,0,0]\\ +\hspace*{2.5zw}"plum"[0.5,1,0,0], +"violet"[0.79,0.88,0,0], +"royalpurple"[0.75,0.9,0,0], +"blueviolet"[0.86,0.91,0,0.04]\\ +\hspace*{2.5zw}"periwinkle"[0.57,0.55,0,0], +"cadetblue"[0.62,0.57,0.23,0], +"cornflowerblue"[0.65,0.13,0,0],\\ +\hspace*{2.5zw}"midnightblue"[0.98,0.13,0,0.43]\\ +\hspace*{2.5zw}"navyblue"[0.94,0.54,0,0], +"royalblue"[1,0.5,0,0], +"blue"[1,1,0,0], +"cerulean"[0.94,0.11,0,0]\\ +\hspace*{2.5zw}"cyan"[1,0,0,0], +"processblue"[0.96,0,0,0], +"skyblue"[0.62,0,0.12,0], +"turquoise"[0.85,0,0.2,0]\\ +\hspace*{2.5zw}"tealblue"[0.86,0,0.34,0.02], +"aquamarine"[0.82,0,0.3,0], +"bluegreen"[0.85,0,0.33,0],\\ +\hspace*{2.5zw}"emerald"[1,0,0.5,0]\\ +\hspace*{2.5zw}"junglegreen"[0.99,0,0.52,0], +"seagreen"[0.69,0,0.5,0], +"green"[1,0,1,0], +"forestgreen"[0.91,0,0.88,0.12]\\ +\hspace*{2.5zw}"pinegreen"[0.92,0,0.59,0.25], +"limegreen"[0.5,0,1,0], +"yellowgreen"[0.44,0,0.74,0],\\ +\hspace*{2.5zw}"springgreen"[0.26,0,0.76,0]\\ +\hspace*{2.5zw}"olivegreen"[0.64,0,0.95,0.4], +"rawsienna"[0,0.72,1,0.45], +"sepia"[0,0.83,1,0.7], +"brown"[0,0.81,1,0.6]\\ +\hspace*{2.5zw}"tan"[0.14,0.42,0.56,0], +"gray"[0,0,0,0.5], +"black"[0,0,0,1], +"white"[0,0,0,0] + +\end{document} + +\newpage + +\section{内部コマンド} + +\tab{CalcHeight} + +\tab{CalcWidth} + +\tab{Dataindex} + +\tab{Gaiseki} + +\tab{InWindow} + +\tab{Kouten} + +\tab{KoutenList} + +\tab{Koutenseg} + +\tab{Kyoukai} + +\tab{MakeBowdata} + +\tab{MakeCurves} + +\tab{Makehasen} + +\tab{Makeshasen} + +\tab{MeetWindow} + +\tab{Mixmake} + +\tab{Naigai} + +\tab{Naiseki} + +\tab{Vecnagasa(A, B)}$<$- norm(B-A) + +\tab{Makevaltable} + +\tab{Connectseg} + + + +\end{document} -- cgit v1.2.3