KETpic+TeXによる図入り教材作成支援
http://w.atwiki.jp/ketpic/
KETpic+TeXによる図入り教材作成支援
ja
2016-02-07T18:45:36+09:00
1454838336
-
第51回CASTeXセミナー
https://w.atwiki.jp/ketpic/pages/142.html
第51回CASTeXセミナーのご案内(第0報)
日時:2016年2月27日(土)10:00~18:00
会場:未定
日程:
10:00~12:00
「空間図形の描画について」 高遠節夫氏(東邦大学)
13:00~18:00
KeTCindyによる空間図形の描画の実習
18:30~ 懇親会
参加を希望される方は
山下哲 sattch.yamashita(at)gmail.com
まで事前にご連絡ください.
なお,懇親会に参加される方も人数確認の都合で山下まで事前に連絡していただけると幸甚です.
ご協力の程よろしくお願いいたします.
2016-02-07T18:45:36+09:00
1454838336
-
CASTeXセミナー
https://w.atwiki.jp/ketpic/pages/5.html
CASTeXセミナーでは,KeTpicやKeTCindyの話題を中心とした講演会・ワークショップを月1回のペースで東京近郊で開催してます.
[[第51回CASTeXセミナー]]
[[第50回CASTeXセミナー]]
[[第2回下関研究集会]]
[[第49回CASTeXセミナー]]
[[第48回CASTeXセミナー]]
2016-02-07T18:41:39+09:00
1454838099
-
Ketpicによる図入り教材作成支援
https://w.atwiki.jp/ketpic/pages/1.html
<h1><span style="font-size:20px;">このサイトはTeXによる図入り教材支援パッケージKETpicのサポートページです.</span></h1>
<h2><span style="font-size:18px;"><a href="http://www55.atwiki.jp/ketpic/?page=%E8%A8%AD%E7%AB%8B%E4%B8%BB%E6%97%A8">設立主旨</a></span></h2>
<h3><span style="font-size:18px;">ニュース</span></h3>
<p><a href="http://www55.atwiki.jp/ketpic/pages/5.html">CASTeXセミナー</a>(第51回)<span style="line-height:1.6em;">2016年2月27日(土)10:00~18:00 未定</span></p>
<p style="padding-bottom:0px;line-height:32px;background-color:rgb(238,238,255);margin:0px;padding-left:0px;padding-right:0px;font-family:arial, helvetica, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka, 'メイリオ', Meiryo, 'MS Pゴシック', clean, sans-serif;font-size:small;padding-top:0px;">
<a href="http://www55.atwiki.jp/ketpic/pages/134.html">研究集会「数学 ・統計教育における教材開発
とその評価 」</a>2014年1月11 日(土)13: 00 -17 :00</p>
<p><a href="http://www55.atwiki.jp/ketpic/pages/5.html">CASTeXセミナー</a><span style="line-height:1.6em;">(第49回) 2013年12月21日</span><span style="line-height:1.6em;background-color:rgb(238,238,255);font-family:arial, helvetica, 'ヒラギノ角ゴ pro w3', 'hiragino kaku gothic pro', osaka, 'メイリオ', meiryo, 'ms pゴシック', clean, sans-serif;font-size:small;">(土)15:00~17:00
東京理科大学神楽坂キャンパス 1号館133教室</span></p>
<hr /><h2><span style="font-size:18px;">ダウンロード </span></h2>
<p><span style="font-size:18px;"><a href="http://cdn55.atwikiimg.com/ketpic?cmd=upload&act=open&pageid=1&file=ketpic4_3_1c.zip">
Scilab版</a>(<a href="http://ketpic.com/?action=cabinet_action_main_download&block_id=13&room_id=1&cabinet_id=1&file_id=359&upload_id=780">ミラーサイト</a>),<a href="http://www55.atwiki.jp/ketpic/pub/ketpic_math_3.0.1dxa.zip">Mathematica版</a> (<a href="http://ketpic.com/?action=cabinet_action_main_download&block_id=13&room_id=1&cabinet_id=1&file_id=317&upload_id=319">ミラーサイト</a>),<a href="http://cdn55.atwikiimg.com/ketpic?cmd=upload&act=open&pageid=1&file=ketpicR_4_3_1_ltd01.zip">R版</a>(<a href="http://ketpic.com/?action=cabinet_action_main_download&block_id=13&room_id=1&cabinet_id=1&file_id=357&upload_id=762">ミラーサイト</a>)</span></p>
<hr /><p><span style="font-size:18px;"><a href="http://www55.atwiki.jp/ketpic/pages/8.html">教材集</a> </span></p>
<p><a href="http://www55.atwiki.jp/ketpic/pages/136.html"><span style="font-size:18px;">KETpicのためのプログラミング書法</span></a></p>
<p><span style="font-size:18px;"><a href="http://www55.atwiki.jp/ketpic/pages/9.html">KETpic初心者のためのページ</a></span></p>
<p><span style="font-size:18px;"><a href="http://www55.atwiki.jp/ketpic/pages/10.html">数学の得意なKETpic初心者のためのページ</a></span></p>
<p><span style="font-size:18px;"><a href="http://www55.atwiki.jp/ketpic/pages/11.html">KETpic中級者のためのページ</a></span></p>
<p><span style="font-size:18px;"><a href="http://www55.atwiki.jp/ketpic/?page=KETpic%E4%B8%8A%E7%B4%9A%E8%80%85%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%83%9A%E3%83%BC%E3%82%B8">
KETpic上級者のためのページ</a></span></p>
<hr /><p><a href="http://www55.atwiki.jp/ketpic/pages/16.html"><span style="font-size:20px;">よくある質問(FAQ)</span></a></p>
<p><span style="font-size:20px;"><a href="http://www55.atwiki.jp/ketpic/pages/23.html">コマンドリファレンス</a> <a href="http://www55.atwiki.jp/ketpic/pages/23.html">Scilab</a></span></p>
<hr /><p><span style="font-size:18px;"><a href="http://www55.atwiki.jp/ketpic/?page=%E7%A0%94%E7%A9%B6%E6%A5%AD%E7%B8%BE">研究業績</a></span></p>
<p><span style="font-size:18px;"><a href="http://www55.atwiki.jp/ketpic/?page=%E5%A4%96%E9%83%A8%E3%83%AA%E3%83%B3%E3%82%AF">
外部リンク</a></span></p>
<hr /><p class="AlignRight">このページは阿原一志が管理しています.</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
2016-02-07T18:39:57+09:00
1454837997
-
KETpic とはどんなものか知りたい方へ
https://w.atwiki.jp/ketpic/pages/138.html
TeX が使える方は、このページの下の方にある iroiro.tex をダウンロードしてから、次のような tex ファイルを作り、コンパイルしてみてください。
\documentclass{article}
\newlength{\Width}
\newlength{\Height}
\newlength{\Depth}
\begin{document}
\input{iroiro.tex}
\end{document}
ketpic.sty をダウンロードしてあれば、次のように書いてもいいです。
\documentclass{article}
\usepackage{ketpic}
\begin{document}
\input{iroiro.tex}
\end{document}
ただ、iroiro.tex というファイルを読み込んでいるだけです。
図を入れたいところに \input{iroiro.tex} と書けばいいわけです。
KETpic により、この iroiro.tex というファイルを作ることができます。
以下、Windows で C: の直下に KPF という名前のフォルダを作り、その中で行う方法を紹介します。
Scilab に関するものは別の場所で構いませんが、Scilab を使えるようにしておいてください。
(Scilab のインストールの方法は「KETpic初心者のためのページ」を見てください)
KPF フォルダに
ketpicsciL5 (フォルダ)
ketpic.sty
を置いてください。(ダウンロードなどは「KETpic初心者のためのページ」を見てください)
このページの下の方にある iroiro.sce をダウンロードしてください。
上で作った tex ファイルも、全てKPF フォルダに置いてください。
iroiro.sce を実行すると(実行方法は「KETpic初心者のためのページ」を見てください)、iroiro.tex というファイルができるはずです。
iroiro.sce は、行の先頭に // をつけると、その行が実行されなくなります。
いくつかの行の先頭に // をつけたり、少し変えてみたり、いろいろ試してみてください。
後半の Openfile(Fnametex,'1cm'); という行以降が、iroiro.tex への書き出し部分です。
いくつかの行以外の全ての行の先頭に // をつけてみると、その行が何を書き出しているか想像できるかもしれません。
前半で、いろいろなデータを作っています。
数値や関数などを変えて見ると、何をしているのか、想像できるかもしれません。
更に、動的幾何ソフトウェアCinderella を使う、KETCindy という仕組みについても紹介します。
「KETpic初心者のためのページ」の「KETCindy」のところを見て、Cinderella をインストールしておいてください。
このページの下の方にある
ketcindylib.txt
mysetting.txt
iroiroc.cdy
をダウンロードして、KPF フォルダに置いてください。
(txt ファイルはクリックしただけではダウンロードできないかもしれません。その場合、右クリックして、名前を付けて保存、などとしてください。自動的にファイル名が別のものになってしまう場合は、必ずこのファイル名にしておいてください。)
iroiroc.cdy
をダブルクリックして開き、SciALL というところをクリックすると、iroiroc.sce というファイルができます。
これが、実質的には、iroiro.sce と同じファイルで、これを実行することにより、iroiroc.tex というファイルができます。
tex ファイル内に \input{iroiroc.tex} と書いて、コンパイルしてみてください。
iroiroc.cdy の
スクリプト → CindyScript
とクリックして、スクリプトエディタを開き
Events の Draw の figures をクリックすると、スクリプトが見られます。
これも、行の先頭に // をつけると、その行が実行されなくなります。
いくつかの行の先頭に // をつけたり、少し変えてみたり、いろいろ試してみてください。
スクリプトエディタの右上にある歯車の形のボタンをクリックしてから、
SciALL をクリックすると、iroiroc.sce が書き変えられます。
&nowiki(){//が先頭についた行はコメント}
2016-02-05T06:47:20+09:00
1454622440
-
教材集
https://w.atwiki.jp/ketpic/pages/8.html
*基礎数学教材
**グラフの平行移動
関数$$y=(x-p)^2+q$$のグラフを描かせるための教材である.
$$X=x-p$$, $$Y=y-q$$とおくと,点$$(p, q)$$を原点とみなし,$$Y=X^2$$のグラフをかけばよい.
&link_upload(text=translation.gif)
&link_upload(text=translation.sce)
&ref(http://www55.atwiki.jp/ketpic?cmd=upload&act=open&pageid=8&file=translation.gif)
*微積分教材
**関数の極限
**微分係数
**導関数
(単元を羅列して,それぞれ単元ごとにページを作ります.)
*線形代数教材
**ベクトル
**ベクトルの演算
**ベクトルの成分
**ベクトルの内積
(単元を羅列して,それぞれ単元ごとにページを作ります.)
*空間図形教材
(単元を羅列して,それぞれ単元ごとにページを作ります.)
&br()
&br()
&br()
&br()
&br()
&br()
&br()
&br()
&br()
&br()
&br()
2015-10-25T15:08:28+09:00
1445753308
-
PDとは何か
https://w.atwiki.jp/ketpic/pages/17.html
PDとはplot dataの略語です.一般的な意味としては(平面や空間の)点についてのデータということになりますが,KETpicでは折れ線上の節点のデータの意味で用います.
----
[[FAQ]]へ戻る.
2015-10-25T11:38:21+09:00
1445740701
-
KETCindyについて
https://w.atwiki.jp/ketpic/pages/137.html
*KETCindyの基本的な考え方
KETpicはCASの付属パッケージで,CASに読み込み,CAS上でCommand Lineにより入力します.Cinderellaなどの動的幾何ソフトウェアは,画面上をクリックして図形を入力できるようGraphic User Interfaceを装備しています.ただし,CinderellaにはCindyScriptというCommand Line入力の機能も装備しており,双方がinteractiveに機能します.この特性を利用して,KETCindyが開発されました.KETCindyでは,Cinderellaから描画データを入力し,Scilab実行ファイルに書き出して実行し,LaTeXファイルを作成し,このLaTeXファイルをコンパイルしてPDFで出力するという一連の作業を自動化しました.操作も簡単で,初心者でも楽に教材が作成できます.詳しくはKETCindyのページをご覧ください.
-[[KETCindyのページ>https://sites.google.com/site/ketcindy/home]]
2015-10-25T11:30:24+09:00
1445740224
-
KETpic初心者のためのページ
https://w.atwiki.jp/ketpic/pages/9.html
*KETpicの基本的な考え方
KETpicとは,数式処理システム(Computer Algebra System,略してCAS)の上で動作し,組版ソフトウェアLaTeXを用いた数学教材の作成において,図表の作成からレイアウトまで教材設計を支援するシステムです.2006年からMaple版KETpicの開発が始められ,2010年までに2D描画,3D描画,表作成,ページレイアウト,LaTeXマクロ作成など全機能が完成しました.KETpicを利用できるCASには,Maple,Mathematica,Maxima,Matlab,Scilab,Rがあります.現在,KETpicの全機能が利用できるのはScilabです.本ページでもScilab版KETpicを中心に解説します.([[もっと細かい説明はこちら.>http://www55.atwiki.jp/ketpic/pages/12.html]])
*KETpicをはじめるための準備
**パソコンを用意しましょう.
パソコンはwindowsマシンでもMacでもどちらでも大丈夫です.([[もっと細かい説明はこちら.>http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?AbTeXInstaller]])
**CAS(たとえばScilab)をインストールしましょう.
KETpicを利用するには[[CAS>CASとは何か]](数式処理プログラム)が必要です.無償のCASで手軽なのは[[Scilab>Scilabとは何か]]です.KETpicがサポートしているCASのどれかをパソコンにインストールしましょう.
-[[Scilabのインストール>http://www55.atwiki.jp/ketpic?cmd=upload&act=open&pageid=9&file=scilab%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB.pdf]]
**TeXをインストールしましょう.
TeXは組版ソフトとして理数系の専門家を中心に広く使われているソフトです.今はLaTeXという版かAMSLaTeXという版がよく使われているようです.インストールするには,TeXインストーラ3というパッケージ(無料)を使うのが一番簡単でしょう([[もっと詳しい説明はこちら.>http://did2memo.net/2014/03/06/easy-latex-install-windows-8-2014-03/]]).TeXは部品となるファイルが膨大な上,gs,gsview(ゴーストスクリプト),dviout(デュビアウト)など付属的にインストールしなければいけないソフトもあり,初心者が自分でカスタマイズするのは大変難しいです.その点,TeXインストーラ3はそういった一連の作業を自動的にやってくれますので簡単です.以下のwebページからTeXインストーラ3の最新版をダウンロードしましょう.
-[[TeXインストーラ3のダウンロードはこちら.>http://www.math.sci.hokudai.ac.jp/~abenori/soft/abtexinst.html]]
**KETpicをダウンロードしましょう.
***[[Scilab>Scilabとは何か]]を利用する場合
-インターネットサイトから[[KETpic(scilab版)をダウンロード>http://ketpic.com/?action=cabinet_action_main_download&block_id=13&room_id=1&cabinet_id=1&file_id=510&upload_id=981]]しましょう.
-ダウンロードしたファイルの名前は最新版ketpicsci_v5_1_6c.zipとなっています.ただし,以下の説明では旧版ketpicsci_v4_3_0a.zipで行います.
-作業するフォルダーを1つ作りましょう.(たとえばドキュメントフォルダの中に「KETPic」というフォルダを作ったとしましょう.)この作業するフォルダーにダウンロードしたファイルを移動しましょう.
&ref(ketsci-01.jpg)
-ダウンロードしたファイルは圧縮(zip)ファイルなので,右クリック→「すべて展開(T)...」を選んで,解凍しましょう.
&ref(ketsci-02.jpg)
-バージョンによって中身が変わりますが,C:\Users\Ahara\Documents\KETPic\ketpicsciL5というフォルダがあり,ここに「***.bin」というファイルがたくさんあることを確認しましょう.これらたくさんのファイルが「Scilab版KETpic」です.
*KETpicでまず易しいサンプルを作ってみましょう.
もっとも易しい例として「座標軸と放物線」の挿絵をTeXで版組みして見ましょう.([[手取り足取りな説明はこちら.>座標軸と放物線]])
*上手なKETpicソースコードの書き方
誰が見ても解りやすいソースコードを書くことはとても大切です.([[基本的な考え方のページはこちら>解りやすいソースコードの書き方]])
*KETCindy
KETpicは数式処理システムの付属パッケージだから,数式処理システムと同じくCLI (Command Line Interface)入力しなければなりません.そのため,初心者には慣れるまで扱いにくいようです.2014年9月5日に,動的幾何システムCinderellaの開発者Ulrich H. Kortenkamp氏の協力を得て,CinderellaをGUI (Graphic User Interface)として利用できるKETCindyの開発が始まりました.急ピッチで開発が進み,現在,空間曲面の描画以外,ほとんどの機能が実用化できており,Bezier曲線の描画や動画など新機能も追加しています.KETCindyのおかげで,初心者だけでなく,KETpicユーザーにも使いやすくなりました.([[KETCindyについてはこちら>KETCindyについて]])
*KETpic とはどんなものか知りたい方へ
([[こちらへどうぞ>KETpic とはどんなものか知りたい方へ]])
2015-10-25T11:28:28+09:00
1445740108
-
KETpicのためのプログラム書法
https://w.atwiki.jp/ketpic/pages/136.html
KETpicは数式処理システム(Computer Algebra System,略してCAS)付属のマクロパッケージであるため,CASの上でKETpicプログラムを書いて実行します.KETpicプログラムを実行すると,CASを援用して図データを作成し,LaTeXのpicture環境に書き出して図用LaTeXファイルを作成できます.作成されたKETpicプログラムには作成者の意図や工夫が込められており,教材に有効な図が入れられるため,他のユーザーも利用できると便利です.そこで,KETpicプログラムを共有するために,統一した構造でプログラムを記す必要があります.以下,Scilab版KETpicを用いたKETpicプログラミング書法について,具体的に,関数$$y=\sin x$$のグラフで説明します.
&link_upload(text=sine-curve0.gif)
&ref(http://www55.atwiki.jp/ketpic?cmd=upload&act=open&pageid=136&file=sine-curve0.gif)
*&aname(anchor-10){KETpicプログラムの構造について}
KETpicプログラムの役割は大きく分けると二つあります.一つはCASを援用して図データを作成することであり,もう一つはLaTeXのpicture環境に書き出して図用LaTeXファイルを作成することです.これを踏まえて,KETpicプログラムは大きく以下の3つの部分に分かれます.
-&link_anchor(anchor-11){プリアンブル部}
-&link_anchor(anchor-12){プロットデータ作成部}
-&link_anchor(anchor-13){図ファイル書き出し部}
以下,これらについて詳しく説明します.
**&aname(anchor-11){プリンブル部}
ここでの主な作業は以下の4つである.
-KETpicをCASへ読み込む.
-KETpicの初期化する.
-作業用ディレクトリへ移動する.
-図ファイル名を定義する.
これらを具体的に書くと以下のようになります.
Ketlib=lib("c:/SciF/ketpicsciL5");
cd("c:/work");
Ketinit();
Fname="sine-curve.tex";
&link_anchor(anchor-10){KETpicプログラムの構造について}に戻る.
**&aname(anchor-12){プロットデータ作成部}
ここでの主な作業は,図に必要なプロットデータを作成することです.$$y=\sin x$$のグラフでは,描画範囲を設定し,グラフの実線データと振幅の上限線$$y=1$$,下限線$$y=-1$$の破線データです.これらを具体的に書くと以下のようになります.
Setwindow([-7,7],[-2,2]);
gr1=Plotdata("sin(x)","x");
sg1=Listplot([Xmin(),1],[Xmax(),1]);
sg2=Listplot([Xmin(),-1],[Xmax(),-1]);
Windisp(gr1,sg1,sg2,"c")
実行すると,以下の画像が表示されます.
&ref(http://www55.atwiki.jp/ketpic?cmd=upload&act=open&pageid=136&file=sine-curve_graphicwindow.gif)
&link_anchor(anchor-10){KETpicプログラムの構造について}に戻る.
**&aname(anchor-13){図ファイル書き出し部}
ここでの作業は,作成したプロットデータを線画で書き出し,文字や数式等のアクセサリを入れることです.最初に,書き出しのための設定を定義し,Openfile()から書き出し始めてClosefile()で終了します.これらを具体的に書くと以下のようになります.
Setax(7,"se");
Openfile(Fname,"1cm");
Drwline(gr1);
Dashline(sg1,sg2);
A=%pi/2;
Expr([A,sin(A)],"n2e","y=\sin x");
Htickmark(-2*%pi,"se","-2\pi",-%pi,"sw","-\pi",%pi,"sw","\pi",2*%pi,"se","2\pi");
Vtickmark(-1,"sw","-1",1,"nw","1");
Closefile("1");
&link_anchor(anchor-10){KETpicプログラムの構造について}に戻る.
*&aname(anchor-20){KETpicのためのプログラミング書法について}
KETpicプログラムの構造に留意して,他のユーザーが解読しやすいプログラムを作成することが望まれます.そのためには,構造だけでなく,以下の9つの要件にも留意することが大切です.
-基本的な5要件
&link_anchor(anchor-21){1.プログラムのブロック化}
&link_anchor(anchor-22){2.コマンドの配置}
&link_anchor(anchor-23){3.名前の付け方}
&link_anchor(anchor-24){4.KETpicコマンドの使用}
&link_anchor(anchor-5){5.CASの計算機能}
-応用的な4要件
&link_anchor(anchor-26){6.ローカル変数}
&link_anchor(anchor-27){7.基準点}
&link_anchor(anchor-28){8.リスト構造}
&link_anchor(anchor-29){9.for文}
以下で,具体例をあげながら,これらの留意点を説明します.
**&aname(anchor-21){1.プログラムのブロック化}
-プログラム構造の切れ目に空白行を入れましょう.
プログラムの構造は,プリアンブル部,プロットデータ作成部,図ファイル書き出し部の3つに大きく分かれています.これらの部の切れ目に空白行を入れるだけでなく,各部のプログラムの切れ目にも空白行を入れてブロック化することで,プログラムが解読しやすくなります.
Ketlib=lib("c:/SciF/ketpicsciL5");
cd("c:/work");
Ketinit();
Fname="sine-curve.tex";
Setwindow([-7,7],[-2,2]);
gr1=Plotdata("sin(x)","x");
sg1=Listplot([Xmin(),1],[Xmax(),1]);
sg2=Listplot([Xmin(),-1],[Xmax(),-1]);
Windisp(gr1,sg1,sg2,"c")
-行頭に空白文字を入れて階層構造にしましょう.
If文やfor文などを何層にも利用する際,どこから始まりどこで終わるのかわかるように,行頭に空白文字を入れて階層構造にします.Scilabでは,自動で空白文字を半角4文字分入れるようになっていますが,横幅をとりたくなければ,半角2文字分で十分です.
function Out=CrossPr(V1,V2)
if length(V1)==2 then
Out=V1(1)*V2(2)-V2(1)*V1(2);
else
X1=V1(2)*V2(3)-V2(2)*V1(3);
X2=V1(3)*V2(1)-V2(3)*V1(1);
X3=V1(1)*V2(2)-V2(1)*V1(2);
Out=[X1,X2,X3];
end
endfunction
&link_anchor(anchor-20){KETpicのためのプログラミング書法について}に戻る.
**&aname(anchor-22){2.コマンドの配置}
-コマンドの配置は,加筆修正が行いやすいよう,適切な位置に配置しましょう.
プログラムは書いた順番に実行されます.例えば,Setwindow()は描画範囲を定義するKETpicコマンドだから,本来,プロットデータ作成部の最初に書きます.一方,プロットデータを次々に作成した後,描画範囲を定義してもプログラムは実行できます.しかし,描画範囲を変更する度ごとに,プロットデータの定義域も確認しないといけません.プログラムの加筆修正が大変になるだけでなく,他のユーザーも読みづらいプログラムになってしまいます.このように,コマンドの配置する順番は,解読しやすいプログラムの作成には重要な留意点です.では,主なコマンドの配置について以下に記します.
*KETpicの初期化コマンドKetinit()はプリアンブル部に配置しましょう.
*描画範囲を指定するコマンドSetwindow()はプロットデータ作成部の最初に配置しましょう.
*図ファイルを開くコマンドOpenfile()は図ファイル書き出し部の最初に配置しましょう.
*座標軸の設定を変更するコマンドSetax()は図ファイル書き出し部でOpenfile()の直前に配置しましょう.
&link_anchor(anchor-20){KETpicのためのプログラミング書法について}に戻る.
**&aname(anchor-23){3.名前の付け方}
-対象がわかりやすい名前を付けましょう.
ローカル変数やプロットデータに名前を付けると,プログラムで繰り返し使用することができるため,とても便利です.「名は体を表す」と言いますが,何を表しているのかわかりやすい名前を付けると,プログラムが解読しやすくなります.KETpicプログラムでよく利用する名前を以下に記します.
*文字定数の名前はA, B, C, ...を利用しましょう.
*変数の名前はX, Y, Z, S, T, U, V, ...を利用しましょう.
*点の名前はPa, Pb, Pc, ...を利用しましょう.
*Plotdata()の名前はgr1, gr2, gr3, ...を利用しましょう.
*Listplot(A,B,C)の名前は sgABCを利用しましょう.
*Paramplot()の名前はgp1, gp2, gp3, ...を利用しましょう.
&link_anchor(anchor-20){KETpicのためのプログラミング書法について}に戻る.
**&aname(anchor-24){4.KETpicコマンドの使用}
-KETpicコマンドには,プロットデータ作成部で使用されるものと図ファイル書き出し部で使用されるものがあります.
*Plotdata,Listplot,Paramplotなどはプロットデータ作成部で使用します.
*Drwline,Dashline,Dottedline,Drwpt,Letter,Expr,Htickmark,Vtickmarkなどは図ファイル書き出し部で使用します.
*Arrowlinedataはプロットデータ作成部で使用し,Arrowlineは図ファイル書き出し部で使用します.
&link_anchor(anchor-20){KETpicのためのプログラミング書法について}に戻る.
**&aname(anchor-5){5.CASの計算機能}
-KETpicはCASの付属パッケージであり,CASの機能を用いてプロットデータを作成しています.プロットデータを作成する際に必要な計算はCASで実行しましよう.
例えば,$x=1$における曲線$y=¥sin x$の接線を引くには,以下のようにします.
G1=Plotdata("sin(x)","x");
X0=1;
Y0=sin(X0);
A=cos(X0);
B=-A*X0+Y0;
Plotdata("A*x+B","x");
米Scilabは行列計算ソフトであるため,関数の微分や不定積分の演算機能がありません.
&link_anchor(anchor-20){KETpicのためのプログラミング書法について}に戻る.
**&aname(anchor-26){6.ローカル変数}
-ローカル変数を使用すると,変数値を変更するだけでプログラムを再度実行できます.図形の的確な配置を見つける際に便利です.例えば,曲線$y=¥sin x$の接線を引くには,上記プログラムのローカル変数X0の値を変更するだけで的確な接線の配置を見つけることができます.
&link_anchor(anchor-20){KETpicのためのプログラミング書法について}に戻る.
**&aname(anchor-27){7.基準点}
-KETpicでは文字や数式の配置を微調整できます.そのために,それらを配置する基準点をとらなければなりません.目測で基準点をとることもできますが,アングルマークや曲線の中点のように正確な位置を指定することも可能です.基準点から位置をずらすには,東西南北("e", "w", "s", "n")の4方向に北東"ne",北西"nw",南東"se",南西"sw"の4方向と中心"c"を加えた9方向に配置できるだけでなく,北に3倍西に-1.5倍移動"n3w-1.5"という指定も可能です.ただし,西に-1.5倍とは,東に1.5倍ではなく,北西の位置から東側に1.5倍分ずらすという意味です.
&link_anchor(anchor-20){KETpicのためのプログラミング書法について}に戻る.
**&aname(anchor-28){8.リスト構造}
-リスト構造は順序集合を表し,集合の集合(族)としても使用できます.複数のデータを一度で扱うとき,リストを利用します.リストに要素を加えたり,削除したりというリスト処理を行いながら,必要なリストを構成します.KETpicコマンドも引数やオプションをリストで構成しています.出力するデータもリストで構成されているため,取り出すデータが何番目に格納されているか,データを表示して確認する必要があります.
&link_anchor(anchor-20){KETpicのためのプログラミング書法について}に戻る.
**&aname(anchor-29){9.for文}
-繰り返し作業をさせるときに利用します.複数のデータを一度に生成したり,順番にデータを追加したりという場合に役立ちます.上記のリスト構造と組み合わせて使うことがほとんどです.
&link_anchor(anchor-20){KETpicのためのプログラミング書法について}に戻る.
2015-10-25T11:24:24+09:00
1445739864
-
解りやすいソースコードの書き方
https://w.atwiki.jp/ketpic/pages/133.html
*そもそものKETPicソースコードの順番について
KETPicを使ってScilabでプログラムを組むときには次のように考えるのがフツウです.
-KETPicを呼び出して使えるようにする.(Ketlib=lib(***); Ketinit();)
-作図を行って,プロットデータとして準備する.(Setwindow(***,***); g1=Plotdata(****);)
-文字データを準備する.
-(ここで一度画面上で下見する) (Windisp(***); )
-作成するTeXファイルを開いて,(cd(***); Openfile(***); Beginpicture(***); )
-準備したプロットデータを書き込む.(Drwline(g1);)
-準備した文字データを書き込む.
-そしてファイルを閉じてファイルとして完成させる.(Endpicture(1); Closefile();)
もちろん,この順番を守らなくてもKETPicソースを書くことは可能です(たとえばTeXファイルを先に開いて,後からプロットデータを作成する,など)が,「約束を守る」ことにより,作成者だけではなくKETPicユーザとファイルを共有するときにも読みやすいソースコードを提供することが出来ます.
*わかりやすいKETPicソースコードの枠組み
**コマンドの配置
-おおむね,上で説明したような順序でコマンドが並んでいることが好ましい.
**適切な名前
-頂点の名称・線分の名称は,実際に描かれる頂点・線分の名称に即したものをつけたほうがよい.(たとえばであるが,頂点AはptA,線分ABはsegABなど.)
-作図として依存関係にあるものについてそれぞれの座標を数値を書くのは不合理である.すでにある変数の値を利用する.(あとから頂点の位置を微調整したいときに,変更する箇所が1箇所であるようにする.)
**数学としての整合性
-たとえば平行なベクトルで長さが2倍のものを記述するのに,それぞれの座標を数値で記入するのは不合理である.数学の公式から計算できるものは,計算式によって座標や式を与える.(想定図から目分量で決めるのではなく,式によって与える.)
**図としての整合性
-文字データなどを頂点にはりつけるときなど,図を拡大・縮小した場合に「図の崩れ」がおこるかどうかを想定する.
**KETPic機能の活用
-長さを表すカッコなど,KETPicの機能によりさまざまな「都合のよい図」を描くことが可能であるので活用する
[[もっと詳しい説明はこちら.>http://www55.atwiki.jp/ketpic/pages/136.html]]
2015-10-25T11:05:30+09:00
1445738730