• 検索結果がありません。

2007 年度 修士論文 平面幾何ソフトにおける幾何的性質の論理的導出

N/A
N/A
Protected

Academic year: 2022

シェア "2007 年度 修士論文 平面幾何ソフトにおける幾何的性質の論理的導出"

Copied!
73
0
0

読み込み中.... (全文を見る)

全文

(1)

2007 年度 修士論文

平面幾何ソフトにおける幾何的性質の論理的導出

提出日 :2008 年 2 月 4 日 指導 : 筧 捷彦 教授

早稲田大学大学院理工学研究科 情報・ネットワーク専攻

学籍番号 :3606U025-0

小沢 一等

(2)

目 次

第1章 序論 3

1.1 目的 . . . . 3

1.2 平面幾何ソフトについて . . . . 3

1.2.1 平面幾何ソフトとは . . . . 3

1.2.2 研究対象とした平面幾何ソフト . . . . 4

1.3 幾何図形の扱い . . . . 4

1.3.1 幾何学図形の扱い方の紹介 . . . . 4

1.3.2 幾何学図形の扱い方各々の利点と欠点 . . . . 5

1.4 本研究の前提条件 . . . . 7

第2章 設計 8 2.1 概念設計 . . . . 8

2.1.1 幾何図形. . . . 8

2.1.2 幾何図形の関係 . . . . 15

2.1.3 幾何図形の複数の扱い . . . . 18

2.1.4 幾何図形の関係の複数の扱い . . . . 20

2.1.5 作図道具による,幾何図形および幾何図形の関係の生成 . . . . 23

2.1.6 設計した概念が論理的関係を保持できる理由 . . . . 33

2.2 実装 . . . . 38

2.2.1 Shapesパッケージ . . . . 38

2.2.2 Relationsパッケージ . . . . 39

2.2.3 ShapeVectorクラス . . . . 41

2.2.4 RelationVectorクラス . . . . 41

2.2.5 作図道具への機能追加 . . . . 41

2.2.6 HiZy上での機能 . . . . 41

2.3 計算量の工夫 . . . . 48

2.3.1 生成する多角形の限定 . . . . 48

2.3.2 幾何図形からの幾何図形の関係の直接参照 . . . . 51

2.3.3 弧からの半径の長さが等しい関係および半径の長さを基にした線分, 線分の長さが等しい関係の参照 . . . . 52

第3章 評価 53 3.1 想定した利点が活かせているかの評価. . . . 53

3.2 他の平面幾何ソフトとの比較による評価 . . . . 56

3.2.1 比較対象. . . . 56

(3)

3.2.2 比較結果. . . . 56

3.3 計算速度の評価 . . . . 61

第4章 考察 65 4.1 図形の関係の導出について . . . . 65

4.2 改善すべき点 . . . . 65

4.2.1 出力の調整 . . . . 65

4.2.2 向きの実装 . . . . 66

4.3 結論 . . . . 69

参考文献 70

(4)

第 1 章 序論

1.1 目的

我々が幾何を考えるときは,幾何図形が持つ性質の組み合わせにより幾何を考える.しか し,一般的な平面幾何ソフトにおいて,幾何図形は座標の計算のみで表現・制御されている. 座標の計算による幾何図形の扱いは,幾何の本質とはかけ離れてはいるが,コンピュータ上 では座標の計算が処理をしやすいため,座標の計算による幾何図形の扱いをしていると考 えられる.このような座標の計算による幾何図形の扱いを行っている場合,基本的に計算誤 差が生じてしまう.

また,座標の計算による幾何は,幾何図形がどのような性質を持っているか考えることが できず,幾何の本質ともかけ離れてしまっている.例えば垂直二等分線の作図を行った場合, 座標の計算による幾何では作図された線が,なぜ2点の中点を通るのか,なぜ2点を結ぶ線 に対し垂直な線となっているか,がわからない.

そこで私は平面幾何ソフトでも我々が幾何を考えるときと同様に,幾何図形が持つ性質 の組み合わせで幾何を扱い,誤差がなく幾何を扱うと同時に,より平面幾何の本質に平面幾 何ソフトを近づけたいと考えた.

そしてその幾何図形が持つ性質の組み合わせで幾何を扱う考えを,平面幾何ソフトに実 装し,論理的に幾何図形の関係を導出できるようにする.その論理的に幾何図形の関係を導 出できるようになった平面幾何ソフトが,従来の座標の計算で平面幾何を扱っているソフ トに比べどのように優れているか考察する.

1.2 平面幾何ソフトについて

この節では,あまり一般的なソフトでない平面幾何ソフトについて説明する.また,今回 研究対象とした平面幾何ソフトについても説明する.

1.2.1 平面幾何ソフトとは

平面幾何ソフトとは,平面幾何ソフトウェアの略であるが,平面幾何ソフトウェアに明 確な定義はない.平面幾何をコンピュータ上で扱うソフトウェアのことを指し,シンデレ ラ[1],[2],[3],Cabri-Geometry[4],[5],Geometric Constructor[6],HiZy[7],[8],[9],[10],[11]など が該当する.また,平面幾何の中でも作図は,コンピュータ上での表現がしやすく,作図を主 に取り扱っている平面幾何ソフトも多い.そのため,作図ソフトなどと呼ばれる場合もある.

(5)

1.2.2 研究対象とした平面幾何ソフト

私の研究では平面幾何ソフト「HiZy」[7],[8],[9],[10],[11]を研究対象とした.このソフト は早稲田大学筧研究室で開発されている平面幾何ソフトで,主に次の2点の特徴を持つ.

紙上での作図を模した平面幾何ソフトである

この特徴を持つために,一度描いた図形を変形させることはできないようになってい る.ただし,消しゴムという作図道具で消すことは可能である.また,作図の道具とし ては定規とコンパスが主となっており,中学校の幾何(平面図形)の授業と同様に線 分・弧1のみが作図できる.点については実在の作図道具では鉛筆を使って作図する

が,HiZyではピンという作図道具を使用して作図することにしてある.

教育用に特化している平面幾何ソフトである

作図の記録や再生,充実したヘルプ機能,出題機能,問題作成機能などが備わっている. このHiZyに1.1節の目的で定めた,幾何図形の持つ性質の組み合わせで幾何を扱う考え を実装することを考えた.

1.3 幾何図形の扱い

この節では,平面幾何ソフトにおける幾何図形の扱い方にどのような扱い方があるか紹 介する.

1.3.1 幾何学図形の扱い方の紹介

幾何図形の扱い方には,次の4つの方式が挙げられる.

表示座標をそのまま幾何図形の座標とする

画面上に表示されている幾何図形の座標をそのまま幾何図形が存在する座標とする 方法である.2005年度版以前のHiZy[9],[10]が採用していた方法である.

計算用の座標と表示用の座標を別に持つ.計算用の座標は浮動小数で計算する 幾何図形は内部で浮動小数計算され,幾何図形が存在する座標が導き出される.表示 用の座標は,その浮動小数計算された座標を元に計算される.シンデレラ[1],[2],[3]や 2006年度版HiZy[7],[8]が採用していた方法である.

計算用の座標と表示用の座標を別に持つ.計算用の座標は根号記号を含む分数式で計 算する

計算用の座標と表示用の座標を別に持つが,計算用の座標は浮動小数ではなく,根号 記号を含む分数式で表し,その分数式の無理数を浮動小数にすることなく,無理数の まま扱って計算する方法である.表示用の座標はその式から計算する.

幾何図形の持つ性質の組み合わせで幾何図形を扱う

座標はすべて表示用であるとし,幾何図形の扱いには一切関与させない.代わりに,幾

1この論文では,直線・円をそれぞれ線分・弧の特殊な場合とし扱う.

(6)

何図形の同士の性質を定義し,その性質から,各々の幾何図形がどのような関係にあ るか論理的に導出する.

以上4点が主に幾何図形の扱い方として挙げられる.次の節では各々の扱い方の利点や欠 点を紹介する.

1.3.2 幾何学図形の扱い方各々の利点と欠点

表示座標をそのまま幾何図形の座標とする

– 利点

計算が早い

使用する値が整数値であることと,使用する値の数が少ないことから,幾何 図形作図時の計算が非常に早い.

– 欠点

整数値しか扱えない

ディスプレイの出力がドットによる整数値なので,必然的に幾何図形の扱 いも整数値による扱いになってしまう.つまり,小数点以下の値が表現でき ない.誤差も増えてしまう.

幾何の本質と離反している

例えばこの幾何図形の扱いでは点Aと点Bの中点を作図したとき,その中 点は座標が点Aの座標と点Bの座標を足して2で割った位置にあるから2, という理由でしか中点と判別できない.これは定規で点AB間の長さを測っ て,ちょうど2点の真ん中にあるから点Aと点Bの中点であると判定する ことと等しく,幾何の本質と離反している.本来は正しい手順で作図ができ ているから,中点が作図できていると判定すべきである.

計算用の座標と表示用の座標を別に持つ.計算用の座標は浮動小数で計算する

– 利点

表示を容易に変更できる

表示用座標と計算用座標を別に持つので,計算用座標から表示用座標への 変換方法を変えるだけで表示を変更できる.

– 欠点

誤差が出る

浮動小数はどうしても誤差が生じてしまう.誤差の範囲内の点が等しいか どうかは正確に判定できない.

幾何の本質と離反している

例えばこの幾何図形の扱いでは点Aと点Bの中点を作図したとき,その中 点は座標が点Aの座標と点Bの座標を足して2で割った位置にあるから2,

2ただし誤差は考慮しないものとする.

(7)

という理由でしか中点と判別できない.これは定規で点AB間の長さを測っ て,ちょうど2点の真ん中にあるから点Aと点Bの中点であると判定する ことと等しく,幾何の本質と離反している.本来は正しい手順で作図ができ ているから,中点が作図できていると判定すべきである.

計算用の座標と表示用の座標を別に持つ.計算用の座標は根号記号を含む分数式で計 算する

– 利点

誤差がでない

分数を浮動小数に落とすことなく計算するので,誤差が絶対に出ない.ただ し表示用座標を生成するときは誤差は生じる.

– 欠点

実装が複雑

一般的なプログラミング言語には分数を扱う方法が用意されていない.そ のため,数を扱う方法から自分で定義しなくてはならない.

幾何の本質と離反している

例えばこの幾何図形の扱いでは点Aと点Bの中点を作図したとき,その中 点は座標が点Aの座標と点Bの座標を足して2で割った位置にあるから, という理由でしか中点と判別できない.これは定規で点AB間の長さを測っ て,ちょうど2点の真ん中にあるから点Aと点Bの中点であると判定する ことと等しく,幾何の本質と離反している.本来は正しい手順で作図ができ ているから,中点が作図できていると判定すべきである.

幾何図形の持つ性質の組み合わせで幾何図形を扱う

– 利点

幾何の本質に則している

例えばこの幾何図形の扱いでは点Aと点Bの中点を作図したとき,その中 点は座標が作図した幾何図形の性質の組み合わせにより点Aと点Bの中 点にあると判定できる.

– 欠点

計算に時間がかかる

この方法以外の3つの方法は,描画されている点・線分・弧を各々個別に扱 うだけでよい.しかしこの方法では更に,弧上の点と弧の中心を結ぶ線分な どの描画されていない点・線分・弧や,線分の組み合わせである三角形など も扱わなければならない.その扱わなければならない要素の数は,点が増え るに従いその点の数の指数関数的に増える.また,関係を導出しなければな らないので,その線分や三角形を組み合わせの数だけ計算が必要になり,点 が増えるに従い,計算量が更に増えてしまう.

実装が複雑

論理的な関係を導出するために,各々の関係からどのような性質が生み出 されるかすべて自分で定義しなければならない.

(8)

以上の利点・欠点に基づいて考えた結果,今回の研究では4番目の「幾何図形の持つ性質 の組み合わせで幾何図形を扱う」方法を採用する.これは幾何学図形の論理的な関係の導 出が,4番目の方法しかできないためである.また,表示用の座標については2番目の方法を 採用した.

1.4 本研究の前提条件

本研究では,点・線分・弧の情報の他に,交点がどの線分・弧の交点であるかを,2006年 度版のHiZyのシステムから受け取ることとした.また,それ以外の情報は受け取らないこ

ととした.2006年度版HiZyのシステムでは内部の浮動小数計算により交点の有無を計算

しているが,その浮動小数計算した交点の有無を受け取らない実装までは着手できなかっ た.本来ならば,交点の有無は,誤差が存在する浮動小数で計算すべきではない.

(9)

第 2 章 設計

この章では,幾何図形の論理的な関係を扱うことを,どのように設計・実装したかを記す.

2.1 概念設計

この節ではどのような考えに基づき,幾何図形とその関係の扱いを設計したかを示す. 全体として,ユークリッド幾何学[12]を元にして考えた扱いである.ただしコンパスと定 規だけで作図することを考え,ユークリッド幾何学に比べ定理や公理などは大幅に省いて ある.また,公理のみで関係の導出を行う場合,どうしても手順が多くなってしまい計算量 が増える.そのため,一部の性質・定理を公理と同様に扱うこととした.わずかではあるが, ヒルベルト幾何学[13]と初等幾何定理の大量生産(I)[14]も参考にしている.

基本的な考えとして,点,線分,弧や角,三角形などの図形を,幾何図形と定め,関係の導出 に必要な性質を考えた.また,合同や線分の長さが等しいなどの,2つ以上の幾何図形の関係 を表す概念を幾何図形の関係と定め,関係の導出に必要な性質を定めた.

2.1.1 幾何図形

幾何図形とは,前述の通り,点,線分,弧や角,三角形などの図形のことである.作図を行う ときに,我々が一般的に図形として認識する対象を幾何図形とした.つまり,図2.1の様に, 幾何図形という集合に点や線分などが含まれる.また,図2.1の線分と半直線・直線の様に, ある幾何図形(ここでは線分)に別の幾何図形(ここでは半直線や直線)が,含まれる場合も ある.この場合,含まれた幾何図形(半直線・直線)は,その外側の幾何図形(線分)の性質を すべて持つ.

すべての幾何図形は座標などの絶対的な位置の情報を持たず,幾何に必要な情報のみを 持つ.

幾何図形は,別の幾何図形と等しいかどうかを判定でき,等しい幾何図形は高々1つしか 存在できない.高々1つしか存在できないことの説明は2.1.3節で詳しく行う.

幾何図形の説明では次の用語を使用する.

指し示す 幾何図形に対し使用する用語で,その幾何図形を参照できる状態にする,という 意味で使う.

{P, Q} PQの集合,という意味で使う.{P, Q}={Q, P}である.また,“幾何図形{P, Q}”

と記述した場合,幾何図形P,幾何図形Qからなる集合を指し示している幾何図形, を意味する.このとき,幾何図形の名前を指定せずに,Pと書いた場合,点Pのことと する.

(10)

ᐞ૗࿑ᒻ

✢ಽ

ඨ⋥✢

ߘߩઁ ⋥✢

図2.1: 幾何図形の概念

hP, Qi PQの順列,という意味で使う.hP, Qi 6=hQ, Piである.また,“幾何図形hP, Qi”

と記述した場合,幾何図形P,幾何図形Qからなる順列を指し示している幾何図形, を意味する.このとき,幾何図形の名前を指定せずに,Pと書いた場合,点Pのことと する.

本節の以下には各々の幾何図形の概念を説明する.

点は,その幾何図形が点である,ということ以外なにも情報を持たない.当然ながら座標 などの絶対的な位置の情報も持たない.ある幾何図形が点である場合,我々はその幾何図形 が我々の想像する作図上での点であると認識できる.

点が,ある幾何図形と等しい幾何図形かどうかは,ある幾何図形と点が同一であるかどう かで判定する.

線分

線分は,点を2つ指し示す.この2点に順番の区別はない.ある幾何図形が線分である場 合,我々はその幾何図形が指し示す2点を結ぶ線分であると認識できる.仮に点P と点Q を指し示す線分が存在した場合,我々は図2.2の様に点Pと点Qを結ぶ線分と認識できる.

P

Q

図2.2: 線分

(11)

線分が,ある幾何図形と等しいかどうかは,ある幾何図形も線分であり,線分とある幾何 図形とで指し示す2点が順不同で等しいかどうかで判定する.つまり,点Pと点Qを指し示 す線分があった場合,それは線分{P, Q}であり,線分{P, Q}および線分{Q, P}と等しい.

半直線

半直線は,線分のすべての性質を持つ.線分と同様に2点を指し示すが,2点には順番の区 別があり,1つ目に指し示す点を半直線の端としている.ある幾何図形が半直線である場合, 我々はその幾何図形が1つ目に指し示す点から始まり,2つ目に指し示す点を通り無限遠ま で伸びる半直線であると認識できる.仮に1つ目の点として点Pを,2つ目の点として点Q を指し示す半直線が存在した場合,我々は図2.3の様に点Pと点Qを結ぶ半直線と認識で きる1.

P

Q

図2.3: 半直線

半直線が,ある幾何図形と等しいかどうかは,ある幾何図形も半直線であり,半直線とあ る幾何図形とで指し示す2点が順序も考慮した上で等しいかどうかで判定する.つまり,1 つ目の点として点Pを,2つ目の点として点Qを指し示す半直線があった場合,それは半直 線hP, Qiであり,半直線hP, Qiと等しく,半直線hQ, Piとは等しくない.

直線

直線は,半直線のすべての性質を持つ.半直線と同様に2点を指し示すが,2点には順番の 区別はない.ある幾何図形が直線である場合,我々はその幾何図形が指し示す2点を通る直 線であると認識できる.仮に点Pと点Qを指し示す直線が存在した場合,我々は図2.4の 様に点P と点Qを通る直線と認識できる.

P

Q

図2.4: 直線

直線が,ある幾何図形と等しいかどうかは,ある幾何図形も直線であり,直線とある幾何

1図ではわかりにくいが,Qを通過する線は無限遠まで伸びているものとする.

(12)

図形とで指し示す2点が順不同で等しいかどうかで判定する.つまり,点Pと点Qを指し示 す直線があった場合,それは直線{P, Q}であり,直線{P, Q}および直線{Q, P}と等しい.

弧は,弧の中心の点と,弧の両端の点との,3つの点を指し示す.弧の両端の点には順番の 区別はない.ある幾何図形が弧である場合,我々はその幾何図形が,その幾何図形の中心の 点を中心とし,両端が幾何図形の両端の点である弧であると認識できる.仮に点Pを中心と して指し示し,点Qと点Rを両端の点として指し示す弧が存在した場合,我々は図2.5の 様に点P を中心とする弧QRと認識できる.

P Q

R

図2.5: 弧

弧が,ある幾何図形と等しいかどうかは,ある幾何図形も弧であり,弧とある幾何図形と で両端の点として指し示している2点が順不同で等しく,中心の点として指し示す点も等し いかどうかで判定する.つまり,中心の点として点Pを,弧の両端の点として点Qと点Rを 指し示す弧があった場合,それは弧hP,{Q, R}iであり,弧hP,{Q, R}iおよび弧hP,{R, Q}i と等しく,弧hQ,{P, R}iとは等しくない.

また弧は,線分を基にした長さの半径で作図した場合,半径の長さの基にした線分として, その線分を保存する.これは,長さを数値化した値で保存できないので,半径の長さの元に なった線分そのものを保存し,長さの代わりとするためである.詳しくは2.1.4節の「弧の 半径の長さの基にした線分が,保存されようとするときの動作」に記した.

円は,弧のすべての性質を持つ.円は円の中心の点を指し示す.また,円周上のある点を弧 の両端として指し示している2.ある幾何図形が円である場合,我々はその幾何図形が,その 幾何図形の中心の点を中心とし,半径がその幾何図形の中心と円周上のある点の距離の長 さの円であると認識できる.仮に点Pを中心として指し示し,点Qを円周上のある点とし て指し示す円が存在した場合,我々は図2.6の様に点Pを中心とする半径の長さP Qの円 と認識できる.

2コンパスで作図を開始した点を円周上のある点としている

(13)

P

Q

図2.6: 円

円が,ある幾何図形と等しいかどうかは,弧と同様に判定する.円の中心として点P を指 し示し,円周上のある点として点Qを指し示す円は,弧の特別な場合として弧hP,{Q, Q}i, つまり弧hP,{Q}iと表すことができる3.

角は,角の頂点の点と,その角の各々の線分上のある点との,3つの点を指し示す.各々の 線分上の点として指し示す点には順番の区別はない4.ある幾何図形が角である場合,我々 はその幾何図形が,線分上のある点,角の頂点,線分上のもう一方のある点からなる角であ ると認識できる.仮に点Pを角の頂点として指し示し,点Qと点Rを各々の線分上の点と して指し示す角が存在した場合,我々は図2.7の様に角QP Rと認識できる.

P Q

R

図2.7: 角

角が,ある幾何図形と等しいかどうかは,ある幾何図形も角であり,角とある幾何図形と で角の頂点の点として指し示す点が等しく,その角とある幾何図形とで各々の線分上の点 として指し示す点が順不同で等しいかどうかで判定する.つまり,角の頂点の点として点P を,各々の線分上の点として点Qと点Rを指し示す角があった場合,それは角hP,{Q, R}i であり,角hP,{Q, R}iおよび角hP,{R, Q}iと等しく,角hQ,{P, R}iとは等しくない.

3{P, Q}の様に書いた場合,集合に2つの要素が必要であるが,例外的に弧だけは,集合の部分に含まれる 要素が1つだけの場合も許容し,その場合の弧を円としている.

4本来は順番の区別が角の広い方か狭い方かを判別するために必要である.だが本研究では三角形の合同条 件および,三角形の合同から導かれる性質にしか角を使用していないので,一意に「狭い方の角」と断定でき るため,順番は区別しなかった.

(14)

多角形

多角形と,その性質を持つ四角形と三角形の説明に,次の用語を使用する.

多角形の辺 多角形の隣り合う頂点の点を指し示す線分の集合.多角形はn角形となる場合 がある(nは3以上の整数).

多角形の角 多角形のある頂点の点を角の頂点の点として指し示し,その両隣の頂点を角の 各々の線分上の点として指し示す角の集合.多角形はn角形となる場合がある(nは 3以上の整数).

[P, Q, R, S] 循環した順列P QRSを表す.この[P, Q, R, S]の場合,順番を変えずに順序をず らした,[P, Q, R, S],[Q, R, S, P],[R, S, P, Q],[S, P, Q, R],および,その逆向きの順列で ある,[P, S, R, Q],[Q, P, S, R],[R, Q, P, S],[S, R, Q, P]と等しい.また,“多角形[P, Q, R, S]”

と記述した場合,幾何図形P,幾何図形Q,幾何図形R,幾何図形Sからなる循環した 順列を指し示している多角形,を意味する.なお,幾何図形の名前を指定せずに,Pと 書いた場合,点Pのこととする.

多角形は頂点の数を保持し,頂点の数だけの点を指し示す.その点には順番の区別がある. ある幾何図形が多角形である場合,我々はその幾何図形が,その幾何図形の指し示している 点すべてを頂点とする多角形であり,その点の並びは1つ目に指し示す点から昇順である と認識できる.頂点の数をnとすると,n角形と呼ばれる場合もある.また多角形は,多角形 の角の大きさが等しいかどうか,および多角形の辺の長さが等しいかどうか,を保持する. 仮に順に点P,点Q,R,S,T を指し示す多角形が存在した場合,我々は図2.8の様

に五角形P QRST と認識できる.

P

Q S

T

R

図2.8: 多角形

多角形が,ある幾何図形と等しいかどうかは,ある幾何図形も多角形であり,頂点の数n 番目の点と1つ目の点が隣り合った点と考えた場合に,多角形と同じ順番で,もしくは多角 形と逆の順番である幾何図形に等しい点が並んで指し示されているかどうかで判定する. 並びの開始とする点は何番目の点を指定しても良い.つまり,点P,Q,R,S,T を指し示す多角形があった場合,[P, Q, R, S, T]である.[P, Q, R, S, T]がどのような幾何図 形と等しいと判定されるかは,[P, Q, R, S]の用語説明を参照されたい.

(15)

四角形

四角形は,多角形のすべての性質を持ち,頂点の数は4で固定である.ある幾何図形が四 角形である場合,我々はその幾何図形が,その幾何図形の指し示している4点を頂点とする 四角形であり,その点の並びは1つ目に指し示す点から昇順であると認識できる.四角形は, 向かい合う2辺が各々平行かどうか,向かい合う2辺の内少なくとも片方の組は平行かどう か,を保持する.また四角形は多角形から性質を引き継ぎ,四角形の角の大きさが等しいか どうか,および四角形の辺の長さが等しいかどうか,を保持する.仮に順に点P,点Q,R,Sを指し示す四角形が存在した場合,我々は図2.9の様に四角形P QRSと認識できる.

P

Q

S R

図2.9: 四角形

四角形が,ある幾何図形と等しいかどうかは,多角形と同様に判定する.

三角形

三角形は,多角形のすべての性質を持ち,頂点の数は3で固定である.ある幾何図形が三 角形である場合,我々はその幾何図形が,その幾何図形の指し示している3点を頂点とする 三角形であり,その点の並びは1つ目に指し示す点から昇順であると認識できる.三角形 は,3辺の内2辺の長さが等しいかどうか,3つの角に1つでも直角と等しい角が存在するか どうか5,を保持する.また三角形は多角形から性質を引き継ぎ,三角形の角の大きさが等し いかどうか,および三角形の辺の長さが等しいかどうか,を保持する.仮に順に点P,点Q,Rを指し示す三角形が存在した場合,我々は図2.10の様に三角形P QRと認識できる.

P

Q R

図2.10: 三角形

5この性質については2.1.2節の角の大きさが等しい関係が,直角と対象の角を同時に指し示すかどうか, いう意味である.

(16)

三角形が,ある幾何図形と等しいかどうかは,多角形と同様に判定する.

2.1.2 幾何図形の関係

幾何図形の関係は2つ以上の幾何図形を指し示し,その関係性を表す.幾何図形の関係 はすべて,同値関係であり,幾何図形の関係から指し示される幾何図形6には同値律が成り 立つ.

幾何図形の関係は等しい幾何図形の関係かどうかを判定でき,高々1つしか等しい幾何図 形の関係は存在できない.高々1つしか存在できないことの説明は2.1.4節で詳しく行う.

幾何図形の関係は,別の同種の幾何図形の関係を内包するかどうか判定でき,内包される 幾何図形の関係は存在できない.詳しくは2.1.4節で説明する.また,2つの幾何図形の関係 が幾何の性質から1つに結合できる場合,必ず1つに結合される.この必ず1つに結合され ることの説明も2.1.4で詳しく行う.

幾何図形の関係の説明では次の用語を使用する.

指し示す 幾何図形に対し使用する用語で,その幾何図形を参照できる状態にする,という 意味で使う.

{P, Q} PQの集合,という意味で使う.{P, Q}={Q, P}である.また,“幾何図形の関係

{P, Q}”と記述した場合,幾何図形P,幾何図形Qからなる集合を指し示している幾

何図形の関係,を意味する.このとき,幾何図形の名前を指定せずに,Pと書いた場合, 点Pのこととする.

hP, Qi PQの順列,という意味で使う.hP, Qi 6=hQ, Piである.また,“幾何図形の関係

hP, Qi”と記述した場合,幾何図形P,幾何図形Qからなる順列を指し示している幾

何図形の関係,を意味する.このとき,幾何図形の名前を指定せずに,Pと書いた場合, 点Pのこととする.

本節の以下は各々の幾何図形の関係の概念の説明である.

線分の長さが等しい関係

2つ以上の線分を指し示す.指し示す線分に順番の区別はない.ある幾何図形の関係が線 分の長さが等しい関係である場合,我々は,その幾何図形の関係が指し示すすべての線分の 長さが,等しいと認識できる.

線分の長さが等しい関係が,ある幾何図形の関係と等しいかどうかは,ある幾何図形の関 係が線分の長さが等しい関係であり,その線分の長さが等しい関係とある幾何図形の関係 とで,指し示す線分が順不同ですべて等しいかどうかで判定する.

線分の長さが等しい関係が,ある幾何図形の関係を内包するかどうかは,ある幾何図形の 関係が線分の長さが等しい関係であり,ある幾何図形の関係が指し示す線分がすべて,その 線分の長さが等しい関係の指し示す線分のいずれかと等しいかどうかで判定する.

6ただし,線分に乗っている関係に指し示される線分と,弧に乗っている関係に指し示される弧とは,関係の 内容を定める幾何図形であり,同値関係には直接関係ない.

(17)

つまり,線分l,線分m,線分nが線分の長さが等しい関係に指し示される場合,線分の長 さが等しい関係{線分l,線分m,線分n}と同等である.

角の大きさが等しい関係

2つ以上の角を指し示す.指し示す角に順番の区別はない.ある幾何図形の関係が角の大 きさが等しい関係である場合,我々は,その幾何図形の関係が指し示すすべての角の大きさ が,等しいと認識できる.

角の大きさが等しい関係が,ある幾何図形の関係と等しいかどうかは,ある幾何図形の関 係が角の大きさが等しい関係であり,その角の大きさが等しい関係とある幾何図形の関係 とで,指し示す角が順不同ですべて等しいどうかで判定する.

角の大きさが等しい関係が,ある幾何図形の関係を内包するかどうかは,ある幾何図形の 関係が角の大きさが等しい関係であり,ある幾何図形の関係が指し示す角がすべて,その角 の大きさが等しい関係の指し示す角のいずれかと等しいかどうかで判定する.

つまり,角l,m,nが角の大きさが等しい関係に指し示される場合,角の大きさが等 しい関係{l,m,n}と同等である.

なお,指し示す角が2.1.3節の幾何図形の集合から参照できない場合は,幾何図形の集合 に角を追加してから,その角を指し示す.

また,直角を表現する場合には,直角という幾何図形の角を,角の大きさが等しい関係 から指し示すことで表現する.角l,m,nが直角の場合は,角の大きさが等しい関係 {l,m,n,直角}と表現することになる.直角は幾何図形の角であるが,概念として 存在するだけで,幾何図形の集合に属さず,点を1点も指し示さない.直角が,ある幾何図形 と等しい幾何図形かどうかは,ある幾何図形が直角であるかどうかで判定する.

弧の半径の長さが等しい関係

2つ以上の弧を指し示す.指し示す弧に順番の区別はない.ある幾何図形の関係が弧の半 径の長さが等しい関係である場合,我々は,その幾何図形の関係が指し示すすべての弧の半 径の長さが,等しいと認識できる.

弧の半径の長さが等しい関係が,ある幾何図形の関係と等しいかどうかは,ある幾何図形 の関係が弧の半径の長さが等しい関係であり,その弧の半径の長さが等しい関係とある幾 何図形の関係とで,指し示す弧が順不同ですべて等しいどうかで判定する.

弧の半径の長さが等しい関係が,ある幾何図形の関係を内包するかどうかは,ある幾何 図形の関係が弧の半径の長さが等しい関係であり,ある幾何図形の関係が指し示す弧がす べて,その弧の半径の長さが等しい関係の指し示す弧のいずれかと等しいかどうかで判定 する.

つまり,弧l,m,nが弧の半径の長さが等しい関係に指し示される場合,弧の半径の 長さが等しい関係{l,m,n}と同等である.

(18)

線分に乗っている関係

1つの線分と1つ以上の点を指し示す.指し示す点に順番の区別はない.ある幾何図形の 関係が線分に乗っている関係である場合,我々は,その幾何図形の関係が指し示すすべての 点が,その幾何図形の関係が指し示す線分上に乗っている認識できる.

線分に乗っている関係が,ある幾何図形の関係と等しいかどうかは,ある幾何図形の関係 が線分に乗っている関係であり,その線分に乗っている関係とある幾何図形の関係とで,指 し示す点が順不同ですべて等しく,指し示す線分が等しいかどうかで判定する.

線分に乗っている関係が,ある幾何図形の関係を内包するかどうかは,ある幾何図形の関 係が線分に乗っている関係であり,ある幾何図形の関係が指し示す点がすべて,その線分に 乗っている関係の指し示す点のいずれかと等しく,指し示す線分が等しいかどうかで判定 する.

つまり,線分l,m,n,が線分に乗っている関係に指し示される場合,線分に乗ってい る関係h線分l,{m, n}iと同等である.

弧に乗っている関係

1つの弧と1つ以上の点を指し示す.指し示す点に順番の区別はない.ある幾何図形の関 係が弧に乗っている関係である場合,我々は,その幾何図形の関係が指し示すすべての点が, その幾何図形の関係が指し示す弧上に乗っている認識できる.

弧に乗っている関係が,ある幾何図形の関係と等しいかどうかは,ある幾何図形の関係が 弧に乗っている関係であり,その弧に乗っている関係とある幾何図形の関係とで,指し示す 点が順不同ですべて等しく,指し示す弧が等しいかどうかで判定する.

弧に乗っている関係が,ある幾何図形の関係を内包するかどうかは,ある幾何図形の関係 が弧に乗っている関係であり,ある幾何図形の関係が指し示す点がすべて,その弧に乗って いる関係の指し示す点のいずれかと等しく,指し示す弧が等しいかどうかで判定する.

つまり,弧l,m,n,が弧に乗っている関係に指し示される場合,弧に乗っている関係 hl,{m, n}iと同等である.

相似

2つ以上の多角形を指し示す.指し示す多角形に順番の区別はない.しかし,各々の多角 形の点の順番は指定でき,その点の順番は区別される.ある幾何図形の関係が相似である場 合,我々は,その幾何図形の関係が指し示すすべての多角形が,相似であると認識できる.

相似が,ある幾何図形の関係と等しいかどうかは,ある幾何図形の関係が相似であり,そ の相似とある幾何図形の関係とで,指し示す多角形が順不同ですべて等しいかどうかで判 定する.

相似が,ある幾何図形の関係を内包するかどうかは,ある幾何図形の関係が相似であり, ある幾何図形の関係が指し示す多角形がすべて,その相似の指し示す多角形のいずれかと 等しいかどうかで判定する.

つまり,多角形l,多角形m,多角形nが相似に指し示される場合,相似{多角形l,多角 形m,多角形n}と同等である.

(19)

合同

相似の性質をすべて持ち,2つ以上の多角形を指し示す.指し示す多角形に順番の区別は ない.しかし,多角形の点の順番を指定でき,その順番は区別される.ある幾何図形の関係が 合同である場合,我々は,その幾何図形の関係が指し示すすべての多角形が,合同であると 認識できる.

合同が,ある幾何図形の関係と等しいかどうかは,ある幾何図形の関係が合同であり,そ の合同とある幾何図形の関係とで,指し示す多角形が順不同ですべて等しいかどうかで判 定する.

合同が,ある幾何図形の関係を内包するかどうかは,ある幾何図形の関係が合同であり, ある幾何図形の関係が指し示す多角形がすべて,その合同の指し示す多角形のいずれかと 等しいかどうかで判定する.

つまり,多角形l,多角形m,多角形nが合同に指し示される場合,合同{多角形l,多角 形m,多角形n}と同等である.

2.1.3 幾何図形の複数の扱い

基本

幾何図形の複数の扱いでは,幾何図形の集合を定義し,その集合からは存在するすべての 幾何図形を参照できる.幾何図形の集合から参照できない幾何図形は,存在しないことにな る.ただし直角だけは例外的に幾何図形の集合から参照できないものの,存在することがで きる.直角については詳しくは2.1.2節の角の大きさが等しい関係に記した.

また,幾何図形の集合から参照される幾何図形の個数は高々有限個である.幾何図形の点 の個数を仮にn個とした場合の点以外の幾何図形の存在しうる個数の上限は表2.1の通り となる.表2.1の個数はすべてnの有限倍であり,nは,無限個の点を表現する方法がないの で無限にはならない7.よって,幾何図形の集合から参照される幾何図形の個数の最大値で ある,nと表2.1の個数の合計は,高々有限個である.

幾何図形の複数の扱いの説明では次の用語を使用する.

指し示す 幾何図形に対し使用する用語で,その幾何図形を参照できる状態にする,という 意味で使う.

幾何図形の追加の手順

幾何図形を幾何図形の集合に追加しようとするとき,幾何図形の集合から参照できる幾 何図形の中に,追加しようとしている幾何図形と等しい幾何図形があれば追加は行われな い.それ以外の場合は,追加が行われる.これが,幾何図形の追加の手順である.

71つの点を2つ以上の幾何図形とし,無限個の点ができる場合が考えられるが,このことは後述の幾何図 形の追加により,起こりえないことになっている.

(20)

幾何図形の種類 存在しうる個数の上限(個) 線分 nC2

半直線 nP2 直線 nC2

n−1C2

nP2

n−1C2

多角形 Pn

i=3nCi 四角形 nC4 三角形 nC3

表2.1: 点の個数をnとした場合の,各幾何図形の個数の上限

線分を半径とする弧の検索

幾何図形の集合から,ある線分がどの弧の半径かを検索することができる.ただし,ある線 分が複数の弧の半径となっている場合は,検索される弧はその複数の弧の中の1つである.

三角形の追加

線分が幾何図形の集合に追加された場合,その線分を含む三角形が作れるか調べ,作れる 場合はその三角形を作り,幾何図形の追加の手順を経てその三角形を追加する.ただし,三 角形として作られるものは,3つの頂点すべてが線分で結ばれているもののみである.すべ ての直線上に並んでいない3点の組み合わせを,三角形としない理由は,計算量の問題で, 詳しくは2.3節に記述した.

三角形の追加は計算量が多いので,生成させなくすることも可能である.

4つ以上の角を持つ多角形の追加

4つ以上の角を持つ多角形の追加は行わない.その理由はまず,頂点をn個もつ多角形は, 三角形(n2)個で表すことができ,三角形の追加ができれば,4つ以上の角を持つ多角形の 追加はほとんどの場合において必要ないからである.また,4つ以上の角を持つ多角形の追 加は非常に計算量が多くなるので,計算量を少なくするためにも省いた.このことは2.3節 に詳しく記述した.

三角形の状態の更新

幾何図形の集合に線分か弧を追加するとき,三角形の状態の更新が行われる.三角形の状

態とは2.1.1節の三角形の項目に記述されている,3辺の内2辺の長さが等しいかどうか,3

つの角に1つでも直角と等しい角が存在するかどうか,三角形の角の大きさが等しいかど

(21)

うか,および三角形の辺の長さが等しいかどうか8,を指す.

三角形の状態の更新は,幾何図形の関係を参照し,三角形の状態を新しい状態にする.こ のとき,同時に三角形の状態に対応する線分の長さが等しい関係と,角の大きさが等しい関 係とが生成される9.この操作は,2.1.4節の合同の追加および直角に関する幾何図形の関係 の追加と共に,すべての三角形の状態が新しい状態にならないかつ,幾何図形の関係の更新 が行われなくなるまで,繰り返される.

三角形の状態の更新は計算量が多いので,三角形の状態の更新をさせなくすることも可 能である.

2.1.4 幾何図形の関係の複数の扱い

基本

幾何図形の関係の複数の扱いでは,幾何図形の関係の集合を定義し,その集合からは存在 するすべての幾何図形の関係を参照できる.幾何図形の関係の集合から参照できない幾何 図形の関係は,存在しないことなる.

また,幾何図形の関係の集合から参照される幾何図形の関係の個数は高々有限個である. すべての幾何図形の関係は幾何図形の数に対する組み合わせの数で表すことができ,幾何 図形の個数が有限なので,その組み合わせの個数も有限である10,よって幾何図形の関係の 個数は,高々有限個である.

幾何図形の関係の複数の扱いの説明では次の用語を使用する.

指し示す 幾何図形に対し使用する用語で,その幾何図形を参照できる状態にする,という 意味で使う.

幾何図形の関係の追加の手順

幾何図形の関係を幾何図形の関係の集合に追加しようとするとき,幾何図形の関係の集 合から参照できる幾何図形の関係の中に,追加しようとしている幾何図形の関係と等しい ものがあるか,追加しようとしている幾何図形の関係を内包しているものがあれば,追加は 行われない.それ以外の場合は,追加が行われる.これが,幾何図形の関係の追加の手順であ る.この動きは,union-findのデータ構造を統合する動きと等しい.

幾何図形の関係の集合から参照できる幾何図形の関係と,追加しようとしている幾何図 形の関係とが,同じ種類の幾何図形の関係で,ともに同じ幾何図形を指し示しているなら ば11,2つの幾何図形の関係は結合され追加されようとする.この結合された幾何図形の関 係は,再帰的に追加されようとする,ということである.また,ここで言う結合とは,2つの幾 何図形の関係を集合としてみなした場合の,集合の和を作る操作を表す(例:線分ABと線 分CDが線分の長さが等しい関係に指し示され既に参照できるとし,線分CDと線分EF

8ただし後者2つの状態は三角形では常に等しくなるので,実際には3つの状態しか保持してないことと同 じである.

9角の大きさは,長さが等しい辺の向かい合う角同士で等しくなる.

10幾何図形を同じ組み合わせとする幾何図形が2つ以上存在できる場合は,幾何図形の関係の数は無限にな るが,このことは幾何図形の関係の追加の手順より,起こりえないことになっている.

11ただし,線分に乗っている関係と弧に乗っている関係は,指し示す線分・弧が必ず等しくなくてはいけない.

(22)

が線分の長さが等しい関係に指し示され追加しようとしている場合があるとする.この場 合2つの線分の長さが等しい関係は連結され,線分AB,線分CD,線分EFを指し示す線 分の長さが等しい関係が追加されようとする).

合同の追加

合同の生成は2.1.3節の三角形状態の更新で呼び出され,条件に合う三角形の組が存在し たときに,合同を幾何図形の関係の追加の手順を経て追加する.その条件は三辺合同・二辺 夾角合同・二角夾辺合同を元に考案した.考案した条件は,次の3つである.

1. 対応する3つの辺の線分が等しい長さの関係にある

2. 対応する2つの辺の線分が等しい長さの関係かつ,その2辺の線分が指し示す3点12か らなる角が角の等しい大きさが等しい関係にある

3. 対応する1つの辺の線分が等しい長さの関係かつ,その1辺の線分が指し示す2点と, 三角形のもう1つの指し示す点とからなる,2つの角がそれぞれ角の大きさが等しい 関係にある

この3つの条件のうちどれか1つの条件でも当てはまれば,その三角形の組を指す合同 を,幾何図形の関係の追加の手順を経て追加する.

なお,合同の追加は計算量が多いので,合同の追加をさせなくすることも可能である. 図2.11を使用して,三辺合同・二辺夾角合同・二角夾辺合同を説明する.図2.11では赤 線(白黒で印刷されている場合は太線)の箇所の辺・角の合同がわかっているとし,破線の 箇所は合同かどうかは未知である.図2.11の三角形P QRに対し,三角形ABCは,左から 三辺合同・二辺夾角合同・二角夾辺合同になっており,この三角形ABCはすべて,三角形 P QRと合同になる.

P

Q R

A

B C

A

B C

A

B C

図2.11: 合同が生成される条件

12三角形なので必ず1点は共通の点を指し示している.

(23)

直角に関する幾何図形の関係の追加

直角に関する幾何図形の関係の追加は,2.1.3節の三角形状態の更新で呼び出され,条件に 合う角が存在した場合,条件に合う角と直角を指し示す角の大きさが等しい関係を,幾何図 形の関係の追加の手順を経て追加する.その条件とは,次の2つの条件を満たす場合である.

1. 合同が指し示す2つの三角形の,1辺の線分のみが等しい

2. 等しい線分が指し示さず,2つの三角形が指し示す2つの点が,等しい線分の指し示す どちらかの点と共に,線分に乗っている関係に指し示される

そのときに条件に合う角とは,その三角形の角の等しい線分で前述の線分に乗っている 関係に指し示される点を頂点とする2つの角である.

図2.12を使用して説明すると,合同が指し示す2つの三角形は三角形ABC と三角形 ADCとなる.等しい1辺の線分は,線分ACとなり,その線分が指し示さず2つの三角形 が指し示す2つの点は点Bと点Dとなる.この図2.12のとき,点B,A,Dを指し示 す線分に乗っている関係が,既に生成されているので,上記の条件に合う角が存在すると判 断される.そして図2.12の場合,条件に合う角は角BACと角DACとなり,この2つの角 と直角を指し示す角の大きさが等しい関係を,幾何図形の関係の集合に,幾何図形の関係の 追加の手順を経て追加する.

D A

C

B

図2.12: 直角と判定される角の条件

弧の半径の長さの基にした線分が,保存されようとするときの動作

弧の半径の長さの基にした線分が保存されようとするときに,幾何図形の関係の集合に 対し,ある操作が行われる.その操作の流れを図にすると,図2.13の様なフローチャートに なる.図2.13を言葉で説明すると,まず,その弧にすでに半径の長さを基にした線分が保存 されているか調べる.すでに保存されていた場合,その保存されていた線分を指し示す,線 分の長さが等しい関係が存在するか幾何図形の関係の集合を調べる.該当する線分の長さ が等しい関係が存在した場合は,その線分の長さが等しい関係は保存されようとしている 線分も指し示される.該当する線分の長さが等しい関係が存在しない場合は,保存されてい た線分と,保存されようとしている線分とを指し示す線分の長さが等しい関係が,幾何図形 の関係の集合に追加されようとする.半径の長さを基にした線分が保存されていなかった 場合は,保存されようとしている線分が,半径の長さを基にした線分として保存される.

(24)

以後,この動作が行われるときは,“半径の長さの基にした線分として保存されようとす る”と記述することとする.

2.1.5 作図道具による,幾何図形および幾何図形の関係の生成

作図道具の操作により,幾何図形および幾何図形の関係が生成される.

以下は各々の作図道具による幾何図形および幾何図形の関係の生成の詳細である.なお, ペンは定規とまったく同じなのでここでは説明しない.また,消しゴムには対応してない. 作図道具についての簡単な説明は1.2.2節を参照されたい.

作図道具による,幾何図形および幾何図形の関係の生成の説明では次の用語を使用する. 指し示す 幾何図形に対し使用する用語で,その幾何図形を参照できる状態にする,という

意味で使う.

生成する 幾何図形および幾何図形の関係に対し使用する用語で,幾何図形の集合および幾 何図形の関係の集合に,新しい幾何図形および幾何図形の関係を追加しようとする, という意味で使う.

{P, Q} PQの集合,という意味で使う.{P, Q}={Q, P}である.また,“幾何図形{P, Q}”

と記述した場合,幾何図形P,幾何図形Qからなる集合を指し示している幾何図形, を意味する.このとき,幾何図形の名前を指定せずに,Pと書いた場合,点Pのことと する.幾何図形の関係に対しても同様の記号を使う.

hP, Qi PQの順列,という意味で使う.hP, Qi 6=hQ, Piである.また,“幾何図形hP, Qi”

と記述した場合,幾何図形P,幾何図形Qからなる順列を指し示している幾何図形, を意味する.このとき,幾何図形の名前を指定せずに,Pと書いた場合,点Pのことと する.幾何図形の関係に対しても同様の記号を使う.

ピンによる,幾何図形および幾何図形の関係の生成

ピンは点を作図する作図道具である.ピンによって点が作図された場合,次の様に幾何図 形および幾何図形の関係が生成される.

必ず幾何図形の点が生成される.

ピンが線分および弧にスナップした状態で点を作図した場合に,作図した点とスナッ プした幾何図形を指し示す,線分に乗っている関係および弧に乗っている関係が生成 される.また,それぞれの線分に乗っている関係・弧に乗っている関係の指し示す点 すべてと,作図された点との組が指し示す線分・弧13が生成される.

ピンが弧にスナップした状態で点を作図した場合に,ピンで作図した点と弧の中心の 点を指し示す線分が生成される.また,生成された線分を,その弧の半径の長さの基に した線分として保存されようとする.

13弧の場合,中心が指し示す点はスナップしている弧と同じ点となる

(25)

ᒐߩඨᓘߩ㐳ߐߩၮߦߒ ߚ✢ಽߩ଻ሽߩ㐿ᆎ

ߔߢߦᒐߩඨᓘߩ㐳ߐ ߩၮߦߒߚ✢ಽ߇଻ሽ ߐࠇߡ޿ࠆ߆㧫

଻ሽߒࠃ߁ߣߒߡ޿ࠆ✢ಽ ࠍޔᒐߩඨᓘߩ㐳ߐߩၮߦߒ ߚ✢ಽߣߒߡ଻ሽޕ

଻ሽߐࠇߡ޿ࠆ✢ಽࠍᜰ ߒ␜ߔޔ✢ಽߩ㐳ߐ߇╬

ߒ޿㑐ଥ߇ሽ࿷ߔࠆ߆㧫

଻ሽߒࠃ߁ߣߒߡ޿ࠆ✢ಽߣޔ ᒐߩඨᓘߩ㐳ߐߩၮߦߒߚ✢ಽ ࠍᜰߒ␜ߔ✢ಽߩ㐳ߐ߇╬ߒ޿

㑐ଥࠍ↢ᚑޕ

଻ሽߒࠃ߁ߣߒߡ޿ࠆ✢ಽ ࠍޔߘߩ✢ಽߩ㐳ߐ߇╬ߒ޿

㑐ଥߦㅊടޕ

⚳ੌ

[GU

[GU

PQ

PQ

図 2.13: 弧の半径の長さの基にした線分が,保存されようとするときの流れ

(26)

なお,これらの場合分けは複合することがあり,複合した場合,すべての場合での幾何図 形および幾何図形の関係が生成される.

HiZyの作図道具を例として,直感的にわかりにくい場合の説明をする.

ピンが線分にスナップした状態で点を作図した場合とは,図2.14の様な場合である.この 場合,点cが生成され,線分に乗っている関係h線分{a, b},{c}iも生成され,線分{a, c}と 線分{b, c}も生成される.

c a

b

図2.14: ピンが線分にスナップした状態で点を作図した場合

ピンが弧にスナップした状態で点を作図した場合とは,図2.15の様な場合である.この 場合,点dが生成され,弧に乗っている関係hha,{b, c}i,{d}iも生成され,弧ha,{b, d}iと 弧ha,{c, d}iも生成される.

d

c b

a

図 2.15: ピンが弧にスナップした状態で点を作図した場合

定規による,幾何図形および幾何図形の関係の生成

定規は線分を作図する作図道具である.定規によって線分が作図された場合,次の様に幾 何図形および幾何図形の関係が生成される.

必ず線分の両端の点と,その2点とを指し示す幾何図形の線分が生成される.その際, 作図された線分と両端の点を指し示す線分に乗っている関係が,生成される.

定規で線分を作図したときに,HiZyのシステムからその線分と他の図形との交点の 出現が知らされた場合,交点の点がまず生成される.次に,交点の点と作図した線分

(27)

を指し示す線分に乗っている関係が生成される.また,交点の点とHiZyのシステム から受け取った交わった線分および弧を指し示す,線分に乗っている関係および弧に 乗っている関係が生成される.弧に乗っている関係が生成された場合は,その弧の中 心の点と交点の点を結ぶ線分が生成される.更に,弧の中心の点と交点の点を結ぶ線 分をその弧の半径の長さの基にした線分として保存されようとする.それぞれの線分 に乗っている関係・弧に乗っている関係の指し示す点すべてと,交点の点との組が指 し示す線分・弧14も生成される.

定規が1点または2点にスナップして線分を作図した場合に,スナップした点と作図 した線分を指し示す線分に乗っている関係が生成される.

なお,これらの場合分けは複合することがあり,複合した場合,すべての場合での幾何図 形および幾何図形の関係が生成される.

HiZyの作図道具を例として,直感的にわかりにくい場合の説明をする.

特に条件もなく線分を作図した場合とは,図2.16である.この場合,点a,bおよび線分 {a, b}が生成され,線分に乗っている関係h線分{a, b},{a, b}iも生成される.実際のHiZy では定規の下端に沿って線分が引かれる.しかしここでは,見易さを考慮し定規と線分を離 して図に示した.以後こうした図示では,定規で線分を作図した後に,定規を平行移動した 図の形で示す.

b

a

図2.16: 特に条件もなく線分を作図した場合

線分を作図したときに,HiZyのシステムからその線分と他の線分との交点の出現が知ら された場合とは,図2.17の様な場合である.この場合,点c,dおよび線分{c, d},交点の点 として点eが生成され,線分に乗っている関係h線分{c, d},{c, d}iおよび,線分に乗ってい る関係h線分{c, d},{e}iも生成される.更に,線分に乗っている関係h線分{a, b},{e}iと, 線分{c, e},線分{d, e},線分{a, e},線分{b, e},も生成される.

14弧の場合,中心が指し示す点はスナップしている弧と同じ点となる

(28)

d

c

e

b a

図 2.17: HiZyのシステムから他の線分との交点の出現が知らされた場合

線分を作図したときに,HiZyのシステムからその線分と他の弧との交点の出現が知らさ れた場合とは,図2.18の様な場合である.この場合,点d,eおよび線分{d, e},交点の点と して点fが生成され,線分に乗っている関係h線分{d, e},{d, e}iおよび,線分に乗っている 関係hと線分{d, e},{f}iも生成される.更に,弧に乗っている関係hha,{b, c}i,{f}iと, 線分{d, f},線分{e, f},ha,{b, f}i,ha,{c, f}i,も生成される.HiZy上では描画されて いない線分であるが,線分{a, f}も生成され,弧ha,{b, c}iの半径の長さの基にした線分と して保存されようとする.

e

d

f

c

b a

図 2.18: HiZyのシステムから他の弧との交点の出現が知らされた場合

定規がある点aにスナップして線分を作図した場合とは,図2.19の様な場合である.こ の場合,点b,cおよび線分{b, c}が生成され,線分に乗っている関係h線分{b, c},{b, c}i および,線分に乗っている関係h線分{b, c},{a}iも生成される.2点にスナップした場合は, 仮にスナップした点を点aと点dとすると,線分に乗っている関係h線分{b, c},{a}iの代 わりに,線分に乗っている関係h線分{b, c},{a, d}iが生成される.

(29)

c

b

a

図2.19: 定規が1点にスナップして線分を作図した場合

コンパスによる,幾何図形および幾何図形の関係の生成

コンパスは弧を作図する作図道具である.コンパスにより弧が作図された場合,次の様に 幾何図形および幾何図形の関係が生成される.

必ず中心の点と両端の点が生成され,中心の点を弧の中心の点,両端の点を弧の両端 の点として指し示す幾何図形の弧が生成される.

コンパスで弧を作図したときに,HiZyのシステムからその弧と他の図形との交点の 出現が知らされた場合,交点の点がまず生成される.次に,交点の点と作図した弧を指 し示す弧に乗っている関係が生成される.その際,交点の点と作図した弧の中心の点 を指し示す線分も生成され,その弧の半径の長さの基にした線分として保存されよう とする.また,交点の点とHiZyのシステムから受け取った交わった線分および弧を 指し示す,線分に乗っている関係および弧に乗っている関係が生成される.弧に乗っ ている関係が生成された場合は,その弧の中心の点と交点の点を結ぶ線分が生成され る.更に,弧の中心の点と交点の点を結ぶ線分をその弧の半径の長さの基にした線分 として保存されようとする.それぞれの線分に乗っている関係・弧に乗っている関係 の指し示す点すべてと,交点の点との組が指し示す線分・弧15も生成される.

コンパスの針の部分を点にスナップさせて図形を描いた場合,生成される幾何図形の 弧の中心が指し示す点は,スナップさせた点となる.

コンパスの鉛筆の部分を点にスナップさせて図形を描いた場合,作図された弧とス ナップさせた点を指し示す弧に乗っている関係が生成される.同時にスナップさせた 点と弧の中心を指し示す線分も生成され,中心の点を弧の中心の点とし,弧の両端の 点と,スナップした点との組が指し示す弧も生成される.

コンパスの幅が変更されていないかどうかが保持され,変更されていなかった場合, 以前にコンパスの幅を変更せずに作図した弧と作図された弧を指し示す弧の半径の 長さが等しい関係が生成される.ただし,以前にコンパスの幅を変更せずに作図した 弧が存在しない場合は,弧の半径の長さが等しい関係も生成されない.

15弧の場合,中心が指し示す点はスナップしている弧と同じ点となる

(30)

コンパスの針と鉛筆を点にスナップしたときから,コンパスの幅を変更せずに弧を作 図した場合,弧の半径の長さの基にした線分として,スナップした2点を指し示す線 分が保存されようとする.ただし,その線分が存在しない場合は線分は保存されない. また,弧の半径の長さの基にした線分としてその線分が指し示されていた場合,その 弧と作図した弧を指し示す弧の半径の長さが等しい関係が生成される.

弧の両端の点が重なる場合は,弧は円として生成される.なお,円は弧でもあり,弧の すべての性質を持つので,コンパスによる,幾何図形および幾何図形の関係の生成の 際の他の動作でも,問題は起こらない.

なお,これらの場合分けは複合することがあり,複合した場合,すべての場合での幾何図 形および幾何図形の関係が生成される.

HiZyの作図道具を例として,直感的にわかりにくい場合の説明をする.図では,図2.20の 様な矢印があった場合,矢印の右側が後の操作とし,図2.21の様な枠線が灰色になってい る点があった場合,スナップしている点とする.

図2.20: 前後関係を表す矢印

図2.21: スナップしている点

特に条件もなく弧を作図した場合とは,図2.22の様な場合である.この場合,点a,b,cおよび弧ha,{b, c}iが生成され,弧に乗っている関係hha,{b, c}i,{b, c}iも生成される.

c

a

b

図2.22: 特に条件もなく弧を作図した場合

(31)

弧を作図したときに,HiZyのシステムからその弧と他の線分との交点の出現が知らされ た場合とは,図2.23の様な場合である.この場合,点c,d,eおよび弧hc,{d, e}i,交点 の点として点fが生成され,弧に乗っている関係hhc,{d, e}i,{c, d}iおよび,弧に乗って いる関係hhc,{d, e}i,{f}iも生成される.更に,線分に乗っている関係h線分{a, b},{f}i と弧hc,{d, f}i,hc,{e, f}i,線分{a, f},線分{b, f}も生成される.HiZy上では描画され ていない線分であるが,線分{c, f}も生成され,弧hc,{d, e}iの半径の長さの基にした線分 として保存されようとする.

e

c

d a

b

f

図 2.23: HiZyのシステムから他の線分との交点の出現が知らされた場合

弧を作図したときに,HiZyのシステムからその弧と他の弧との交点の出現が知らされた 場合とは,図2.24の様な場合である.この場合,点d,e,fおよび弧hd,{e, f}i,交点の 点として点gが生成され,弧に乗っている関係hhd,{e, f}i,{e, f}iおよび,弧に乗って いる関係hhd,{e, f}i,{g}iも生成される.更に,弧に乗っている関係hha,{b, c}i,{g}i と,弧hd,{e, g}i,hd,{f, g}i,ha,{b, g}i,ha,{c, g}i,も生成される.HiZy上では描画 されていない線分であるが,線分{d, g},線分{a, g}も生成され,それぞれ弧hd,{e, f}i,

ha,{b, c}iの半径の長さの基にした線分として保存されようとする.

参照

関連したドキュメント

では,フランクファートを支持する論者は,以上の反論に対してどのように応答するこ

このように資本主義経済における競争の作用を二つに分けたうえで, 『資本

方法 理論的妥当性および先行研究の結果に基づいて,日常生活動作を構成する7動作領域より

[Nitanda&Suzuki: Fast Convergence Rates of Averaged Stochastic Gradient Descent under Neural Tangent Kernel Regime,

不変量 意味論 何らかの構造を保存する関手を与えること..

加納 幹雄 (Mikio Kano) 茨城大学 名誉教授...

加納 幹雄 (Mikio Kano) 茨城大学 名誉教授..

加納 幹雄 (Mikio Kano) 茨城大学 名誉教授...