プログラミング授業は年明け第1回の授業が終わりました.3週で,HTMLとJavaScript,そしてtmlib.jsを組み合わせたGUIプログラミングに取り組んでもらいます.
あとの説明のため,教材を用意し授業で使用するまでの流れについて,かいつまんで説明します.授業は1年生300人ほど(と再履修生)を5クラスに分け,3人の教員で分担します.昨日付けのVBAと,今回のGUIについては,教材作成担当の教員が事前に決まっていまして(私ではなく),はじめに案を出して,スムーズに授業ができそうか意見交換をします.それで,この内容で実施しましょうとなったら,クラスに応じて微調整してよいとなっています.
それで…今回の授業案を見たとき,何度も「直線」という言葉が出てくるのが,気になりました.
キャンバス(HTML5 Canvas)上に引く線は,「直線」ではなく,「線分」なのではと,思ったのです.
自分自身,「直線」と「線分」の違いは,「半直線」とともに,中学1年の数学で学びました.少し調べたところ,今もそのままらしく*1,以下より漫画で解説されています.
数学の「線分(line segment)」を,コンピュータグラフィックスの分野では「直線(line)」と呼ぶ,という慣例があるのなら,それに従うべきかなとも考えますが,そんなことを確認できる資料を,持ち合わせていません.
画像編集ソフトウェアでは,どう書かれているかと,路線を変更し,GIMPを調べてみると,和英のチュートリアルを見つけました.
日本語は「直線」,英語は"straight line"が使われています.でも描かれるのは「線分」です.
さらに路線変更して,SVG (Scalable Vector Graphics)だとどうかを調べると,興味深い記述を見つけました.https://www.w3.org/TR/SVG/shapes.html#LineElementには,"The 'line' element defines a line segment that starts at one point and ends at another."とあります.対応する日本語訳は,https://triple-underscore.github.io/SVG11/shapes.html#LineElementの「line 要素は点から点への線分を定義する。」です.
コンピュータグラフィックスでも当てはまるかは,分からないとしても,情報処理の基本において,「直線」は数学の「線分」に対応することが多く,海外でも当てはまっており,もしそこのところを厳密に考えたいのなら,SVGの「line要素」を参照すればいいのだ,というわけです.
もう少し調べると,大辞林第三版で直線は「まっすぐな線。二点を結ぶ最短の線。」とありました.『小学校学習指導要領解説算数編』の第2学年,「3本の直線で囲まれている形を三角形といい,4本の直線で囲まれている形を四角形」に書かれた「直線」は,数学の「直線」でも「線分」でもよいなと思っていたのですが,第3学年の円のところにある「半径は中心から円周までひいた直線と約束する」は,「線分」と解釈しないと話が通らないのでした.
中学のときに知った,気になる日本語といえば,「湯を沸かす」です.国語ではなく,社会(歴史)の資料集で,たしか「東海道中膝栗毛」の一節でした.
これについて,分かりやすい解説がありました.
「鉛筆で文字を書く」(結果目的語---「湯を沸かす」も該当します)と「消しゴムで文字を消す」(対象目的語)は,言われればなるほどの対比でした.
*1:ただし,『中学校学習指導要領数学編』では,3つの用語を学習することを明示しておらず,角の二等分線では「…を通る直線(半直線)をひくことである」とあるほか,個人的に垂直二等分線と学んだものについては,「線分の垂直二等分線」と記述されています.