(57)【特許請求の範囲】
【請求項１】
山間部などの傾斜面を有する地形を所定の範囲にわたって整地したときの景観を、三次元空間においてシミュレーションするための高台整地プログラムであって、
前記整地が施される地形の三次元図形を生成する第１ステップと、
前記第１ステップにおいて生成された地形の三次元図形に対して施される整地面の外形線の入力を受け付ける第２ステップと、
前記外形線の入力を受け付けた整地面と前記地形との間に補完される法面の勾配値の入力を受け付ける第３ステップと、
前記整地面の外形線及び法面の勾配値に基づき、中間図形としての法面テンプレートを生成する第４ステップと、
前記第４ステップにおいて生成された法面テンプレートと、前記第１ステップにおいて生成された地形の三次元図形との間で三次元図形演算を行うことにより、前記地形と整地面との間に法面が補完された整地後の新たな地形を生成する第５ステップと、
をコンピュータに実行させることを特徴とする高台整地プログラム。
【請求項２】
前記法面テンプレートを生成する第４ステップは、
地形と整地面との間に補完すべき切土法面を得るための切土法面テンプレートを生成するサブステップと、
地形と整地面との間に補完すべき盛土法面を得るための盛土法面テンプレートを生成するサブステップと、
前記切土法面テンプレート及び盛土法面テンプレートを合成して法面全体テンプレートを得るサブステップと、
をさらに有することを特徴とする請求項１記載の高台整地プログラム。
【請求項３】
前記切土法面テンプレート及び盛土法面テンプレートは、前記整地面の外形線を構成する各辺から、前記法面の勾配値に基づく勾配を有する面を延伸させるとともに、当該各面により構成される三次元中間図形を２組生成し、
それぞれの三次元中間図形の間で三次元図形演算を行うことにより生成されることを特徴とする請求項２記載の高台整地プログラム。
【請求項４】
前記整地後の新たな地形を生成する第５ステップは、
前記切土法面テンプレートと地形の三次元図形との間で三次元図形演算を行い、切土法面を得るサブステップと、
前記盛土法面テンプレートと地形の三次元図形との間で三次元図形演算を行い、盛土法面を得るサブステップと、
前記法面全体テンプレートと地形の三次元図形との間で三次元図形演算を行い、地形から整地後に不要となる部分を削除するサブステップと、
当該削除部分において、前記切土法面、盛土法面、及び整地面を合成することにより、整地後の新たな地形を生成するサブステップと、
をさらに有することを特徴とする請求項２または３に記載の高台整地プログラム。
【請求項５】
前記切土法面テンプレート及び盛土法面テンプレートと、地形の三次元図形との間の三次元図形演算結果に基づき、切土によって削除される土量、及び盛土によって追加される土量を算出し、これら各土量から全体の土量収支を求めるステップをさらに有することを特徴とする請求項４記載の高台整地プログラム。
【請求項６】
前記三次元図形演算は、
演算対象となる複数の三次元図形を、面の集合である多面体に近似した形状に表現するステップと、
演算対象となる各三次元図形において、一の三次元図形を構成するすべての面に関する、他の三次元図形を構成するすべての面の相貫関係を分析するステップと、
前記面同士の相貫関係の分析結果に基づき、一の三次元図形を構成する各面において、他の三次元図形と重なり合い裏側となる部分を除去するステップと、
前記除去ステップにおいて除去されなかった部分を有する面からなる三次元図形同士を合成するステップと、
を選択的に実行して行われることを特徴とする請求項１ないし５のいずれかに記載の高台整地プログラム。
【請求項７】
前記面同士の相貫関係を分析するステップは、一の三次元図形を構成する各面と、他の三次元図形を構成する各面との切欠き状態に基づいて行われ、
一の面による切欠きが、他の面の辺または頂点から始まり、かつ他の面の内部で終わる場合の処理を行う切込みステップと、
一の面による切欠きが、他の面の内部から始まり、かつ他の面の辺または頂点で終わる場合の処理を行う切抜けステップと、
一の面による切欠きが、他の面の内部から始まり、かつ他の面の内部で終わる場合の処理を行う切入れステップと、
一の面による切欠きにより、他の面が複数の断片に分割される場合に、分割後の複数の各断片の分割面に関する表裏を確定する切分けステップと、
を実行することを特徴とする請求項６記載の高台整地プログラム。
【請求項８】
メモリ上にロードして実行されるダイナミックリンクライブラリであって、請求項１ないし７のいずれかに記載の高台整地プログラムを含んでいることを特徴とするダイナミックリンクライブラリ。
【請求項９】
山間部などの傾斜面を有する地形を所定の範囲にわたって整地したときの景観を、三次元空間においてシミュレーションするための景観検討装置であって、
前記地形の三次元データを記録する記録手段と、
前記地形に施される整地面の外形線を入力する入力手段と、
請求項１ないし７のいずれかに記載の高台整地プログラムを記憶する記憶手段と、
前記記憶手段に記憶された高台整地プログラムを実行して、前記地形の三次元データ及び整地面の外形線に基づき、整地後の新たな地形を生成する制御手段と、
前記生成された新たな地形を表示する表示手段と、
を備えたことを特徴とする景観検討装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、地形や構造物などの三次元データを合成することにより景観のシミュレーションや検討を行う景観検討装置に関し、特に山間部などの傾斜面を有する地形を所定の範囲にわたって整地する高台整地を行った場合の景観のシミュレーションを実現する技術に係るものである。
【背景技術】
【０００２】
従来、建設事業においては、ビルや路面などの構造物を多面体（ポリゴン）の集合として近似的に表現した三次元データとして用意しておき、背景写真や地形の三次元データと合成することにより、建設計画案の内容を三次元空間において立体的に確認することのできる景観シミュレーションシステムが知られている。この発明にかかるシステムでは、景観検討に用いる合成画面を作成する過程で、三次元空間における地形と構造物との間の重なり合いを、従来のいわゆる隠面処理により単に非表示とするのではなく、相貫関係を分析し、相互に重なり合う余剰部分を除去した上で、それぞれの合成を行っている。すなわち、実際の工事において行われるように、既存地形などの地物の一部の切欠き処理を行い、この切欠き処理が施された部分に、新たに追加される土木建築施設などを合成することにより、景観検討用の合成画面を表示している。
【０００３】
初期の景観シミュレーションシステムにおいては、地形と構造物（とりわけ法面）との相貫関係に基づく図形演算を、描画処理の陰線消去に使用するデプス・バッファを用いて実行していた。すなわち、地形及び構造物の平面図を、表示画面の解像度に対応したメッシュに分割した上で、各格子点に関して地形と構造物のどちらが上にあるかを判定し、この判定結果で得られる地形と構造物との交差部を抽出する。そして、この交差図形（水平面上に投影された二次元の閉多角形）に基づいて、削除されるべき地形の範囲と、そこに充填されるべき法面の形状を求めて、これらを合成していた。
【０００４】
しかし、この方法で取得される地形と構造物との交差部の形状は、画面サイズによって規定されるデプス・バッファの解像度に制約され、直線部分に関しても単純な直線形ではなく、折れ線として取得される。このため、データが不必要に大きくなるにもかかわらず、演算結果の精度が低く、地形と構造物との間に隙間が生じたり、境界付近の地形及び構造物の表面を構成する多角形の平面性が失われるなどの問題があった。また、遠景として長大法面などの検討に使用することはできても、路上を走行する車両乗員などの近接する視点位置からの景観画像の質には限界があった。
【０００５】
この問題を解決する手法として、三角形分割による三次元図形演算法が提案されている（非特許文献１参照）。この手法によれば、三次元データで表現される地形や構造物を、多面体に近似した形状（ポリゴン）として表現し、その表面を構成する複雑な多角形をあらかじめ三角形に分割しておく。そして、地形と構造物との交差部において、それぞれの三角形同士の切欠き処理を行うことにより、処理の場合分けが単純化され、厳密な座標計算を行うことが可能となっている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】「建築研究資料Ｎｏ．９６  成熟都市シミュレータ  Ｖｅｒ１．０＋  景観シミュレータ  Ｖｅｒ２．０５  実務マニュアル」  建設省建築研究所  ２０００年７月
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ほぼ平坦な地形の上に盛土のみを行って高台を形成するような場合、図形演算を行わない景観のシミュレーションであっても、重なり合う複数の三次元図形をディスプレイに表示する段階において隠面処理を行い、地形よりも下となる法面の部分、及び整地面や法面の下となる地形の部分を非表示とすることにより、十分に目的を果たすことができる場合もある。
【０００８】
しかし、例えば山間部などの起伏に富んだ地形を所定の範囲にわたって整地する場合、新たな整地面の一部が元の地面よりも低くなることがあり、この場合には、新たな整地面を追加するだけでなく、既存の地面の一部を削除して、新たな整地面との間を安定な勾配の法面で補間する必要がある。
さらに、新たな整地面とその周囲の法面の下に隠れることとなる元の地形面の余剰部分や、地形の下に隠れることとなる法面の余剰部分を削除し、過不足のない連続した多角形の集合体を作成することにより、表示を高速化できるのみならず、切土・盛土の体積などを正確に計算することが可能となる。
【０００９】
ところが、かかる法面の立体的な形状を作図や座標計算により求め、地形との相貫を分析するには多大な労力を要する。そこで、形成しようとする整地面の形状から、法面の元となる形状などのいくつかの中間的・仮設的な形状を自動生成し、これと地形との間の図形演算を系統的に実施する手段により、労力を大幅に軽減することが不可欠である。
【００１０】
また、地形と高台の相貫関係を分析し余剰部分を削除する過程で繰り返し必要となる図形演算の処理方法として、従前のデプス・バッファを用いた方法や三角形分割による従来の技術を使用した場合、演算後の形状を高い精度で求められない、という問題や、処理後の地形や法面が細かく分割されデータが肥大化するという問題があり、この課題を解決することは困難であった。
【００１１】
この発明は、かかる課題を解決するためになされたものであり、山間部などの傾斜面を有する地形を整地した際の景観のシミュレーションを効率的かつ高精度に行うことのできる高台整地プログラム、ダイナミックリンクライブラリ及び景観検討装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
前記の目的を達成するために、請求項１に記載の発明は、山間部などの傾斜面を有する地形を所定の範囲にわたって整地したときの景観を、三次元空間においてシミュレーションするための高台整地プログラムであって、前記整地が施される地形の三次元図形を生成する第１ステップと、前記第１ステップにおいて生成された地形の三次元図形に対して施される整地面の外形線の入力を受け付ける第２ステップと、前記外形線の入力を受け付けた整地面と前記地形との間に補完される法面の勾配値の入力を受け付ける第３ステップと、前記整地面の外形線及び法面の勾配値に基づき、中間図形としての法面テンプレートを生成する第４ステップと、前記第４ステップにおいて生成された法面テンプレートと、前記第１ステップにおいて生成された地形の三次元図形との間で三次元図形演算を行うことにより、前記地形と整地面との間に法面が補完された整地後の新たな地形を生成する第５ステップと、をコンピュータに実行させることを特徴とする。
【００１３】
請求項２に記載の発明は、請求項１に記載の高台整地プログラムにおいて、前記法面テンプレートを生成する第４ステップは、地形と整地面との間に補完すべき切土法面を得るための切土法面テンプレートを生成するサブステップと、地形と整地面との間に補完すべき盛土法面を得るための盛土法面テンプレートを生成するサブステップと、前記切土法面テンプレート及び盛土法面テンプレートを合成して法面全体テンプレートを得るサブステップと、をさらに有することを特徴とする。
【００１４】
請求項３に記載の発明は、請求項２記載の高台整地プログラムにおいて、前記切土法面テンプレート及び盛土法面テンプレートは、前記整地面の外形線を構成する各辺から、前記法面の勾配値に基づく勾配を有する面を延伸させるとともに、当該各面により構成される三次元中間図形を２組生成し、それぞれの三次元中間図形の間で三次元図形演算を行うことにより生成されることを特徴とする。
【００１５】
請求項４に記載の発明は、請求項２または３に記載の高台整地プログラムにおいて、前記整地後の新たな地形を生成する第５ステップは、前記切土法面テンプレートと地形の三次元図形との間で三次元図形演算を行い、切土法面を得るサブステップと、前記盛土法面テンプレートと地形の三次元図形との間で三次元図形演算を行い、盛土法面を得るサブステップと、前記法面全体テンプレートと地形の三次元図形との間で三次元図形演算を行い、地形から整地後に不要となる部分を削除するサブステップと、当該削除部分において、前記切土法面、盛土法面、及び整地面を合成することにより、整地後の新たな地形を生成するサブステップと、をさらに有することを特徴とする。
【００１６】
請求項５に記載の発明は、請求項４記載の高台整地プログラムにおいて、前記切土法面テンプレート及び盛土法面テンプレートと、地形の三次元図形との間の三次元図形演算結果に基づき、切土によって削除される土量、及び盛土によって追加される土量を算出し、これら各土量から全体の土量収支を求めるステップをさらに有することを特徴とする。
【００１７】
請求項６に記載の発明は、請求項１ないし５のいずれかに記載の高台整地プログラムにおいて、前記三次元図形演算が、演算対象となる複数の三次元図形を、面の集合である多面体に近似した形状に表現するステップと、演算対象となる各三次元図形において、一の三次元図形を構成するすべての面に関する、他の三次元図形を構成するすべての面の相貫関係を分析するステップと、前記面同士の相貫関係の分析結果に基づき、一の三次元図形を構成する各面において、他の三次元図形と重なり合い裏側となる部分を除去するステップと、前記除去ステップにおいて除去されなかった部分を有する面からなる三次元図形同士を合成するステップと、を選択的に実行して行われることを特徴とする。
【００１８】
請求項７に記載の発明は、請求項６記載の高台整地プログラムにおいて、前記面同士の相貫関係を分析するステップは、一の三次元図形を構成する各面と、他の三次元図形を構成する各面との切欠き状態に基づいて行われ、一の面による切欠きが、他の面の辺または頂点から始まり、かつ他の面の内部で終わる場合の処理を行う切込みステップと、一の面による切欠きが、他の面の内部から始まり、かつ他の面の辺または頂点で終わる場合の処理を行う切抜けステップと、一の面による切欠きが、他の面の内部から始まり、かつ他の面の内部で終わる場合の処理を行う切入れステップと、一の面による切欠きにより、他の面が複数の断片に分割される場合に、分割後の複数の各断片の分割面に関する表裏を確定する切分けステップと、を実行することを特徴とする。
【００１９】
請求項８に記載の発明は、メモリ上にロードして実行されるダイナミックリンクライブラリであって、請求項１ないし７のいずれかに記載の高台整地プログラムを含んでいることを特徴とする。
【００２０】
請求項９に記載の発明は、山間部などの傾斜面を有する地形を所定の範囲にわたって整地したときの景観を、三次元空間においてシミュレーションするための景観検討装置であって、前記地形の三次元データを記録する記録手段と、前記地形に施される整地面の外形線を入力する入力手段と、請求項１ないし７のいずれかに記載の高台整地プログラムを記憶する記憶手段と、前記記憶手段に記憶された高台整地プログラムを実行して、前記地形の三次元データ及び整地面の外形線に基づき、整地後の新たな地形を生成する制御手段と、前記生成された新たな地形を表示する表示手段と、を備えたことを特徴とする。
【発明の効果】
【００２１】
この発明は、前記のようであって、請求項１に記載の発明によれば、整地後の地形に補完すべき適切な形状の法面を簡単かつ精度よく生成することができ、高台整地後の景観のシミュレーションを効率的かつ高精度に行うことができる。
【００２２】
請求項２に記載の発明によれば、法面テンプレートとして切土法面テンプレート及び盛土法面テンプレートを生成することにより、整地後の地形に補完すべき切土法面及び盛土法面を簡単かつ精度よく生成することができる。また、法面全体テンプレートを生成することにより、整地後に不要となる地形部分を正確に削除することができる。
【００２３】
請求項３に記載の発明によれば、地形に施される整地面の形状や、整地後の地形に補完される法面の勾配値などのパラメータを指定するだけで、切土法面テンプレート及び盛土法面テンプレートを自動生成することができる。
【００２４】
請求項４に記載の発明によれば、各テンプレートと地形との間で三次元図形演算を行うことにより、切土法面及び盛土法面を簡単かつ精度よく生成することができる。また、地形において整地後に不要となる部分を適切に削除したうえで、切土法面や整地面を合成することで、データ量に無駄がなく、現実の整地工事の結果を正しく予測する三次元データを得ることができる。
【００２５】
請求項５に記載の発明によれば、図形演算の結果に基づいて、実際の整地に際して必要となる土量収支を求めることができ、高台整地の計画段階における土量計算に便利となる。
【００２６】
請求項６に記載の発明によれば、図形演算の対象となる複数の三次元図形の相貫関係の分析を、各三次元図形を構成する面同士の相貫関係の分析に還元することができる。これにより、三次元図形同士の図形演算が単純化され、データ量の増大を抑制しつつ、精度の高い図形演算を行うことができる。
【００２７】
請求項７に記載の発明によれば、図形演算における面同士の相貫関係の分析が、切欠きの発生状況に応じて４つの処理に場合分けされる。これにより、切欠きの発生状況に応じた適切な処理が選択され、面同士の相貫関係の分析を正確に行うことができる。
【００２８】
請求項８に記載の発明によれば、高台整地プログラムをダイナミックリンクライブラリとして提供することにより、他のプログラムに影響を与えることなく独立して修正や更新を行うことができ、この点でも保守性が向上する。また、高台整地プログラムにより実現される高台整地機能を、独立した機能として提供することが可能となり、その応用範囲を拡大することができる。
【００２９】
請求項９に記載の発明によれば、請求項１ないし７のいずれかに記載の作用効果を、景観検討装置においても奏することができる。これにより、景観検討装置においても、効率的な高台整地後の景観のシミュレーションが可能となる。
【図面の簡単な説明】
【００３０】
【図１】この発明の一実施の形態に係る景観検討装置の構成例を示すブロック図である。
【図２】同上の三次元図形演算プログラムにより実行される図形演算の全体処理を示すフローチャートである。
【図３】同上の穴あき面に仮想線を適用した例を示す説明図である。
【図４】同上の三次元図形演算プログラムにより実行される面同士の相貫関係の分析の全体処理を示すフローチャートである。
【図５】同上の面Ｆ２による面Ｆ１の切欠き処理を示すフローチャートである。
【図６Ａ】同上の「切込み」の概要を示す説明図である。
【図６Ｂ】同上の「切込み」における頂点追加の例を示す説明図である。
【図７】同上の切込み処理の流れを示すフローチャートである。
【図８】同上の「切抜け」の概要を示す説明図である。
【図９】同上の切抜け処理の流れを示すフローチャートである。
【図１０Ａ】同上の「切入れ」の概要を示す説明図である。
【図１０Ｂ】同上の「切入れ」における仮想線の適用例を示す説明図である。
【図１１】同上の切入れ処理の流れを示すフローチャートである。
【図１２Ａ】同上の「切分け」の概要を示す説明図である。
【図１２Ｂ】同上の「切分け」における頂点追加の例を示す説明図である。
【図１３】同上の切分け処理の流れを示すフローチャートである。
【図１４Ａ】同上の切分けの発生状況に応じた仮想線の削除又は通常の辺への変更の様子を示す説明図である。
【図１４Ｂ】同上の切分けの発生状況に応じた仮想線の削除又は通常の辺への変更の様子を示す説明図である。
【図１５Ａ】同上の切欠きの発生状況に応じた仮想線の接続先の変更の様子を示す説明図である。
【図１５Ｂ】同上の切欠きの発生状況に応じた仮想線の接続先の変更の様子を示す説明図である。
【図１６Ａ】図形演算を行わない隠面処理による整地後の地形（高台地形）の表示例を示す説明図である。
【図１６Ｂ】この発明の一実施の形態に係る景観検討装置による整地後の地形（高台地形）の表示例を示す説明図である。
【図１７】同上の高台整地機能により実行される処理の流れを示すフローチャートである。
【図１８Ａ】同上の整地を施す対象となる地形データの表示例を示す説明図である。
【図１８Ｂ】同上の側面及び底面が付加された地形データの表示例を示す説明図である。
【図１９】同上の法面テンプレートの生成処理の流れを示すフローチャートである。
【図２０】同上の整地面の例を示す説明図である。
【図２１】同上の切土法面テンプレートの例を示す説明図である。
【図２２Ａ】同上の整地面の外形線を構成する各辺から面を生成する様子を示す説明図である。
【図２２Ｂ】同上の整地面の外形線を構成する各辺から面を生成する際に三角形で等分する場合の例を示す説明図である。
【図２３】同上の中間図形の例を示す説明図である。
【図２４】同上の法面テンプレートの例を示す説明図である。
【図２５】同上の盛土法面テンプレートの例を示す説明図である。
【図２６】同上の法面テンプレートの例を示す説明図である。
【図２７】同上の各テンプレートと地形との図形演算の流れを示すフローチャートである。
【図２８】同上の切土法面の例を示す説明図である。
【図２９】同上の盛土法面の例を示す説明図である。
【図３０】同上の法面テンプレートにより不要部分が削除された地形の例を示す説明図である。
【図３１】同上の整地後の新たな地形（高台地形）の例を示す説明図である。
【図３２】同上の新たな地形（高台地形）において、法面と地形の余剰部分が削除されていることを示すワイヤーフレーム表示である。
【発明を実施するための形態】
【００３１】
この発明の一実施の形態に係る景観検討装置によれば、地形や構造物などの三次元データを合成することにより、建設計画案の内容を三次元空間において立体的に確認することができる。また、そのバリエーションの一つとして、山間部などの傾斜面を有する地形を所定の範囲にわたって整地する、いわゆる高台整地を行った場合の景観のシミュレーションも行うことができる。
【００３２】
この景観検討装置には、三次元空間における景観シミュレーションの対象となる地形や構造物などの重なり合い（相貫関係）の分析を、効率的かつ高精度に行うことを可能にする三次元図形演算プログラム、及びこの三次元図形演算プログラムを応用して、高台整地を行った場合の景観を効率的に生成する高台整地プログラムがインストールされている。
【００３３】
この三次元図形演算プログラムは、三次元空間における複数の三次元図形の相貫関係を分析する際に、まず、各三次元図形を多面体に近似した形状（ポリゴン）として表現し、一の三次元図形を構成するすべての面と、他の三次元図形を構成するすべての面との間で、順次相貫関係を分析する。この面同士の相貫関係の分析は、面と面との間で発生する切欠き状態に基づいて行われ、この切欠き状態に応じた所定の切欠き処理が行われる。このように、複数の三次元図形における相貫関係の分析を、面同士の切欠き処理の繰り返しに還元することで、処理を単純化している。
【００３４】
また、この三次元図形演算プログラムによる図形演算は、上述の高台整地を行った際の景観検討の場面にも応用することができる。これにより、既存の地形と整地面との間に補完されるべき適切な形状の法面が生成され、高台整地後の景観を精度良くかつ効率的に生成することができる。
【００３５】
以下、図面を参照しながら、はじめに本発明の一実施形態に係る景観検討装置の基本構成、ならびにこの景観検討装置にインストールされている三次元図形演算プログラムにより実行される図形演算について説明する。次に、この図形演算を応用して高台整地を行った場合の景観をシミュレーションする高台整地プログラムについて説明する。
【００３６】
＜景観検討装置の基本構成＞
図１において、１は景観検討装置で、この景観検討装置１は、三次元データとして予め用意されたビルや路面などの構造物と、同様に用意された背景写真や地形と、の合成画面を表示して、三次元空間における合成の様子を立体的に確認することを主な基本機能としている。また、この合成画面を表示するために必要となる様々な編集画面を提供する機能も、併せて備えている。
【００３７】
景観検討装置１は、一般的なパーソナルコンピュータＰＣを有している。すなわち、このＰＣは、装置全体の制御や図形演算を行う制御手段（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓ  Ｕｎｉｔ）２、制御手段２の処理データなどを一時記憶する書き換え可能なＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３、固定データなどを記憶するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）４、図形演算結果のデータなどを記録するハードディスクドライブ装置などの記録手段５、各種データの入力や指示を行うキーボードやマウスなどの入力手段６、図形演算結果を表示するディスプレイなどの表示手段７、ネットワーク接続に使用する通信インタフェース８、などの通常のコンピュータのハードウェア資源を備えている。そして、これらの各ハードウェア資源と、三次元図形演算プログラムをはじめとするソフトウェアとの協働により、景観検討装置１の基本機能が実現される。
【００３８】
また、この景観検討装置１は、景観検討の対象となる地形や構造物を撮像する撮像手段９を備えていてもよい。この撮像手段９は、例えばデジタルカメラなどで構成され、この撮像手段９により取得された地形や構造物の撮像データを用いて、景観の検討を行うこともできる。
【００３９】
この撮像手段９により取得された撮像データは、景観検討装置１に通信インタフェース８を経由して送信することができる。このように、撮像手段９から入力される撮像データとしては、例えば地形や構造物を立体的に見るために、複数の異なるカメラの視点位置から撮像したステレオ写真や、通常の方法で撮像した単眼写真などが挙げられる。このように入力されたステレオ写真などの撮像データは、三次元図形演算プログラムの入力となる三次元データに変換され、この三次元データを用いて、図形演算が行われる。
【００４０】
この他、入力データとして三次元図形演算プログラムに入力される三次元データとしては、過去にＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）やＧＩＳ（Ｇｅｏｇｒａｐｈｉｃ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｙｓｔｅｍ）で作成された三次元データを、図形演算に適したデータ形式に変換したものや、過去に作成された紙図面を基に、オペレータが入力手段６を用いて三次元データとして作成したものを用いてもよい。これらの方法により作成した三次元データや、撮像手段９による撮像データから生成した三次元データは、ハードディスクドライブ装置などの記録手段５に記録される。
【００４１】
このように、三次元図形演算プログラムの入力となる三次元データが用意された後、オペレータにより、マウスなどの入力手段６が操作され、図形演算の開始が指示される。この指示を受けると、制御手段２は、予めＲＯＭ４に記憶されている三次元図形演算プログラムを読み出し、これを実行して図形演算を開始する。また、後述する高台整地プログラムのような上位のプログラムの開始が指示され、その中から図形演算を数次にわたり系統的にサブルーチンとして実行することもできる。なお、この三次元図形演算プログラムは、ＣＤ−ＲＯＭなどの外部記録媒体からインストールされ、ハードディスクドライブ装置などの記録手段５に記録されていてもよい。以下、制御手段２が実行する図形演算について、図２ないし図１５を用いて詳細に説明する。
【００４２】
＜図形演算：全体の流れ＞
図２は、制御手段２が実行する図形演算の全体の流れを示すフローチャートである。はじめに、このフローチャートに基づき図形演算の全体の流れを説明し、次に、各ステップにおける具体的な処理内容について説明する。
【００４３】
図形演算は、図２に示すように、大きく４つの処理ステップで構成される。各ステップの処理の概要を以下に示す。
（ステップ０１）入力された地形や構造物などの三次元データを基に、各三次元図形を多面体に近似した形状（ポリゴン）に表現する。
（ステップ０２）ステップ０１において、多面体に近似した形状に表現された各三次元図形において、一の三次元図形を構成するすべての面に関する、他の三次元図形を構成するすべての面の相貫関係を分析する。
（ステップ０３）ステップ０２における各面同士の相貫関係の分析結果に基づき、各面において他の三次元図形と重なり合い裏側となる部分を除去する。
（ステップ０４）ステップ０３において、除去されなかった部分を有する面で構成される三次元図形同士を合成し、合成画面を表示する。
以下、これら各ステップについて、詳細に説明する。
【００４４】
＜ステップ０１：多面体に近似する＞
まず、制御手段２は、オペレータにより指示されて図形演算の対象となった構造物などの図形の三次元データを、記録手段５から読み出す。そして、読み出した三次元データに基づき、各三次元図形を多面体に近似した形状（ポリゴン）として表現する。そして、このように表現された各三次元図形を構成する各面において、その内部に穴を有する面（以下、穴あき面と称する）が生じた場合に、この穴あき面に対して仮想線を適用する。
【００４５】
この仮想線は、前述の穴あき面のように、内部に穴を有する面であっても、穴のない通常の面と同様に取り扱うことを可能にするもので、例えばビルの外壁や、既に図形演算が施されている地形など、内部に穴のある三次元図形であっても、通常の三次元図形と同様に取り扱うことができる。
【００４６】
具体的な仮想線の適用例を図３に示す。この例では、内部に穴１１を有する穴あき面１０において、この穴１１を構成するいずれかの頂点と、穴あき面１０を構成するいずれかの頂点（ここでは頂点１２）とを、仮想線Ｋで接続する。このように、穴１１と頂点１２とを仮想線Ｋで接続することにより、穴あき面１０を従来の三角形分割のように図形分割することなく、ステップ０２以降の処理で用いることができる。なお、この仮想線Ｋの具体的な作用については、後述のステップ０２において説明する。
【００４７】
制御手段２は、このように多面体として表現された三次元図形のすべての面に関するデータを、ＲＡＭ３に記憶する。また、これらのデータは、ハードディスクドライブ装置などの記録手段５に記録してもよい。
【００４８】
＜ステップ０２：面同士の相貫関係の分析＞
次に、制御手段２は、ステップ０１において多面体として表現された各三次元図形において、一の三次元図形を構成するすべての面に関する、他の三次元図形を構成するすべての面の相貫関係を分析する。このステップ０２は、図４のフローチャートに示すサブステップ１１〜１７で構成されている。なお、ここでは、説明を簡単にするために、２つの三次元図形Ｇ１、Ｇ２を例として、図４のフローチャートに基づき各サブステップについて説明する。
【００４９】
まず、２つの三次元図形Ｇ１、Ｇ２において、図形Ｇ１を構成するすべての面に関し、図形Ｇ２の内部に含まれる部分を考える。このような部分は、図形Ｇ２と重なり合ってＧ２の裏側となる部分であり、取り除かれるべき部分となる。そこで、図形Ｇ１を構成するすべての面に関して、図形Ｇ２の内部に含まれる部分を取り除くことを、「Ｇ２でＧ１を切り取る」と呼ぶ。
【００５０】
このように、Ｇ２でＧ１を切り取る場合、Ｇ１を構成する各々の面は、相互に影響を受けることなく、互いに独立してＧ２に切り取られる。すなわち、Ｇ１を構成する１つの面Ｆ１について、Ｇ２の内部に含まれる部分が切り取られるとき、Ｇ１を構成するＦ１以外の面に対しては、同様の切り取りにおいて影響を与えない。そこで、Ｇ１を構成する１つの面Ｆ１から、Ｇ２に含まれる部分を切り取ることを、「Ｇ２でＦ１を切り取る」と呼ぶ。そこで、まず、図形Ｇ１から１つの面Ｆ１を取り出す（サブステップ１１）。
【００５１】
このように取り出した面Ｆ１をＧ２で切り取るためには、Ｇ２を構成するすべての面で、面Ｆ１を切り取る必要がある。そこで、次に、図形Ｇ２から１つの面Ｆ２を取り出す（サブステップ１２）。
【００５２】
このように取り出した面Ｆ２により、面Ｆ１を切り取ることを、「Ｆ２でＦ１を切り取る」と呼ぶ。また、その際に行われる処理を「Ｆ２によるＦ１の切欠き処理」と呼ぶ（サブステップ１３）。以下、この面Ｆ２による面Ｆ１の切欠き処理について説明する。
【００５３】
＜サブステップ１３：面Ｆ２による面Ｆ１の切欠き処理＞
この切欠き処理を行うサブステップ１３は、さらに図５のフローチャートに示すサブステップ２１〜３８で構成されている。この各サブステップの処理について、図５のフローチャートに基づき説明する。
【００５４】
まず、面Ｆ１及び面Ｆ２が、切欠き処理を適用する対象として正常であるか異常であるかを判定する（サブステップ２１）。すなわち、切欠き処理を適用しようとする面は、必ずしも現実に存在しうる幾何学的な形状の面であるとは限らない。例えば、頂点が２以下しかない頂点不足の面や、ある辺と次の辺が一直線上にある面などである。このような面は、切欠き処理を行うには不適切な面となる。
【００５５】
そこで、処理に先立って、対象となる面を診断し、異常であると判定された場合には、可能な限り修正を行ってから処理を行う。なお、このような診断及び修正は、切欠き処理を施す前の面に限らず、切欠き処理を行った結果として得られる面に対しても行うことができる。
【００５６】
次に、面Ｆ１と面Ｆ２が同一平面であるか否かを確認する（サブステップ２２）。同一平面であれば、従来の二次元図形演算処理を行う（サブステップ２３）。同一平面でなければ、サブステップ２４へ進む。
【００５７】
次に、面Ｆ１に関する面Ｆ２の各頂点の高さを求める。そして、面Ｆ２のすべての頂点が、面Ｆ１の上または下にあるか否かを確認する（サブステップ２４）。もし、面Ｆ２のすべての頂点が面Ｆ１よりも上または下にあれば、この二つの面は接触しないと判定して（サブステップ２６）、サブステップ１３を終了する。それ以外の場合は、サブステップ２５へ進む。
【００５８】
次に、面Ｆ２に関する面Ｆ１の各頂点の高さを求める。そして、面Ｆ１のすべての頂点が、面Ｆ２の上または下にあるか否かを確認する（サブステップ２５）。もし、面Ｆ１のすべての頂点が面Ｆ２よりも上または下にあれば、この二つの面は接触しないと判定して（サブステップ２６）、サブステップ１３を終了する。それ以外の場合は、サブステップ２７へ進む。
【００５９】
次に、面Ｆ１と面Ｆ２の交線となる直線（交差線）を求める（サブステップ２７）。そして、この交差線と、面Ｆ１及び面Ｆ２のすべての辺との交点を求め、この交点のリストを作成する（サブステップ２８）。このリストにおいては、各交点を、交差線に沿った１次元座標値に基づいて並び替えておく。このとき、面Ｆ１が仮想線を含む場合は、この仮想線と交差線との交点も同様にリスト化する。
【００６０】
次に、前述のリストに基づいて、面Ｆ２による面Ｆ１の切欠きの開始点及び終了点を求める（サブステップ２９）。具体的には、前述の交差線上において、仮想線以外の交点によって区切られた各区間を、１次元座標値が若い順に評価する。その結果、面Ｆ１に含まれ、かつ面Ｆ２にも含まれるすべての区間が、実際に切欠きが行われる区間となる。すなわち、これらの各区間の開始点及び終了点が、それぞれの切欠きの開始点及び終了点となる。なお、仮想線による交点は、当該区間の属性としてリスト化しておく。
【００６１】
次に、サブステップ２９において求めた切欠きの開始点及び終了点に基づき、切欠き処理の場合分けを行う。すなわち、面Ｆ２による面Ｆ１の切欠き処理は、面Ｆ１における切欠きの開始点及び終了点の位置に応じて、「切込み」「切抜け」「切入れ」「切分け」の４パターンに場合分けされる。そこで、面Ｆ２による面Ｆ１の切欠きが、このいずれのパターンに該当するかを順次確認していく。
【００６２】
まず、当該切欠きが「切込み」であるか否かを確認する（サブステップ３０）。「切込み」は、切欠きが面Ｆ１の辺または頂点から始まり、かつ面Ｆ１の内部で終わる状態である。当該切欠きがこの「切込み」に該当する場合は、サブステップ３１に進み、切込み処理を行う。該当しない場合は、サブステップ３２に進む。
【００６３】
次に、当該切欠きが「切抜け」であるか否かを確認する（サブステップ３２）。「切抜け」は、切欠きが面Ｆ１の内部から始まり、かつ面Ｆ１の辺または頂点で終わる状態である。当該切欠きがこの「切抜け」に該当する場合は、サブステップ３３に進み、切抜け処理を行う。該当しない場合は、サブステップ３４に進む。
【００６４】
次に、当該切欠きが「切入れ」であるか否かを確認する（サブステップ３４）。「切入れ」は、切欠きが面Ｆ１の内部から始まり、かつ内部で終わる状態である。当該切欠きがこの「切入れ」に該当する場合は、サブステップ３５に進み、切入れ処理を行う。該当しない場合は、サブステップ３６に進む。
【００６５】
次に、当該切欠きが「切分け」であるか否かを確認する（サブステップ３６）。「切分け」は、切欠きの開始点及び終了点が、いずれも面Ｆ１の辺または頂点と一致する状態である。当該切欠きがこの「切分け」に該当する場合は、サブステップ３７に進み、切分け処理を行う。該当しない場合は、サブステップ３８に進む。
【００６６】
当該切欠きが、前述した４パターンのいずれにも該当しない場合には、切断方法不明を通知するエラーメッセージを出力し（サブステップ３８）、サブステップ１３を終了する。続いて、前述の４パターンの具体的な処理について、それぞれ説明する。
【００６７】
＜サブステップ３１：切込み処理＞
まず、切込み処理について、図６及び図７を用いて説明する。図６Ａは、この切込み処理が行われる具体例を示している。図６Ａに示すように、「切込み」においては、切欠きの開始点Ｓが面Ｆ１の辺または頂点と一致し、かつ終了点Ｅが面Ｆ１の内部に位置している。この場合は、結果として面Ｆ１が面Ｆ２の表と裏にまたがることとなり、面Ｆ１の図形Ｇ２に関する内外判定は未詳となる。
【００６８】
切込み処理を行うサブステップ３１は、図７のフローチャートに示すように、サブステップ４１〜４４から構成されている。まず、サブステップ４１において、切欠きの開始点Ｓの妥当性を検査する。具体的には、この開始点Ｓが、過去に作成された切込みの開始点である場合、この開始点Ｓに２つの辺または頂点が重畳することとなる。このような場合には、今回の切込みが面Ｆ１の内側となるような辺または頂点を選択する。
【００６９】
次に、面Ｆ１の辺上における切欠きの開始点Ｓの位置に応じて、面Ｆ１に所定の数の頂点を追加する（サブステップ４２）。
【００７０】
具体的には、切欠きの開始点Ｓが、面Ｆ１の辺上の頂点と一致するか、あるいは頂点以外の箇所（以下、辺の中間点と呼ぶ）にあるかにより、面Ｆ１に追加する頂点の数を決定する。例えば、図６Ｂに示すように、切欠きの開始点Ｓが、辺Ｌの中間点にある場合には、面Ｆ１に対して３頂点（Ｍ２１、Ｍ２２、Ｍ２３）を追加する。一方、切欠きの開始点Ｓが、辺Ｌの既存の頂点のいずれか（例えばＭ２）と一致する場合には、切欠き後もこの頂点Ｍ２を利用できるので、２頂点を追加することとなる。この結果、面Ｆ１の内部には、面積のない線状の切れ目が生じる。
【００７１】
次に、切欠きの開始点Ｓ及び終了点Ｅの間を通過する仮想線があるか否かを確認する（サブステップ４３）。このような仮想線がある場合はサブステップ４４へ進み、その仮想線の接続先を変更する。ない場合は、サブステップ３１を終了する。なお、この両ステップ４３，４４における仮想線の接続先の変更については、前述した４パターンの切欠きに共通して行われるので、後述する切分け処理において詳しく説明する。
【００７２】
＜サブステップ３３：切抜け処理＞
次に、切抜け処理について、図８及び図９を用いて説明する。図８は、この切抜け処理が行われる具体例を示している。図８に示すように、「切抜け」においては、切欠きの開始点Ｓが面Ｆ１の内部に位置し、かつ終了点Ｅが面Ｆ１の辺または頂点と一致している。この場合も、前述の切込み処理と同様に、面Ｆ１が面Ｆ２の表と裏にまたがることとなり、面Ｆ１の図形Ｇ２に関する内外判定は未詳となる。
【００７３】
切抜け処理を行うサブステップ３３は、図９のフローチャートに示すように、サブステップ５１〜５４から構成されている。まず、サブステップ５１において、切欠きの終了点Ｅの妥当性を検査する。具体的には、この終了点Ｅが、過去に作成された切抜けの終了点である場合、この終了点Ｅに２つの辺または頂点が重畳することとなる。このような場合には、今回の切抜けが面Ｆ１の内側となるような辺または頂点を選択する。
【００７４】
次に、面Ｆ１の辺上における切欠きの終了点Ｅの位置に応じて、面Ｆ１に所定の数の頂点を追加する（サブステップ５２）。
【００７５】
具体的には、切欠きの終了点Ｅが、面Ｆ１の辺上の頂点と一致するか、あるいは辺の中間点にあるかにより、面Ｆ１に追加する頂点の数を決定する。この頂点追加の処理は、前述の切込み処理におけるサブステップ４２とほぼ同様であり、終了点Ｅが辺の中間点にあれば３頂点を、辺の頂点と一致すれば２頂点を追加する。この場合にも、面Ｆ１の内部には、面積のない線状の切れ目が生じることとなる。
【００７６】
次に、切欠きの開始点Ｓ及び終了点Ｅの間を通過する仮想線があるか否かを確認する（サブステップ５３）。このような仮想線がある場合はサブステップ５４へ進み、その仮想線の接続先を変更する。ない場合は、サブステップ３３を終了する。この両ステップ５３，５４における仮想線の接続先の変更についても、後述する切分け処理において詳しく説明する。
【００７７】
＜サブステップ３５：切入れ処理＞
次に、切入れ処理について、図１０及び図１１を用いて説明する。図１０は、この切入れ処理が行われる具体例を示している。図１０Ａに示すように、「切入れ」においては、切欠きの開始点Ｓ及び終了点Ｅが、いずれも面Ｆ１の内部に位置している。この場合も、前述の切込み処理などと同様に、面Ｆ１が面Ｆ２の表と裏にまたがることとなり、面Ｆ１の図形Ｇ２に関する内外判定は未詳となる。そして、このように切入れが生じた面Ｆ１に対し、前述した仮想線が適用される。
【００７８】
切入れ処理を行うサブステップ３５は、図１１のフローチャートに示すように、サブステップ６１〜６４から構成されている。まず、サブステップ６１において、面Ｆ１を構成するすべての頂点と、切欠きの開始点Ｓ及び終了点Ｅに関して、仮想線により接続される点として最適な位置を検討し、選択する。次に、選択された面Ｆ１の頂点と、切欠きの開始点Ｓ及び終了点Ｅのいずれかとを、仮想線Ｋで接続する（サブステップ６２）。この場合の例を、図１０Ｂに示す。
【００７９】
図１０Ｂに示すように、面Ｆ１の内部に切欠きの開始点Ｓ及び終了点Ｅが位置しているとき、面Ｆ１の既存の頂点Ｍ２と、切欠きの開始点Ｓとを、仮想線Ｋで接続する。また、この仮想線Ｋを適用する際に、面Ｆ１に対して５頂点（Ｍ２１、Ｍ２２、Ｍ２３、Ｍ２４、Ｍ２５）を追加する。
【００８０】
仮想線Ｋは、この面Ｆ１のように、その内部の一部分だけに線状の切れ目が入ったような不完全な状態の面であっても、準正常な面として通常の面と同様に取り扱うことを可能にしている。すなわち、仮想線Ｋにより、面Ｆ１の内部に独立した状態で生成される線状の切れ目が、面Ｆ１の既存の頂点と接続されて、面Ｆ１の辺Ｌへ橋渡しされる。これにより、この線状の切れ目は、面Ｆ１のデータ構造を表現する頂点の集合に取り込まれる形で表現することができる。なお、このような仮想線Ｋによる作用は、ステップ０１で述べた「穴あき面」においても同様に発揮され、かかる「穴あき面」も準正常な面として取り扱うことができる。
【００８１】
次に、切欠きの開始点Ｓ及び終了点Ｅの間を通過する仮想線があるか否かを確認する（サブステップ６３）。このような仮想線がある場合はサブステップ６４へ進み、その仮想線の接続先を変更する。ない場合は、サブステップ３５を終了する。この両ステップ６３，６４における仮想線の接続先の変更についても、後述する切分け処理において詳しく説明する。
【００８２】
＜サブステップ３７：切分け処理＞
次に、切分け処理について、図１２及び図１３を用いて説明する。図１２は、この切分け処理が行われる具体例を示している。図１２Ａに示すように、「切分け」においては、切欠きの開始点Ｓ及び終了点Ｅが、いずれも面Ｆ１の辺または頂点と一致している。この場合は、面Ｆ１が面Ｆ２によって分割され、分割された面Ｆ１の２つの断片が、面Ｆ２に関して表となるか裏となるかが確定する。
【００８３】
切分け処理を行うサブステップ３７は、図１３のフローチャートに示すように、サブステップ７１〜７９で構成されている。まず、サブステップ７１において、切欠きの開始点Ｓ及び終了点Ｅの妥当性を検査する。具体的には、この開始点Ｓ及び終了点Ｅが、過去に作成された切欠きの開始点、終了点、またはその中間の辺上である場合、この各点Ｓ、Ｅに２つの辺または頂点が重畳することとなる。このような場合には、開始点Ｓ及び終了点Ｅによる切分けが、面Ｆ１の内側となるような辺または頂点を選択する。
【００８４】
次に、切欠きの開始点Ｓ及び終了点Ｅが、いずれも面Ｆ１の頂点と一致するか否かを確認する（サブステップ７２）。一致する場合にはサブステップ７３へ進み、一致しない場合にはサブステップ７５へ進む。
【００８５】
次に、開始点Ｓ及び終了点Ｅによって生じる切欠きの区間が、面Ｆ１に適用された仮想線と一致するか否かを確認する（サブステップ７３）。一致する場合はサブステップ７４へ進み、一致しない場合はサブステップ７５へ進む。この場合の例を、図１４を用いて説明する。
【００８６】
図１４Ａに示すように、面Ｆ１は、その内部に穴Ｐ１、Ｐ２、Ｐ３、Ｐ４を有する穴あき面である。また、この面Ｆ１には仮想線Ｋ１、Ｋ２、Ｋ３、Ｋ４が適用され、これらの仮想線により、それぞれの穴Ｐ１〜Ｐ４が、面Ｆ１のいずれかの頂点または他の穴と接続されている。
【００８７】
ここで、穴Ｐ２と穴Ｐ３との間の部分で新たに発生した切欠きＲ１の区間は、穴Ｐ２と穴Ｐ３とを接続している仮想線Ｋ３と一致する。このような場合に、図１４Ｂに示すように、既存の仮想線Ｋ３を通常の辺Ｌ１に変換する（サブステップ７４）。この変換を行った後、サブステップ３７を終了する。
【００８８】
次に、切分けの開始点Ｓ及び終了点Ｅが、それぞれ異なる穴の辺上であるか否かを確認する（サブステップ７５）。異なる穴の辺上である場合にはサブステップ７６へ進み、そうでない場合にはサブステップ７７へ進む。
【００８９】
例えば、図１４Ａ及びＢに示すように、新たに発生した切欠きＲ２の開始点Ｓ及び終了点Ｅは、それぞれ異なる穴Ｐ２、Ｐ４の辺上に位置している。このとき、新たな切欠きＲ２によって、不要となる仮想線を削除する。
【００９０】
具体的には、穴Ｐ２は、仮想線Ｋ２によって面Ｆ１の頂点Ｍ２と接続され、さらに仮想線Ｋ３によって穴Ｐ３と接続されている。また、穴Ｐ３は、仮想線Ｋ４によって穴Ｐ４と接続されている。このとき、仮想線Ｋ２ないしＫ４の階層関係は、面Ｆ１の外周から数えてＫ２、Ｋ３、Ｋ４の順に定義することができる。
【００９１】
この場合において、新たに発生した切欠きＲ２により、穴Ｐ２と穴Ｐ４とは、新たに生成される辺Ｌ２で接続されることになる。そこで、この新たに生成される辺Ｌ２によって不要となる仮想線、すなわち、穴Ｐ２とＰ４とにそれぞれ対応する仮想線Ｋ２とＫ４のうち、より下位にある仮想線Ｋ４を削除する（サブステップ７６）。また、より上位にある仮想線Ｋ２を削除することなく温存する。
【００９２】
なお、別の切欠きＲ３は、穴Ｐ１と面Ｆ１の外周との間で発生している。この場合にも、前述の場合と同様に、穴Ｐ１に関して、仮想線Ｋ１を削除する。
【００９３】
次に、面Ｆ１の辺上における切欠きの開始点Ｓ及び終了点Ｅの位置に応じて、分割後の各断片に所定の数の頂点を追加する（サブステップ７７）。
【００９４】
具体的には、切欠きの開始点Ｓ及び終了点Ｅが、面Ｆ１の辺上の頂点と一致するか、あるいは辺の中間点にあるかにより、分割後の各断片に追加する頂点の数を決定する。例えば、図１２Ｂに示すように、切欠きの開始点Ｓが面Ｆ１の辺Ｌの中間点に位置し、かつ終了点Ｅが面Ｆ１の頂点Ｍ６と一致する場合には、分割後の断片Ｆ１１に対して２頂点（Ｍ２１、Ｍ２２）を追加するとともに、分割後の他の断片Ｆ１２に対して１頂点（Ｍ６１）を追加する。また、切欠きの開始点Ｓ及び終了点Ｅがともに面Ｆ１の頂点のいずれかと一致する場合は、分割後のそれぞれの断片Ｆ１１、Ｆ１２に対して１頂点を追加する。
【００９５】
この結果、分割により発生した断片Ｆ１１及びＦ１２は、面Ｆ２に関して表となるか裏となるかが確定する。そこで、それぞれの断片Ｆ１１及びＦ１２に対して、面Ｆ２に関する表裏を示すフラグを付加する。この場合は、図１４Ａ，Ｂに示すように、面Ｆ１の上部で新たな切欠きＲ４が発生し、その切欠きＲ４の上側と下側で別の断片に分割される。分割後のそれぞれの断片は、面Ｆ２に関する表裏が確定し、その旨を示すフラグが付される。
【００９６】
なお、このようにフラグが付されても、面Ｆ２に続く図形Ｇ２の次の面による切欠きにより、さらに分割されるような場合には、このフラグは変更される場合がある。また、次の面による切欠きにより、前述した切入れなどの線状の切れ目が発生するのみで、分割が発生しない場合には、一度確定した表裏のフラグを取り消し、再び未確定とする。
【００９７】
次に、切欠きの開始点Ｓ及び終了点Ｅの間を通過する仮想線があるか否かを確認する（サブステップ７８）。このような仮想線がある場合はサブステップ７９へ進み、その仮想線の接続先を変更する。ない場合は、サブステップ３７を終了する。
【００９８】
この場合の具体例を図１５に示す。図１５Ａに示すように、面Ｆ１では、その内部に新たな切分けが発生し、その開始点Ｓ１及び終了点Ｅ１の間を、既存の仮想線Ｋが通過している。このような場合に、仮想線Ｋの接続先を変更し、図１５Ｂに示すように、切分けの区間と交差しない仮想線Ｋ’とする（サブステップ７９）。この変更の後、サブステップ３７を終了する。
【００９９】
なお、このような仮想線の接続先の変更は、前述した切込み、切抜け、切入れの各処理においても同様に行われる。すなわち、図１５Ａに示す新たな切込みの開始点Ｓ２及び終了点Ｅ２、切抜けの開始点Ｓ３及び終了点Ｅ３、切入れの開始点Ｓ４及び終了点Ｅ４のそれぞれの間を通過する仮想線Ｋがある場合には、図１５Ｂに示すように、仮想線Ｋの接続先の変更を行い、それぞれの区間と交差しない仮想線Ｋ’とする。
【０１００】
次に、再び図４に戻り、サブステップ１４以降の処理について説明する。まず、図形Ｇ２のすべての面について、面Ｆ１及びこれから生成されたすべての断片の切欠き処理が終了したか否かを確認する（サブステップ１４）。すべての面について終了していなければ、Ｇ２から次の面を取り出してこれを面Ｆ２とし（サブステップ１５）、サブステップ１３へ戻り、すべての面について終了するまで、サブステップ１３、１４を繰り返す。終了していれば、サブステップ１６へ進む。
【０１０１】
続いて、図形Ｇ１のすべての面について、Ｇ２による切欠き処理が終了したか否かを確認する（サブステップ１６）。すべての面について終了していなければ、Ｇ１から次の面を取り出してこれを面Ｆ１とし（サブステップ１７）、サブステップ１２へ戻り、すべての面について終了するまで、サブステップ１２ないし１６を繰り返す。終了していれば、ステップ０２を終了する。
【０１０２】
以上のように、図形Ｇ２で図形Ｇ１を切り取る処理は、面Ｆ２による面Ｆ１及びこれから生成されたすべての断片の切欠き処理の繰り返しに還元される。すなわち、図形Ｇ１及びＧ２における相貫関係の分析は、それぞれの図形を構成する面同士の相貫関係の分析に還元される。
【０１０３】
なお、面Ｆ１に対して、図形Ｇ２のすべての面による切欠き処理を行った結果、面Ｆ１の図形Ｇ２に対する表裏が確定していない場合には、補足的な処理を行って表裏を判定してもよい。例えば、面Ｆ１に関して、図形Ｇ２のすべての面が同じ側（面Ｆ１の上または下）にある場合には、面Ｆ１は図形Ｇ２の表（外側）にあると判定し、面Ｆ１が、図形Ｇ２のすべての面に関して下側にある場合には、面Ｆ１は図形Ｇ２の裏（内側）にあると判定するようにしてもよい。
【０１０４】
＜ステップ０３：裏側となる部分の除去＞
再び図２に戻り、ステップ０２以降の処理について説明する。ステップ０３において、制御手段２は、図形Ｇ１において、図形Ｇ２の裏側となる部分を除去する。
この除去は、前述したサブステップ７７において、面Ｆ１の各断片に付された、表裏を示すフラグに基づいて行われる。すなわち、図形Ｇ１を構成するすべての面において、裏を示すフラグが付されている断片を一括して除去する。これにより、図形Ｇ１において、図形Ｇ２と合成したときに、図形Ｇ２の裏側となって表示されない部分が除去される。
【０１０５】
＜ステップ０４：図形Ｇ１、Ｇ２の合成表示＞
次に、制御手段２は、ステップ０３において、除去されずに残った部分を有する面で構成された図形Ｇ１と、図形Ｇ２とを合成して、その結果をディスプレイなどの表示手段７に表示し、オペレータに提示する。
【０１０６】
以上のように、景観検討装置１にインストールされている三次元図形演算プログラムによれば、図形Ｇ２で図形Ｇ１を切り取る処理を、面Ｆ２による面Ｆ１の切欠き処理の繰り返しに還元することができる。これにより、複雑な三次元図形演算を単純化でき、データ量の増大を抑制しつつ、精度の高い図形演算を行うことができる。
【０１０７】
また、従来のように、面の裏側となる部分を陰面処理によって非表示にするのではなく、当該部分を上記切欠き処理によって削除することにより、例えば道路などの構造物の法面と地形との接合部分に余分な隙間を生じることなく、連続的に接合された、現実の整地工事の結果を正しく予測する合成画面を生成することができる。
【０１０８】
次に、この三次元図形演算プログラムによる図形演算を、高台整地後の景観のシミュレーションに応用した高台整地機能について、図１６〜図３２に基づき説明する。
【０１０９】
＜高台整地機能＞
景観検討装置１により実現される高台整地機能は、前述の図形演算をより一般的な任意形状の整地面（例えば住宅団地）に応用したものであり、当該整地面と既存地形との間に補完すべき法面の立体的形状を効率的に生成し、当該法面が適切に補完された整地後の景観のシミュレーションを可能とするものである。
【０１１０】
景観検討装置１によって生成される整地後の合成画面の表示例を、従来例との比較として図１６に示す。
【０１１１】
すなわち、陰面処理（従来例）により合成画面を表示した結果を示す図１６Ａにおいては、整地面Ｔの下方には見かけ上は表示されていないものの、地形Ｇｏの法面部分（切土法面）が隠されている。つまり、地形Ｇｏと整地面Ｔ、法面などが重なり合って裏側となる部分は、表示上は見えないもののデータとしては存在している。
【０１１２】
一方、図１６Ｂに示す本願の景観検討装置１による整地後の合成画面の表示例では、切土法面Ｕｆは整地面Ｔに隠されることなく、整地面Ｔと地形Ｇｏとの間に適切に補完され、かつ、これら各面の重なる部分は適切に削除された上で隙間無く連続的に接合されている。
【０１１３】
このような整地後の合成画面を生成する際に、景観検討装置１にインストールされている高台整地プログラムでは、前述の三次元図形演算プログラムによる図形演算を応用している。すなわち、地形Ｇｏに指定された整地面Ｔの形状などから、中間図形（法面テンプレート）を生成するとともに、この中間図形と地形Ｇｏとに対して、三次元図形演算プログラムによる図形演算の機能を選択的に適用して、これらの図形同士の切欠き処理を行う。
【０１１４】
この切欠き処理の結果、地形Ｇｏにおいて中間図形（法面テンプレート）の裏側となる部分が削除され、地形Ｇｏの一部が当該中間図形の形状にくり貫かれる。また、この切欠き処理の過程では、前述の図１６Ｂで述べたような、地形Ｇｏと整地面Ｔとの間に補完されるべき法面（切土法面及び盛土法面）が中間生成物として生成される。この中間生成物としての切土法面及び盛土法面が、地形Ｇｏのくり貫かれた部分に最終的に接合されることにより、これら各法面、整地面Ｔ、及び地形Ｇｏがなめらかに接合された整地後の合成画面が生成される。
【０１１５】
なお、この高台整地プログラムは、予めＲＯＭ４などの記憶手段に記憶されていればよく、あるいはＣＤ−ＲＯＭなどの外部記録媒体からインストールされ、ハードディスクドライブ装置などの記録手段５に記録されていてもよい。以下、制御手段２が実行する高台整地プログラムの処理について、図１７のフローチャートに基づき説明する。
【０１１６】
＜高台整地プログラム：全体の流れ＞
高台整地プログラムは、主に図１７に示す５つの処理ステップで構成される。各ステップの処理の概要を以下に示す。
（ステップ１０１）整地を施す対象となる地形の三次元図形を生成する。
（ステップ１０２）ステップ１０１において生成した地形を平面表示する画面において、当該地形に対する整地面の外形線を指定する。
（ステップ１０３）法面テンプレート（中間図形）を生成する際に必要となる、整地面の標高や法面の勾配値などの各種パラメータを設定する。
（ステップ１０４）ステップ１０２で指定された外形線の周辺に、ステップ１０３において設定された各種パラメータに基づき、中間図形としての法面テンプレートを生成する。
（ステップ１０５）ステップ１０４で生成された法面テンプレートと、ステップ１０１において生成した地形の三次元図形とに対し、三次元図形演算プログラムによる図形演算を適用して、整地後の合成画面を生成する。
【０１１７】
以下、これら各ステップについて、詳細に説明する。
【０１１８】
＜ステップ１０１：地形の三次元図形を生成する＞
まず、整地を施す対象となる地形の三次元図形を生成する。この三次元図形としては、図１８Ａに示すようなＤＥＭ（Ｄｉｇｉｔａｌ  Ｅｌｅｖａｔｉｏｎ  Ｍｏｄｅｌ：数値標高モデル）で表現された地形のメッシュデータをベースとして利用することができる。この地形のメッシュデータは、予め所定のファイル形式でハードディスクドライブ装置などの記録手段５に記録しておけばよく、また、このメッシュデータを二次元配列のデータとしてメモリなどのＲＡＭ３上に構築する処理は、従来の手法を用いて行うことができる。
【０１１９】
この地形のメッシュデータは、前述の三次元図形演算プログラムによる図形演算の対象図形Ｇ１（またはＧ２）とされるものであるが、この図形演算の適用を受ける前提として、空間的に開かれている当該地形の下側を適切な側面及び底面で囲んだ、いわゆる「閉じた図形」となっている必要がある。
【０１２０】
そこで、制御手段２は、ＲＡＭ３上に展開された地形のメッシュデータに対し、各メッシュの三角形分割や接続関係の分析を行い、当該地形に補うべき側面及び底面を生成して、これらを地形データに付加する処理を行う。この側面及び底面が付加された地形Ｇｏの例を図１８Ｂに示す。
【０１２１】
なお、この底面を付加する際には、その付加位置の目安として、地形の最低標高よりも少し低い点をいくつか候補としてディスプレイなどの表示手段７に表示し、その中の一つを当該底面の標高値としてオペレータに適宜選択させるようにしてもよい。また、このような底面及び側面が付加された地形Ｇｏは、本ステップ１０１に先立って予め生成しておき、これを用いるようにしてもよい。また、地形Ｇｏは、上述のＤＥＭで表現されたメッシュデータなどから作成した元の地形（例えば、図１８Ｂに示す地形Ｇｏ）に対して、後述するステップ１０２〜１０５の処理を行い、既に別の位置での高台整地処理が行われた結果として形成された、閉じた図形を用いるものであっても良い。
【０１２２】
＜ステップ１０２：整地面の形状（外形線）を指定する＞
次に、オペレータの操作により、ステップ１０１において作成した地形Ｇｏに対して施される整地面の形状（外形線）を指定する。
【０１２３】
この指定は、例えばステップ１０１において作成された地形Ｇｏを、ディスプレイなどの表示手段７に平面図表示し、オペレータがこの画面から整地面の外形線を構成する頂点をマウスなどの入力手段６を用いて順次入力することにより行うことができる。
【０１２４】
あるいは、当該指定は、外形線を構成するいくつかの頂点の座標値をキーボードから入力したり、予めＣＡＤ等によって作成されている団地計画案のデータなどから敷地の外形線を抽出し、その外周の形状から取得するようにしてもよい。また、このように指定した外形線のデータは、外部ファイルとしてハードディスクドライブ装置などの記録手段５に記録し、その後の処理においてこれを適宜読み出すようにしてもよい。
【０１２５】
＜ステップ１０３：各種パラメータを設定する＞
次に、オペレータの操作により、法面テンプレート（中間図形）を生成する際に必要となる各種パラメータを設定する。
【０１２６】
このパラメータとしては、ステップ１０２で指定された整地面の地形における標高を示す標高値や、当該整地面から生成する法面の勾配（高さ１ｍにつき何ｍ後退するか）などが設定される。なお、これらのパラメータは、上記ステップ１０２において地形Ｇｏを平面図表示した画面において、オペレータがキーボードから数値入力できるようにしておいてもよい。
【０１２７】
＜ステップ１０４：法面テンプレートを生成する＞
次に、制御手段２は、ステップ１０３において設定された各種パラメータに基づき、中間図形としての法面テンプレートを生成する。
【０１２８】
この法面テンプレートは、整地後の地形に対して補完される法面（切土法面及び盛土法面）の図形を生成したり、整地を施す対象となる地形から当該整地によって不要となる部分を削除するために用いられる中間生成データであり、前述のステップ１０２において指定された整地面の形状、及びステップ１０３において指定された法面の勾配値などに基づき自動生成される。
【０１２９】
この法面テンプレートの生成に関するステップ１０４は、さらに図１９のフローチャートに示す６つのサブステップから構成される。以下、各サブステップの処理について説明する。
【０１３０】
＜サブステップ１１１：整地面Ｔを生成する＞
まず、前述のステップ１０２において指定された整地面の形状（外形線）のデータから、整地面Ｔを生成する。この整地面Ｔは、当該外形線によって外周を囲まれた面として、例えば図２０に示す形状に生成される。
【０１３１】
＜サブステップ１１２：切土法面テンプレートＵを生成する＞
次に、上記サブステップ１１１において生成された整地面Ｔと、前述のステップ１０３においてオペレータの操作により設定された法面の勾配値などのパラメータとに基づき、切土法面テンプレートＵを生成する。
【０１３２】
この切土法面テンプレートＵは、整地が施される地形が整地面Ｔによって整地されたときに、当該整地面Ｔよりも標高の高い地形部分と、当該整地面Ｔとの間に補完されるべき「切土法面」の形状を求めるためのもので、当該整地面Ｔの外周部分から上側（標高の高い方）へ向かって、前記設定された勾配となるような法面を有している。
【０１３３】
この切土法面テンプレートＵの例を図２１に示す。この例における切土法面テンプレートＵは、整地面Ｔの外周部分から延びる法面が上方外側へ傾き、上部が開放された形状を呈しているが、設定される勾配値によっては、整地面Ｔの外周部分から延びる法面の傾きが本例とは逆となり、法面が内側へ傾いて上部が閉じられた形状（例えば屋根形）に生成される。
【０１３４】
この切土法面テンプレートＵの生成においても、三次元図形演算プログラムによる図形演算を利用することができる。その生成手順について、簡単に説明する。
【０１３５】
まず、図２２Ａに示すように、整地面Ｔの外形線を構成する各辺から、法面の候補となる長方形の面を延伸する。このとき、図２２Ｂに示すように、隣り合う辺同士で作られる内角が１８０度以上（凹状）となる場合には、各辺から生成される面の間に生じる隙間を三角形で等分し、左右の面とつなぐ。この三角形の等分数は、法面生成のパラメータの一つとして適宜変更可能であるが、予め初期値として十分な表示の質が得られ、かつ過度にデータを肥大させない経験値を設定しておいてもよい。
【０１３６】
このようにして生成した各面を、オペレータによって指定された勾配となるようにそれぞれ傾ける。このとき、各面の高さをどの程度までとするかは、最大高さとして予め設定しておけばよい。その結果として生成される中間図形の例を図２３に示す。ここでは、整地面Ｔの外形線は辺ａから辺ｆまでの６つの辺で構成され、それぞれの辺から延伸された面ａ〜ｆが内側へ傾いて、整地面上方の中央付近で互いに交差する形状となっている。
【０１３７】
次に、コピーなどによりこの図形を２組生成し、その２つの図形に対して、三次元図形演算プログラムによる図形演算を適用する。具体的には、この２つの図形の一方をＧ１、他方をＧ２として、図２に示すステップ０１〜０４を実行する。
【０１３８】
なお、これら各ステップは、ここでは必ずしもすべて実行される必要はなく、例えば面同士の相貫関係を分析するステップ０２のみを外部関数として定義し、これを呼び出して使用するものであってもよい。ここでは少なくとも、ステップ０２及びステップ０３を実行して、面同士の切欠き処理を行い、不要な部分を削除する。
【０１３９】
その結果、最終的に図２４に示すような法面テンプレートを得る。ここでは、この法面テンプレートは、図２１に示した切土法面テンプレートＵとは逆の方向への勾配を有する形状（いわゆる屋根形）に生成されているが、この勾配値を適宜変更することにより、前述の切土法面テンプレートＵをはじめとする任意形状のテンプレートを得ることができる。
【０１４０】
なお、ここで生成された切土法面テンプレートＵは、後述のステップ１０５において三次元図形演算プログラムによる図形演算の対象図形とされる。また、図２１の例のように上部が開放された形状となった場合には、後述のサブステップ１１４において、当該開放部分を覆う蓋が生成される。
【０１４１】
＜サブステップ１１３：盛土法面テンプレートＬを生成する＞
次に、上記サブステップ１１１において生成された整地面Ｔと、前述のステップ１０３においてオペレータの操作により設定された法面の勾配値などのパラメータとに基づき、盛土法面テンプレートＬを生成する。
【０１４２】
この盛土法面テンプレートＬは、整地が施される地形が整地面Ｔによって整地されたときに、当該整地面Ｔよりも標高の低い地形部分と、当該整地面Ｔとの間に補完されるべき「盛土法面」の形状を求めるためのもので、当該整地面Ｔの外周部分から下側（標高の低い方）へ向かって、前記設定された勾配となるように盛土法面が生成される。なお、この盛土法面テンプレートＬは、前述の切土法面テンプレートＵと同様の手順で生成することができる。
【０１４３】
この盛土法面テンプレートＬの例を図２５に示す。この例における盛土法面テンプレートＬは、整地面Ｔの外周部分から延びる盛土法面が下方外側へ傾き、下部が開放された形状を呈しているが、設定される勾配値によっては、前述の切土法面テンプレートＵと同様に、整地面Ｔの外周から延びる盛土法面の傾きが本例とは逆となり、法面が内側へ傾いて下部が閉じられた形状に生成される。
【０１４４】
なお、この盛土法面テンプレートＬは、前述の切土法面テンプレートＵと同様、後述のステップ１０５において三次元図形演算プログラムによる図形演算の対象図形とされる。また、本例のように下部が開放された形状となった場合には、次のサブステップ１１４において、当該開放部分を覆う蓋が生成される。
【０１４５】
＜サブステップ１１４：閉じた法面テンプレートを生成する＞
次に、上記サブステップ１１２において生成された切土法面テンプレートＵの上部の開放部分を覆う蓋ＵＳ、及び上記サブステップ１１３において生成された盛土法面テンプレートＬの下部の開放部分を覆う蓋ＬＳを生成する。
【０１４６】
蓋ＵＳは、切土法面テンプレートＵにおいて切土法面を構成する面から、切土法面最大高さに一致する水平の辺を抽出し、これらの辺を連結することで生成される。同様に、蓋ＬＳは、盛土法面テンプレートＬにおいて盛土法面を構成する面から、盛土法面最小高さに一致する水平の辺を抽出し、これらの辺を連結することで生成される。
【０１４７】
そして、この生成された蓋ＵＳ、ＬＳを、切土法面テンプレートＵ上部の開放部分、及び盛土法面テンプレートＬ下部の開放部分にそれぞれ合成し、さらに各テンプレートＵ，Ｌに整地面Ｔも付加して、閉じた切土法面テンプレートＵＣ、及び閉じた盛土法面テンプレートＬＣを生成する。
【０１４８】
＜サブステップ１１５：法面全体のテンプレートＡを生成する＞
次に、上記サブステップ１１４において生成した２つの閉じた法面テンプレートを、整地面Ｔの部分で合成することにより、閉じた法面テンプレートＡ（以下、法面全体テンプレートＡとする）を生成する。
【０１４９】
この法面全体テンプレートＡの例を図２６に示す。ここでは、法面全体テンプレートＡは、整地面Ｔを挟んで上側の切土法面テンプレートＵＣと、下側の盛土法面テンプレートＬＣとが合成された形状となっている。
【０１５０】
この法面全体テンプレートＡは、後続のステップ１０５において、三次元図形演算プログラムによる図形演算の対象図形として使用される。なお、ここで生成された法面全体テンプレートＡのデータは、ハードディスクドライブ装置などの記録手段５に記録してもよい。
【０１５１】
＜ステップ１０５：各テンプレートと地形との間の図形演算＞
再び図１７のステップ１０５に戻り、制御手段２は、上記ステップ１０４において生成した各テンプレート、及びステップ１０１において生成した整地の対象となる地形Ｇｏとに対して、三次元図形演算プログラムによる図形演算を適用する。
【０１５２】
この図形演算の処理は、主に図２７のフローチャートに示す４つのサブステップにより行われる。以下、各サブステップについて説明する。
【０１５３】
＜サブステップ１２１：切土法面テンプレートＵと地形との図形演算＞
まず、上記サブステップ１１２で生成された切土法面テンプレートＵと、地形Ｇｏとに対し、三次元図形演算プログラムによる図形演算を適用し、切土法面テンプレートＵから地形Ｇｏの外側となる部分を削除する。
【０１５４】
この処理は、前述の図２に示す三次元図形演算プログラムによる図形演算の処理フローにおいて、切土法面テンプレートＵを図形Ｇ１、地形Ｇｏを図形Ｇ２とし、ステップ０１〜０４を実行することにより行われる。なお、これら各ステップは、ここでは必ずしもすべて実行される必要はなく、例えば面同士の相貫関係を分析するステップ０２のみを外部関数として定義し、これを呼び出して使用するものであってもよい。ここでは少なくとも、ステップ０２及びステップ０３を実行して面同士の切欠き処理を行い、不要な部分を削除する。
【０１５５】
これにより、切土法面テンプレートＵから地形Ｇｏの外側となる部分が削除される。その結果、この切土法面テンプレートＵのうち、整地後に整地面Ｔと地形Ｇｏとの間に切土法面として補完されるべき部分のみが残される。ここでは、その残りの部分（切土法面）をＵｆとし、その形状の例を図２８に示す。
【０１５６】
＜サブステップ１２２：盛土法面テンプレートＬと地形との図形演算＞
次に、上記サブステップ１１３で生成された盛土法面テンプレートＬと、地形Ｇｏとに対し、三次元図形演算プログラムによる図形演算を適用し、盛土法面テンプレートＬから地形Ｇｏの内側となる部分を削除する。この処理は、上記サブステップ１２１と同様、盛土法面テンプレートＬを図形Ｇ１、地形Ｇｏを図形Ｇ２とし、これら各図形に対して、少なくとも前記ステップ０２及びステップ０３を実行して面同士の切欠き処理を行い、不要な部分を削除することにより行われる。
【０１５７】
これにより、盛土法面テンプレートＬから地形Ｇｏの内側となる部分が削除される。その結果、この盛土法面テンプレートＬのうち、整地後に整地面と図形との間に盛土法面として補完されるべき部分のみが残される。ここでは、その残りの部分（盛土法面）をＬｆとし、その形状の例を図２９に示す。
【０１５８】
＜サブステップ１２３：法面テンプレートＡと地形との図形演算＞
次に、上記サブステップ１１５で生成された法面テンプレートＡと、地形Ｇｏとに対し、三次元図形演算プログラムによる図形演算を適用し、地形Ｇｏから法面テンプレートＡの内側となる部分を削除する。この処理も、上記サブステップ１２１と同様、地形Ｇｏを図形Ｇ１、法面テンプレートＡを図形Ｇ２とし、これら各図形に対して、少なくとも前記ステップ０２及びステップ０３を実行して面同士の切欠き処理を行い、不要な部分を削除することにより行われる。
【０１５９】
これにより、地形Ｇｏから法面テンプレートＡの内側となる部分、すなわち整地によって不要となる部分が削除され、それ以外の部分が残される。ここでは、その残りの部分（処理後地形）をＧｆとし、その形状の例を図３０に示す。
【０１６０】
＜サブステップ１２４：図形演算結果の合成＞
次に、上記サブステップ１２１〜１２３において生成された切土法面Ｕｆ、盛土法面Ｌｆ、及び処理後地形Ｇｆと、ステップ１１１において生成された整地面Ｔとを合成し、これを整地後の新たな地形（高台地形）Ｇｎとする。この合成処理は、図２に示すステップ０４の合成表示処理を実行するものであってもよい。
【０１６１】
この新たな地形（高台地形）Ｇｎは、図３１に示すように、処理後地形Ｇｆの削除部分において、切土法面Ｕｆ、整地面Ｔ、及び盛土法面Ｌｆが隙間なくなめらかに接合されており、特に従来の陰面処理では整地面Ｔの下に隠れて表示されなかった切土法面Ｕｆが、地形Ｇｆと整地面Ｔとの間に適切に補完されている。
【０１６２】
また、盛土法面Ｌｆについても、処理後地形Ｇｆと重なる部分においては単に非表示とされているのではなく、適切に削除された上で合成されているため、データ量に無駄がなく、また図３２に示すようにワイヤーフレーム（線形状）で表示した場合でも分かりやすく、かつ現実の整地工事の結果を正確に予測している。
【０１６３】
なお、上記のように合成された新たな地形（高台地形）Ｇｎは、ディスプレイなどの表示手段７に表示してオペレータに提示されるが、この処理結果が不十分である場合には、処理結果の取消などを行って、適宜必要なステップへ戻ることも可能である。また、その際には、上記各ステップにおいて生成されたテンプレートなどのデータをバックアップファイルとして記録手段５に記録し、再処理の際に必要に応じてこれらを読み出すようにしてもよい。
【０１６４】
＜土量計算機能＞
なお、上記の新たな地形（高台地形）Ｇｎの合成表示に際し、当該地形の生成に必要となる土量（体積）の計算結果を表示するようにしてもよい。
【０１６５】
この場合には、上記サブステップ１１４において中間的に生成した、地形Ｇｏとの図形演算の結果残される切土法面テンプレートＵＣの部分と、図形演算の結果削除される地形Ｇｏの部分と、地形Ｇｏの内部となる整地面Ｔの部分とによる、切土部分の形状に対応する閉じた図形に関して、一般的な方法により求積計算を行い、高台整地における切土により削除される立体の土量（体積）Ｖ１を求める。
【０１６６】
同様に、地形Ｇｏとの図形演算の結果残される盛土法面テンプレートＬＣの部分と、図形演算の結果削除される地形Ｇｏの部分と、地形Ｇｏの外部となる整地面Ｔの部分とによる、盛土部分の形状に対応する閉じた図形に関して、一般的な方法により求積計算を行い、高台整地における盛土により追加される立体の土量（体積）Ｖ２を求める。そして、これらＶ１及びＶ２の差分を算出し、これを最終的な全体の土量収支Ｖとして表示手段７に表示する。
【０１６７】
なお、この土量計算はあくまでもオプションであり、必要に応じてオペレータが実行の要否を選択すればよい。また、この土量の計算結果は、外部ファイルとしてハードディスクドライブ装置などの記録手段５に記録するようにしてもよい。
【０１６８】
以上のように、この発明の景観検討装置によれば、地形と構造物との相貫関係の分析を、それぞれの図形を構成する面同士の切欠き処理の繰り返しに還元する三次元図形演算プログラムによって行うため、複雑な三次元図形演算を単純化でき、データ量の増大を抑制しつつ、精度の高い図形演算を行うことができる。
【０１６９】
また、地形に施される整地面の形状などから、中間図形としての法面テンプレートを生成し、この法面テンプレート及び地形に対して三次元図形演算プログラムによる図形演算を適用することにより、整地後に不要となる地形部分を削除するとともに、整地面と地形との間に補うべき適切な形状の切土法面及び盛土法面を簡単かつ高精度に生成することができる。これにより、高台整地後の景観シミュレーションの効率化が実現され、より多くの計画案を作成し、検討することが可能となる。
【０１７０】
また、この図形演算後の合成画面においては、整地後に不要となる部分を非表示とすることなく、適切に削除した上で各面を合成していることから、データ量の無駄を生じることがなく、かつそれぞれの接合部分には余分な隙間がなく、なめらかな接合とすることができる。
【０１７１】
なお、この発明の高台整地プログラムは、メモリ上にロードして実行されるダイナミックリンクライブラリ（ＤＬＬ）としても提供することができる。このように、この発明の高台整地プログラムをダイナミックリンクライブラリとして提供することにより、他のプログラムに影響を与えることなく独立して修正や更新を行うことができ、この点でも保守性が向上する。
【０１７２】
また、このように、高台整地プログラムをダイナミックリンクライブラリとして独立させることにより、この高台整地プログラムで実現される高台整地機能を、独立した機能として提供することが可能となる。これにより、かかる高台整地機能の適用範囲は、本実施形態に係る景観検討装置のような、景観の検討を目的とするものに限定されることなく、他の様々な装置にも応用することができる。
【０１７３】
また、高台整地プログラムが利用する三次元図形演算プログラムについても、同様にダイナミックリンクライブラリとして提供することが可能であり、この場合には、同様に三次元図形演算プログラムの保守性が向上するとともに、この三次元図形演算プログラムで実現される図形演算機能についても、独立した機能として提供することができる。この場合において、これら各ダイナミックリンクライブラリは、社内ネットワークやインターネットなどを経由して、ネットワーク上の各コンピュータに提供されるようにしてもよい。
【０１７４】
以上、この発明の景観検討装置により実現される高台整地機能は、傾斜地の造成などにより整地面を生成するような事業全般に応用可能であるが、とりわけ津波被害対策、地盤沈下対策、あるいは地球温暖化対策として、今後の被災が予想される沿岸地域の集落などの高台移転計画において、特にその必要性が高まるものと想定される。
【符号の説明】
【０１７５】
１  景観検討装置
２  制御手段（ＣＰＵ）
３  記憶手段（ＲＡＭ）
４  記憶手段（ＲＯＭ）
５  記録手段
６  入力手段
７  表示手段
８  通信インタフェース
９  撮像手段
１０  穴あき面
１１  穴
１２  頂点
Ｋ  仮想線
Ｓ  切欠きの開始点
Ｅ  切欠きの終了点
Ｇｏ  地形
Ｔ  整地面
Ｕ  切土法面テンプレート
Ｌ  盛土法面テンプレート
Ａ  法面全体テンプレート
Ｕｆ  切土法面
Ｌｆ  盛土法面
Ｇｎ  新たな地形（高台地形）
【要約】
【課題】  山間部などの傾斜面を有する地形を整地した際の景観のシミュレーションを効率的かつ高精度に行うことのできる高台整地プログラム、ダイナミックリンクライブラリ及び景観検討装置を提供する。
【解決手段】  高台整地プログラムは、整地が施される地形の三次元図形を生成する第１ステップと、生成された地形の三次元図形に対して施される整地面の外形線の入力を受け付ける第２ステップと、外形線の入力を受け付けた整地面と地形との間に補完される法面の勾配値の入力を受け付ける第３ステップと、整地面の外形線及び法面の勾配値に基づき、中間図形としての法面テンプレートを生成する第４ステップと、法面テンプレート及び地形の三次元図形との間で三次元図形演算を行い、地形と整地面との間に法面が補完された整地後の新たな地形を生成する第５ステップと、をコンピュータに実行させる。
【選択図】      図１７【図１】
0005320576.tif 000002
【図２】
0005320576.tif 000003
【図３】
0005320576.tif 000004
【図４】
0005320576.tif 000005
【図５】
0005320576.tif 000006
【図６Ａ】
0005320576.tif 000007
【図６Ｂ】
0005320576.tif 000008
【図７】
0005320576.tif 000009
【図８】
0005320576.tif 000010
【図９】
0005320576.tif 000011
【図１０Ａ】
0005320576.tif 000012
【図１０Ｂ】
0005320576.tif 000013
【図１１】
0005320576.tif 000014
【図１２Ａ】
0005320576.tif 000015
【図１２Ｂ】
0005320576.tif 000016
【図１３】
0005320576.tif 000017
【図１４Ａ】
0005320576.tif 000018
【図１４Ｂ】
0005320576.tif 000019
【図１５Ａ】
0005320576.tif 000020
【図１５Ｂ】
0005320576.tif 000021
【図１６Ａ】
0005320576.tif 000022
【図１６Ｂ】
0005320576.tif 000023
【図１７】
0005320576.tif 000024
【図１８Ａ】
0005320576.tif 000025
【図１８Ｂ】
0005320576.tif 000026
【図１９】
0005320576.tif 000027
【図２０】
0005320576.tif 000028
【図２１】
0005320576.tif 000029
【図２２Ａ】
0005320576.tif 000030
【図２２Ｂ】
0005320576.tif 000031
【図２３】
0005320576.tif 000032
【図２４】
0005320576.tif 000033
【図２５】
0005320576.tif 000034
【図２６】
0005320576.tif 000035
【図２７】
0005320576.tif 000036
【図２８】
0005320576.tif 000037
【図２９】
0005320576.tif 000038
【図３０】
0005320576.tif 000039
【図３１】
0005320576.tif 000040
【図３２】
0005320576.tif 000041