目次ページ  前ページ  次ページ

3. 図形要素間の演算

3.6 連結を扱う演算の約束


3.6.4 連結演算子 @ を論理和でも使う

 連結する操作は足し算と通じるところがありますが、むしろ論理和に近いところがあって、「二つを共通要素として持つ新しい変数を作る」処理に応用します。前3.4節の最後の段落で、論理積と論理和の演算子として & と @ を使うと説明しました。整数型の変数同士の論理演算は、内部的に、二進数表示のビット並びの論理演算を約束します。一般的な図形間の論理演算は、ベン図(Venn diagram)が良く知られています。平面図形要素の二つの矩形型変数間について、GBASICは、& と @ を使う論理演算を約束しました。矩形の型は、外枠としての顔と中身が詰まった図形としての顔とを持ちます。論理積は、図形としての共通部分の矩形です。ただし、論理和は二つの矩形を包む大きな全体矩形を求める約束としましたので、ベン図的な論理和ではありません。同じように、三次元の直方体型の論理積と論理和も、共通部分と全体を包む直方体を求める算法を決めました。円は曲線とし、外周だけの集合と考えることにしました。二円の論理和の演算表記は、上の段落で説明したように、接線の線分を求めます。二円の論理積は、二円の交点を線分で求めると約束しました。三次元的な型として、GBASICは、球も定義に加えてあります。この型同士の論理演算は、形式的に、球の直径だけに注目します。論理積は、二球が共有する領域に最大に接する球を求めます。論理和は、二球を包む球を求めます。
2008.3 橋梁&都市PROJECT

前ページ  次ページ