(57)【要約】【課題】従来生成できなかった複雑な屋根モデル及び建物モデルを生成する。【解決手段】建物モデル生成装置１０において、建物の地面上の輪郭を表すベースラインのデータと、ベースラインを通過する垂直方向の断面の輪郭を表すプロファイルのデータとを入力してメモリ２３に格納する。格納したデータに基づいて、ベースラインに基づく地面上の外周ループを生成して格納し、地面から高さを上昇させながら、辺消滅イベント、ループ分離イベント、平行衝突イベント又は軒イベントが発生するか否かを検出する。いずれかの検出時に外周ループのデータに基づいて屋根多角形を生成し、外周ループの各辺の接続情報を更新して、屋根多角形のデータ及び外周ループの各辺の接続情報を格納し、これらの処理を地面から高さを上昇させて外周ループが消滅するまでイベントの検出時毎に実行する。屋根多角形のデータをマージして屋根モデルの３次元形状データを生成する。【選択図】図４０
2008123319.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置を備えたコンピュータを用いて建物モデルの３次元形状データを生成する建物モデル生成方法において、
建物の地面上の輪郭を表すベースラインのデータと、上記ベースラインを通過する垂直方向の断面の輪郭を表すプロファイルのデータとを入力して上記記憶装置に格納する入力ステップと、
上記格納されたベースライン及びプロファイルのデータに基づいて、上記ベースラインに基づく地面上の外周ループを生成して上記記憶装置に格納し、当該地面から高さを上昇させながら、
（ａ）当該外周ループの辺が消滅する辺消滅イベントが発生するか否か、
（ｂ）当該外周ループのループが分離するループ分離イベントが発生するか否か、
（ｃ）当該外周ループの互いに平行する２つの辺が接近して衝突する平行衝突イベントが発生するか否か、
（ｄ）当該外周ループの辺が外側に向かって平行移動する軒イベントが発生するか否かとを検出し、上記いずれかのイベントの検出時に当該外周ループのデータに基づいて屋根多角形を生成し、外周ループの各辺の接続情報を更新して、屋根多角形のデータ及び外周ループの各辺の接続情報を上記記憶装置に格納し、これらの処理を地面から高さを上昇させて外周ループが消滅するまで上記いずれかのイベントの検出時毎に実行する屋根多角形生成ステップと、
上記生成された屋根多角形のデータをマージすることにより屋根モデルの３次元形状データを生成するマージステップとを含むことを特徴とする建物モデル生成方法。
【請求項２】
上記屋根モデルのデータに基づいて、上記建物モデルにおける屋根側面及び壁面のデータを生成した後、上記建物モデルの３次元形状データを生成する生成ステップをさらに含むことを特徴とする請求項１記載の建物モデル生成方法。
【請求項３】
上記屋根モデルの３次元形状データに基づいて、上記屋根モデルの外観を表示し、もしくは、上記建物モデルの３次元形状データに基づいて、上記建物モデルの外観を表示する表示ステップをさらに含むことを特徴とする請求項１又は２記載の建物モデル生成方法。
【請求項４】
上記ベースラインのデータは、当該ベースラインの各両端の座標を含み、上記プロファイルのデータは、軒の高さと、軒の出幅と、屋根勾配とを含むことを特徴とする請求項１乃至３のうちのいずれか１つに建物モデル生成方法。
【請求項５】
上記屋根多角形生成ステップは、互いに平行な２つの辺に対し、当該２つの辺間距離及び屋根勾配に基づいて決定される高さ増大時の各辺の移動速度に基づいて当該２つの辺が衝突する高さを計算することにより、当該外周ループの互いに平行する２つの辺が接近して衝突する平行衝突イベントが発生するか否かを判断することを含むことを特徴とする請求項４記載の建物モデル生成方法。
【請求項６】
記憶装置を備えたコンピュータを用いて建物モデルの３次元形状データを生成する建物モデル生成装置において、
建物の地面上の輪郭を表すベースラインのデータと、上記ベースラインを通過する垂直方向の断面の輪郭を表すプロファイルのデータとを入力して上記記憶装置に格納する入力手段と、
上記格納されたベースライン及びプロファイルのデータに基づいて、上記ベースラインに基づく地面上の外周ループを生成して上記記憶装置に格納し、当該地面から高さを上昇させながら、
（ａ）当該外周ループの辺が消滅する辺消滅イベントが発生するか否か、
（ｂ）当該外周ループのループが分離するループ分離イベントが発生するか否か、
（ｃ）当該外周ループの互いに平行する２つの辺が接近して衝突する平行衝突イベントが発生するか否か、
（ｄ）当該外周ループの辺が外側に向かって平行移動する軒イベントが発生するか否かとを検出し、上記いずれかのイベントの検出時に当該外周ループのデータに基づいて屋根多角形を生成し、外周ループの各辺の接続情報を更新して、屋根多角形のデータ及び外周ループの各辺の接続情報を上記記憶装置に格納し、これらの処理を地面から高さを上昇させて外周ループが消滅するまで上記いずれかのイベントの検出時毎に実行する屋根多角形生成手段と、
上記生成された屋根多角形のデータをマージすることにより屋根モデルの３次元形状データを生成するマージ手段とを備えたことを特徴とする建物モデル生成装置。
【請求項７】
上記屋根モデルのデータに基づいて、上記建物モデルにおける屋根側面及び壁面のデータを生成した後、上記建物モデルの３次元形状データを生成する生成手段をさらに備えたことを特徴とする請求項６記載の建物モデル生成装置。
【請求項８】
上記屋根モデルの３次元形状データに基づいて、上記屋根モデルの外観を表示し、もしくは、上記建物モデルの３次元形状データに基づいて、上記建物モデルの外観を表示する表示手段をさらに備えたことを特徴とする請求項６又は７記載の建物モデル生成装置。
【請求項９】
上記ベースラインのデータは、当該ベースラインの各両端の座標を含み、上記プロファイルのデータは、軒の高さと、軒の出幅と、屋根勾配とを含むことを特徴とする請求項６乃至８のうちのいずれか１つに建物モデル生成装置。
【請求項１０】
上記屋根多角形生成手段は、互いに平行な２つの辺に対し、当該２つの辺間距離及び屋根勾配に基づいて決定される高さ増大時の各辺の移動速度に基づいて当該２つの辺が衝突する高さを計算することにより、当該外周ループの互いに平行する２つの辺が接近して衝突する平行衝突イベントが発生するか否かを判断することを特徴とする請求項９記載の建物モデル生成装置。
【請求項１１】
請求項１乃至５のうちのいずれか１つに建物モデル生成方法の各ステップを含むことを特徴とする建物モデル生成プログラム。
【請求項１２】
請求項１１記載の建物モデル生成プログラムを記録したことを特徴とするコンピュータにより読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば家屋などの３次元の屋根モデル又は建物モデルを生成する建物モデル生成方法及び装置、並びに建物モデル生成プログラムとそれを記録した記録媒体に関する。
【背景技術】
【０００２】
住宅や住宅関連設備の提案や設計、あるいはゲームなどの映像作成において建物をコンピュータグラフィックスで表示する場合、建物を３次元形状としてモデリングする必要がある。
【０００３】
建物屋根には切妻、寄棟、入母屋、陸屋根といった種類があり、建物形状によって複雑に組み合った屋根面形状となる。この屋根形状を汎用的なＣＡＤ（Computer Aided Design）システムを用いて３次元形状として作図するには、各屋根面の３次元での取り合い関係を理解しながら作業する必要があり、この負荷を軽減するため、屋根種類に応じて建物の屋根形状を設計する方法が提案されている（特許文献１−４参照）。ここで、図４４及び図４５は従来技術で自動生成可能な建物形状を示す。
【０００４】
例えば、特許文献４においては、ＣＡＤシステムに接続されるものであって、屋根の形状や矩形を入力するだけで自動的に屋根の形状等を設計できる屋根設計システムが開示されている。この屋根設計システムでは、
（ａ）屋根の形状及び矩形を入力するための屋根情報入力部と、
（ｂ）この情報を所要の情報に変換するための変換情報を入力するための変換情報入力部と、
（ｃ）屋根の形状や矩形及び変換情報に基づいて屋根を生成する屋根生成部と、
（ｄ）生成された屋根を出力する出力部と、
（ｅ）各部を制御する制御部とを備える。
さらに必要に応じ、
（ｆ）複数の屋根が生成された場合に屋根同士の重複の有無を判別する重複判別部と、
（ｇ）屋根が重複していると判別された時に重複部分の矩形と同矩形でかつ同形状の屋根を生成する追加屋根生成部と、
（ｈ）生成された屋根を重複部分に対し排他的論理和により追加する屋根追加部と、
（ｉ）追加された屋根の棟部分を１辺とする４面体を生成する４面体生成部と、
（ｊ）４面体を重複部分に対し排他的論理和により追加する４面体追加部とを備える。
【０００５】
【特許文献１】特開平３−２０８７４号公報。
【特許文献２】特開平３−５０６８０号公報。
【特許文献３】特開平４−９６１８１号公報。
【特許文献４】特開平８−２７８９９１号公報。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来技術に係る屋根設計方式では、図４４及び図４５のように、屋根種類（切妻や寄棟）が単一で、かつ軒高さが一定であることを前提としており、図４６のように屋根種類が複数混在する場合や、図４７及び図４８のように軒高さが異なる場合には対応できていない。また、建物輪郭はほぼ直角に折れ曲がっていることを前提としており、図４９のように斜めにカットされた建物輪郭には対応できない。さらに、図５０のように同一輪郭線上に軒とケラバ部が混在する場合、及び図５１のように屋根面の途中から別の屋根が発生する場合、またさらに、図５３のように同一屋根で複数の軒先を持つ建物にも対応できていない。
【０００７】
これらのケースでは屋根形状及び壁面形状は複雑に入り組んだ形状となることがあり、実際の住宅でしばしば見られるものである。図４６乃至図５２のような屋根は、既存の技術では自動生成に対応できないため、ＣＡＤ操作に精通した技術者による３次元形状の編集操作で対応している。
【０００８】
本発明の目的は以上の問題点を解決し、図４６乃至図５２に示すような従来技術では生成できなかった複雑な屋根モデル及びそれを有する建物モデルを生成できる建物モデル生成方法及び建物モデル生成プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
第１の発明に係る建物モデル生成方法は、記憶装置を備えたコンピュータを用いて建物モデルの３次元形状データを生成する建物モデル生成方法において、
建物の地面上の輪郭を表すベースラインのデータと、上記ベースラインを通過する垂直方向の断面の輪郭を表すプロファイルのデータとを入力して上記記憶装置に格納する入力ステップと、
上記格納されたベースライン及びプロファイルのデータに基づいて、上記ベースラインに基づく地面上の外周ループを生成して上記記憶装置に格納し、当該地面から高さを上昇させながら、
（ａ）当該外周ループの辺が消滅する辺消滅イベントが発生するか否か、
（ｂ）当該外周ループのループが分離するループ分離イベントが発生するか否か、
（ｃ）当該外周ループの互いに平行する２つの辺が接近して衝突する平行衝突イベントが発生するか否か、
（ｄ）当該外周ループの辺が外側に向かって平行移動する軒イベントが発生するか否かとを検出し、上記いずれかのイベントの検出時に当該外周ループのデータに基づいて屋根多角形を生成し、外周ループの各辺の接続情報を更新して、屋根多角形のデータ及び外周ループの各辺の接続情報を上記記憶装置に格納し、これらの処理を地面から高さを上昇させて外周ループが消滅するまで上記いずれかのイベントの検出時毎に実行する屋根多角形生成ステップと、
上記生成された屋根多角形のデータをマージすることにより屋根モデルの３次元形状データを生成するマージステップとを含むことを特徴とする。
【００１０】
上記建物モデル生成方法において、上記屋根モデルのデータに基づいて、上記建物モデルにおける屋根側面及び壁面のデータを生成した後、上記建物モデルの３次元形状データを生成する生成ステップをさらに含むことを特徴とする。
【００１１】
また、上記建物モデル生成方法において、上記屋根モデルの３次元形状データに基づいて、上記屋根モデルの外観を表示し、もしくは、上記建物モデルの３次元形状データに基づいて、上記建物モデルの外観を表示する表示ステップをさらに含むことを特徴とする。
【００１２】
さらに、上記建物モデル生成方法において、上記ベースラインのデータは、当該ベースラインの各両端の座標を含み、上記プロファイルのデータは、軒の高さと、軒の出幅と、屋根勾配とを含むことを特徴とする。
【００１３】
またさらに、上記建物モデル生成方法において、上記屋根多角形生成ステップは、互いに平行な２つの辺に対し、当該２つの辺間距離及び屋根勾配に基づいて決定される高さ増大時の各辺の移動速度に基づいて当該２つの辺が衝突する高さを計算することにより、当該外周ループの互いに平行する２つの辺が接近して衝突する平行衝突イベントが発生するか否かを判断することを含むことを特徴とする。
【００１４】
第２の発明に係る建物モデル生成装置は、記憶装置を備えたコンピュータを用いて建物モデルの３次元形状データを生成する建物モデル生成装置において、
建物の地面上の輪郭を表すベースラインのデータと、上記ベースラインを通過する垂直方向の断面の輪郭を表すプロファイルのデータとを入力して上記記憶装置に格納する入力手段と、
上記格納されたベースライン及びプロファイルのデータに基づいて、上記ベースラインに基づく地面上の外周ループを生成して上記記憶装置に格納し、当該地面から高さを上昇させながら、
（ａ）当該外周ループの辺が消滅する辺消滅イベントが発生するか否か、
（ｂ）当該外周ループのループが分離するループ分離イベントが発生するか否か、
（ｃ）当該外周ループの互いに平行する２つの辺が接近して衝突する平行衝突イベントが発生するか否か、
（ｄ）当該外周ループの辺が外側に向かって平行移動する軒イベントが発生するか否かとを検出し、上記いずれかのイベントの検出時に当該外周ループのデータに基づいて屋根多角形を生成し、外周ループの各辺の接続情報を更新して、屋根多角形のデータ及び外周ループの各辺の接続情報を上記記憶装置に格納し、これらの処理を地面から高さを上昇させて外周ループが消滅するまで上記いずれかのイベントの検出時毎に実行する屋根多角形生成手段と、
上記生成された屋根多角形のデータをマージすることにより屋根モデルの３次元形状データを生成するマージ手段とを備えたことを特徴とする。
【００１５】
上記建物モデル生成装置において、上記屋根モデルのデータに基づいて、上記建物モデルにおける屋根側面及び壁面のデータを生成した後、上記建物モデルの３次元形状データを生成する生成手段をさらに備えたことを特徴とする。
【００１６】
また、上記建物モデル生成装置において、上記屋根モデルの３次元形状データに基づいて、上記屋根モデルの外観を表示し、もしくは、上記建物モデルの３次元形状データに基づいて、上記建物モデルの外観を表示する表示手段をさらに備えたことを特徴とする。
【００１７】
さらに、上記建物モデル生成装置において、上記ベースラインのデータは、当該ベースラインの各両端の座標を含み、上記プロファイルのデータは、軒の高さと、軒の出幅と、屋根勾配とを含むことを特徴とする。
【００１８】
またさらに、上記建物モデル生成装置において、上記屋根多角形生成手段は、互いに平行な２つの辺に対し、当該２つの辺間距離及び屋根勾配に基づいて決定される高さ増大時の各辺の移動速度に基づいて当該２つの辺が衝突する高さを計算することにより、当該外周ループの互いに平行する２つの辺が接近して衝突する平行衝突イベントが発生するか否かを判断することを特徴とする。
【００１９】
第３の発明に係る建物モデル生成プログラムは、上記建物モデル生成方法の各ステップを含むことを特徴とする。
【００２０】
第４の発明に係るコンピュータにより読取可能な記録媒体は、上記建物モデル生成プログラムを記録したことを特徴とする。
【発明の効果】
【００２１】
従って、本発明に係る建物モデル生成方法及び装置によれば、建物のベースライン及びプロファイルの入力処理のみで、図４６乃至図５２のような複雑な屋根形態を有する建物の３次元モデルを生成し、コンピュータグラフィックで表示することが可能となることから、設計技術や３次元ＣＡＤシステムの知識を持たない営業担当者等でも操作可能な、設計、提案、見積用のシステムを実現できる。近年ではノート型パーソナルコンピュータが普及しており、これらシステムを格納したパーソナルコンピュータを事務所から持ち出し、顧客宅を訪問してその場で提案や設計を行なうことも可能となる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
【００２３】
図１は本発明の一実施形態に係る、建物モデル生成システムの構成を示すブロック図であり、図４０は図１の建物モデル生成装置によって実行される建物モデル生成処理を示すフローチャートである。本実施形態に係る建物モデル生成処理は、特に、ベースラインとプロファイルの作成処理（Ｓ１）を含むとともに、イベント検出処理（Ｓ３）において平行衝突イベント検出処理（Ｓ２１）及び軒イベント検出処理（Ｓ２２）をさらに含み、従来技術で自動生成が不可能であった図４６乃至図５２の屋根モデルを生成することを特徴としている。
【００２４】
本実施形態の建物モデル生成システムは、大きく分けて、
（ａ）ディジタル計算機で構成され、ベースラインやプロファイルのデータを入力するためのパーソナルコンピュータ１と、
（ｂ）ディジタル計算機で構成され、上記入力されるベースライン及びプロファイルのデータに基づいて、図４０の建物モデル生成処理を実行することにより、屋根モデルを含む建物モデルのデータを生成して、当該建物モデルをＣＲＴディスプレイ４３に表示して出力する建物モデル生成装置１０とを備えたことを特徴としている。
【００２５】
ここで、パーソナルコンピュータ１内の通信インターフェース１ａと、建物モデル生成装置１０の通信インターフェース５１との間が通信ケーブル５０を介して接続される。これらの通信インターフェース１ａ，５１は例えばＵＳＢ（Universal Serial Bus）インターフェース又はＬＡＮ（Local Area Network）インターフェースなどである。そして、パーソナルコンピュータ１により入力されたベースラインやプロファイルのデータがパーソナルコンピュータ１から通信ケーブル５０を介して建物モデル生成装置１０に送信されて建物モデル生成装置１０で受信されてデータ処理が実行される。
【００２６】
まず、図１を参照して、建物モデル生成装置１０の構成について説明する。建物モデル生成装置１０は、
（ａ）当該建物モデル生成装置１０の動作及び処理を演算及び制御するコンピュータのＣＰＵ（中央演算処理装置）２０と、
（ｂ）オペレーションプログラムなどの基本プログラム及びそれを実行するために必要なデータを格納するＲＯＭ（読み出し専用メモリ）２１と、
（ｃ）ＣＰＵ２０のワーキングメモリとして動作し、画像処理で必要なパラメータやデータを一時的に格納するＲＡＭ（ランダムアクセスメモリ）２２と、
（ｄ）建物モデル生成処理において用いる各種データ（図２参照。）を格納するためのハードディスクメモリ２３と、
（ｅ）例えばハードディスクメモリで構成され、ＣＤ−ＲＯＭドライブ装置４５を用いて読みこんだ図４０の建物モデル生成処理のプログラムを格納するプログラムメモリ２４と、
（ｆ）パーソナルコンピュータ１内の通信インターフェース１ａと接続され、通信インターフェース１ａとデータを送受信する通信インターフェース５１と、
（ｇ）所定のデータや指示コマンドを入力するためのキーボード４１に接続され、キーボード４１から入力されたデータや指示コマンドを受信して所定の信号変換などのインターフェース処理を行ってＣＰＵ２０に伝送するキーボードインターフェース３１と、
（ｈ）ＣＲＴディスプレイ４３上で指示コマンドを入力するためのマウス４２に接続され、マウス４２から入力されたデータや指示コマンドを受信して所定の信号変換などのインターフェース処理を行ってＣＰＵ２０に伝送するマウスインターフェース３２と、
（ｉ）ＣＰＵ２０によって処理されたデータや設定指示画面、生成された屋根モデルを含む建物モデルの３次元画像などを表示するＣＲＴディスプレイ４３に接続され、表示すべき画像データをＣＲＴディスプレイ４３用の画像信号に変換してＣＲＴディスプレイ４３に出力して表示するディスプレイインターフェース３３と、
（ｊ）ＣＰＵ２０によって処理されたデータ及び所定の建物モデル生成結果などを印字するプリンタ４４に接続され、印字すべき印字データの所定の信号変換などを行ってプリンタ４４に出力して印字するプリンタインターフェース３４と、
（ｋ）図４０の建物モデル生成処理のプログラムが記憶されたＣＤ−ＲＯＭ４５ａから当該プログラムのプログラムデータを読み出すＣＤ−ＲＯＭドライブ装置４５に接続され、読み出された画像処理プログラムのプログラムデータを所定の信号変換などを行ってプログラムメモリ２４に転送するドライブ装置インターフェース３５ａと、
（ｌ）ベースラインやプロファイルのデータを記憶する、例えばハードディスクメモリなどの外部記憶装置６０に接続され、読み出されたデータを所定の信号変換などを行ってＣＰＵ２０又はハードディスクメモリ２３に転送するドライブ装置インターフェース３５ｂとを備え、
これらの回路２０−２４、３１−３４、３５ａ、３５ｂ及び５１はバス３０を介して接続される。
【００２７】
本実施形態では、パーソナルコンピュータ１において入力されたベースラインやプロファイルのデータがその通信インターフェース１ａから通信ケーブル５０を介して建物モデル生成装置１０の通信インターフェース５１に送信されて受信された後、データ処理のためにハードディスクメモリ２３内のテーブル２３ａ，２３ｂに一時的に格納される。なお、ベースラインやプロファイルのデータについては、キーボード４１を用いてこれらのデータを入力してハードディスクメモリ２３内のテーブル２３ａ，２３ｂに格納してもよい。
【００２８】
図２は図１のハードディスクメモリ２３の構成を示すブロック図であり、図２に示すように、ハードディスクメモリ２３は以下の各種テーブルを格納する。本実施形態では、３次元の建物モデルを生成するので、各データは互いに直交するｘｙｚの３次元座標（一部は２次元の座標、もしくは１次元の数値データを含む。）で表される。
（ａ）詳細後述するベースラインのデータを格納するベースラインテーブル２３ａ。
（ｂ）詳細後述するプロファイルのデータを格納するプロファイルテーブル２３ｂ。
（ｃ）詳細後述する外周ループのデータ（外周ループの各辺の両端座標）を格納する外周ループテーブル２３ｃ。
（ｄ）詳細後述する屋根多角形のデータ（屋根多角形を形成する各辺の両端座標）を格納する屋根多角形テーブル２３ｄ。
（ｅ）詳細後述するループ接続情報のデータ（ループを形成する各辺の両端座標と、それらの間の接続情報）を格納するループ接続情報テーブル２３ｅ。
（ｆ）詳細後述する屋根側面のデータ（屋根側面を形成する面の各辺の両端座標）を格納する屋根側面テーブル２３ｆ。
（ｇ）詳細後述する壁面のデータ（壁面を形成する面の各辺の両端座標）を格納する壁面テーブル２３ｇ。
（ｈ）詳細後述する３次元形状の建物モデルのデータ（建物モデルの３次元形状の各辺の両端座標）を格納する３次元形状テーブル２３ｈ。
【００２９】
図３は図１のベースラインテーブル２３ａ及びプロファイルテーブル２３ｂの構成を示すブロック図であり、図４（ａ）は本実施形態に係るベースラインＢ１−Ｂ４とその座標との関係を示す平面図であり、図４（ｂ）は図４（ａ）のベースラインＢ１−Ｂ４に対応する３次元建物との関係を示す斜視図である。図３において、図４の一例に対応するベースラインテーブル２３ａを図示している。ベースラインテーブル２３ａは以下のデータを含む。
（ａ）ベースラインＢ１の始点座標（ｘ１，ｙ１）。
（ｂ）ベースラインＢ１の終点座標（ｘ２，ｙ２）。
（ｃ）ベースラインＢ１の属性へのポインタ、すなわち、ベースラインＢ１上に形成されるプロファイルＰ１のデータのプロファイルテーブル２３ｂにおける格納アドレス。
（ｄ）ベースラインＢ２の始点座標（ｘ２，ｙ２）。
（ｅ）ベースラインＢ２の終点座標（ｘ３，ｙ３）。
（ｆ）ベースラインＢ２の属性へのポインタ、すなわち、ベースラインＢ２上に形成されるプロファイルＰ２のデータのプロファイルテーブル２３ｂにおける格納アドレス。
（ｇ）ベースラインＢ３の始点座標（ｘ３，ｙ３）。
（ｈ）ベースラインＢ３の終点座標（ｘ４，ｙ４）。
（ｉ）ベースラインＢ３の属性へのポインタ、すなわち、ベースラインＢ３上に形成されるプロファイルＰ３のデータのプロファイルテーブル２３ｂにおける格納アドレス。
（ｊ）ベースラインＢ４の始点座標（ｘ４，ｙ４）。
（ｋ）ベースラインＢ４の終点座標（ｘ１，ｙ１）。
（ｌ）ベースラインＢ４の属性へのポインタ、すなわち、ベースラインＢ４上に形成されるプロファイルＰ４のデータのプロファイルテーブル２３ｂにおける格納アドレス。
【００３０】
図６（ａ）は本実施形態に係るプロファイルＰ１における軒の高さＨ１、軒の出幅Ｗ１及び屋根勾配Ｋ１を示す断面図であり、図６（ｂ）は本実施形態に係るプロファイルＰ１における屋根厚さＴ１を示す断面図である。ベースラインＢ１の属性であるプロファイルＰ１のデータは、図６に示すように、プロファイルテーブル２３ｂにおいて以下のデータを含む。
（ａ）軒種別Ｓ１（具体的な軒種別の名称、例えば、切妻、寄棟、入母屋など）。
（ｂ）軒の高さＨ１（ｍ）。
（ｃ）軒の出幅Ｗ１（ｍ）。
（ｄ）屋根勾配Ｋ１（度）（水平方向に対する勾配角度をいう。）。
（ｅ）屋根厚さＴ１（ｍ）（図６（ｂ）に示すように、屋根先端の軒の垂直方向の長さをいい、必要に応じて有限値となる。）
【００３１】
さらに、ベースラインＢ２の属性であるプロファイルＰ２のデータは、プロファイルＰ１と同様に、プロファイルテーブル２３ｂにおいて以下のデータを含む。
（ａ）軒種別Ｓ２。
（ｂ）軒の高さＨ２（ｍ）。
（ｃ）軒の出幅Ｗ２（ｍ）。
（ｄ）屋根勾配Ｋ２（度）。
（ｅ）屋根厚さＴ２（ｍ）。
【００３２】
またさらに、ベースラインＢ３，Ｂ４の属性であるプロファイルＰ３，Ｐ４のデータはそれぞれ、プロファイルＰ１，Ｐ２と同様に、プロファイルテーブル２３ｂにおいて同様のデータを含む。
【００３３】
図４０は、実施形態に係る建物モデル生成処理のメインフローを示すフローチャートであり、図４０及びその他の図面を参照して、建物モデル生成処理の各処理について以下に詳細説明する。
【００３４】
図５は本実施形態に係るベースラインＢ１−Ｂ６を示す平面図である。図４０のベースラインとプロファイルの入力処理（Ｓ１）においては以下のようにベースライン及びプロファイルのデータが入力されてベースラインテーブル２３ａ及びプロファイルテーブル２３ｂが作成される。ベースラインは屋根生成の基準となる２次元有向線分の集合であり、「矢印の向きの左側が建物の内側」となるように向きを決める。図８に示すように、各ベースラインに対し、その直交方向に建物を切断したときの断面形状をそのベースラインのプロファイルという。プロファイルは、上述のように、軒種別、軒の高さ、軒の出幅、屋根勾配、及び屋根厚さのデータを含む。ベースラインとプロファイルの組み合わせにより、切妻、寄棟、入母屋その他の形状を一貫した原理で記述することができる。
【００３５】
図７は本実施形態に係る切妻壁７０を含む建物モデルを示す斜視図である。切妻壁７０はそれ自身の軒を持たず、隣接の軒から派生する屋根面により上端の形状が決定される。記述の一貫性を保つため、切妻面は軒高さが無限大のプロファイルを有すると考える。軒の出幅と屋根勾配は意味をもたない。
【００３６】
図８（ａ）は本実施形態に係る建物モデルにおけるベースラインＢ１を示す斜視図であり、図８（ｂ）は図８（ｂ）のベースラインＢ１に対応するプロファイルＰ１を示す斜視図である。図８において、ベースラインをプロファイルに沿って掃引すると、その軌跡として屋根や壁ができる。建物の外周以外に付加的な線分をベースラインとして追加することにより、外周多角形だけでは表現できない様々な形状を表現することができる。
【００３７】
図９（ａ）は本実施形態に係る１階屋根と２階屋根とが混在する建物モデルを示す外観図であり、図９（ｂ）は図９（ａ）の建物モデルにおけるベースラインＢ１−Ｂ６を示す平面図である。建物外周（１階の壁）に加えて２階の壁をベースラインとして追加し、軒高さを２階屋根の位置とするプロファイルを用いると図９のような建物モデルの形状を記述することができる。
【００３８】
図１０（ａ）は本実施形態に係る入母屋７１を含む建物モデルを示す外観図であり、図１０（ｂ）は図１０（ａ）の建物モデルにおけるベースラインＢ１−Ｂ８を示す平面図である。図１０に示すように、入母屋の三角形（図１０のハッチング部分）を一種の壁（入母屋壁７１，７２）と見なし、この位置にベースラインＢ７，Ｂ８を追加することにより入母屋屋根を記述することができる。
【００３９】
図１１（ａ）は本実施形態に係るペディメントのための仮想の軒７３，７４を含む建物モデルを示す外観図であり、図１１（ｂ）は図１１（ａ）の建物モデルのベースラインＢ１−Ｂ１０を示す平面図である。ペディメント部分の屋根には対応する軒がない。そこで壁表面から建物内部に向かって伸びる仮想的な軒７３を想定し、これに対応するベースラインＢ９，Ｂ１０を追加することによりペディメント形状を記述できる。
【００４０】
以上のベースラインとプロファイルの入力処理では、ベースラインテーブル２３ａ及びプロファイルテーブル２３ｂで格納している建物モデルのベースライン及びプロファイルをＣＲＴディスプレイ４３に表示し、プロファイルを表示する範囲をオペレータの指示により拡大、縮小、スクロールすることを可能に構成する。操作対象として選択されているプロファイルを強調表示し、属性データの種類によって、建物モデルのプロファイルを色分け表示することで、オペレータが属性設定状況を把握しやすくすることができる。また、作図している際の建物モデルのプロファイルの線分はＣＲＴディスプレイ４３上に常に表示することが好ましく、オペレータは入力中の線分を確認しながら入力を行なうことができる。さらに、建物モデルのプロファイルの表示では、入力の目安となる碁盤の目形状のグリッド点を表示し、プロファイルの入力ではこのグリッド点近傍をマウスでクリックすることで、正確にグリッド点の持つ座標値を入力するように構成している。建物モデルのプロファイルの入力では、マウス４２だけでなくキーボード４１を用いた数値指定も可能である。例としては、１点目の座標値を数値で入力し、その座標値から次の点までの相対座標を入力することで２点目を入力し、以降も同様に必要な座標点を入力する方法がある。入力している建物モデルのプロファイルの線分と、プロファイルの属性から自動的に生成されるそれらの３次元形状は、ＣＲＴディスプレイ４３上に表示されており、オペレータは生成される建物形状を確認しながら、建物モデルのプロファイルの線分と輪郭属性の編集操作を行なうことができる。
【００４１】
図１２（ａ）乃至（ｄ）は本実施形態に係る建物モデル生成処理における外周ループの種々の生成例を示す平面図である。図４０の外周ループの作成処理（Ｓ２）においては、入力されたベースラインが線分のばらばらの集合であるので、これらの最外周をたどり、初期ループ（図１２の外周太線部）を作成する。初期ループに関与しないベースライン（図１２の細線部）は処理の過程でループに組み入れられ、屋根形状生成に寄与する。
【００４２】
図１３（ａ）乃至（ｄ）は本実施形態に係る建物モデル生成処理におけるイベント検出処理（Ｓ３）の種々の処理例を示す平面図であり、図１４（ａ）乃至（ｄ）は本実施形態に係る建物モデル生成処理におけるイベント検出処理の種々の処理例を示す平面図である。図４０のイベント検出処理（Ｓ３）においては、以下の検出処理を実行する。
（ａ）平行衝突イベント検出処理（Ｓ２１）。
（ｂ）軒イベント検出処理（Ｓ２２）。
（ｃ）辺消滅イベント検出処理（Ｓ２３）。
（ｄ）ループ分離イベント検出処理（Ｓ２４）。
【００４３】
図４０のイベント検出処理（Ｓ３）では、高さを上昇させてゆくときの外周ループの変化を検出し、特に、後述する４つのイベントを検出したか否かを判断する。ここで、高さが連続的に上昇するとき、等高線を平面上に投影した図形を考えると、これは時々刻々変形する多角形であると考えることができる。仮想的な水面を考え、水面が徐々に上昇するときの海岸線の変化と考えることもできる。その一例を図１３に示す。図１３においては、高さを所定の変化幅で離散的に上昇させたときの等高線８１−８９を図示している。また、変形は辺の長さの変わる連続的な変形だけではなく、辺の数が変わる不連続な変化を伴う。また、ループの数が変わることもある。それらの例を図１４に示す。図１４においては、等高線９１−１００を図示している。これらの不連続変化を、「イベント」という。本実施形態では、当該イベントを
（ａ）平行衝突イベントと、
（ｂ）軒イベントと、
（ｃ）辺消滅イベントと、
（ｄ）ループ分離イベントと
に分類したことを特徴としている。
【００４４】
図１５（ａ）乃至（ｄ）は本実施形態に係る建物モデル生成処理における平行衝突イベント検出処理（Ｓ２１）の種々の処理例を示す平面図である。平行な２つの辺が徐々に接近して、衝突を起こしその結果として接続の状態が変化するときこれを「平行衝突イベント」という。「平行衝突イベント」には、図１５の例に示すように多様なバリエーションがあり、これらを詳細に分類し、そのパターンに応じて接続を組替えることにより種々の形状を生成することが本実施形態の特徴である。
【００４５】
また、高さがあるベースラインの軒高さに達すると、そのベースラインは突然、軒の出分だけ外側に向かって平行移動する。これを「軒イベント」という。平面図が直交２軸に平行な辺だけで構成される建物ではすべての不連続変形は「平行衝突イベント」と「軒イベント」により引き起こされる。ところが平面図に斜めの辺を含む建物形状では上記以外の原因で接続の変化を起こすことがある。
【００４６】
図４１は、図４０の平行衝突イベント検出処理（Ｓ２１）の詳細を示すフローチャートである。図４１において、まず、ステップＳ３１では外周ループの１つの辺Ａを選択し、ステップＳ３２では衝突対象候補の１つの辺Ｂを選択する。次いで、ステップＳ３３では、辺の対（Ａ，Ｂ）で下記の２条件Ｉ，ＩＩを満たすもののうち発生高さが最小のものを求める。
＜条件Ｉ＞辺Ａと辺Ｂは同じ向き又は逆向きである。すなわち、互いに平行である。
＜条件ＩＩ＞ある高さで衝突する。
さらに、ステップＳ３４では、選択された外周ループの辺Ａにおいてすべての衝突対象候補の辺について処理したか否かが判断され、ＹＥＳのときはステップＳ３５に進む一方、ＮＯのときはステップＳ３２に戻る。ステップＳ３５では、外周ループのすべての辺について処理したか否かが判断され、ＹＥＳのときは元のメインルーチンに戻る一方、ＮＯのときはステップＳ３１に戻る。
【００４７】
図１６（ａ）は本実施形態に係る建物モデル生成処理における辺消滅イベント検出処理の一例を示す建物モデルの外観図であり、図１６（ｂ）は図１６（ａ）の建物モデルにおける辺消滅の処理例を示す平面図である。ある辺の長さが徐々に短くなり、ついには消滅して接続状態が変化する。これを「辺消滅イベント」という。図１６（ａ）において、初期ループは五角形の辺１０１→１０２→１０３→１０４→１０５→（１０１）であるが、辺１０２が消滅し、四角形の辺１１１→１１３→１１４→１１５→（１１１）となる。
【００４８】
図１７（ａ）は本実施形態に係る建物モデル生成処理におけるループ分離イベント検出処理の一例を示す建物モデルの外観図であり、図１７（ｂ）は図１７（ａ）の建物モデルにおけるループ分離の処理例を示す平面図である。ループの頂点が他の辺に衝突することにより、ループがくびれて二つに分離することがある。図１７（ａ）においては、頂点１２１が辺１２２に徐々接近し、ついには１２２に達してループが左右の２つに分離する。このように頂点の一つが他の辺に接触してループが分離する事象を「ループ分離イベント」という。
【００４９】
以上説明したように、イベント検出処理（Ｓ３）は、等高線の高さを徐々に上昇するときに次にどのようなイベントがどの高さで起こるかを予測して検出する処理である。以下、各処理の詳細について説明する。
【００５０】
図１８（ａ）は本実施形態に係る建物モデル生成処理における平行衝突イベント検出処理の一例を示す建物モデルの断面図であり、図１８（ｂ）は図１８（ａ）の平行衝突イベント検出処理において平行衝突する場合を示す平面投影図であり、図１８（ｃ）は図１８（ａ）の平行衝突イベント検出処理において平行衝突しない場合を示す平面投影図である。平行衝突イベント検出処理（Ｓ２１）では、プロファイルＰ１，Ｐ２にそれぞれ属する互いに平行な２つの辺に対し、現在の辺間距離ｄ及び屋根勾配Ｋ１，Ｋ２から決まる移動速度ｖ１，ｖ２により予想衝突高さｈｐを計算することができる。ただし、平面上に投影したものが衝突しない対（図１８（ｃ））は除外する。
【００５１】
図１９は実施形態に係る建物モデル生成処理における軒イベント検出処理の一例を示す建物モデルの断面図である。軒イベント検出処理（Ｓ２２）では、ループに含まれる各ベースラインのプロファイルで軒高さＨ１−Ｈ５が現在の高さｈｃより高いもののうち、最も低いものＨ３を求める。図１９の例では、プロファイルＰ３である。
【００５２】
図２０は実施形態に係る建物モデル生成処理における辺消滅イベント検出処理の一例を示す建物モデルの平面図である。辺消滅イベント検出処理（Ｓ２３）では、ループを構成する各辺に対し、平面上で隣接辺となす角度及びそれぞれの屋根勾配をもとに、辺消滅イベントが発生する屋根高さを次式により求める。
【００５３】
［数１］
Δｚ＝Ｌ／ｖ      （１）
ただし、
［数２］
Δｚ＝（辺消滅が発生する高さ）−（現在の高さｈｃ）      （２）
［数３］
Ｌ＝（当該辺の現在の長さ）      （３）
［数４］
ｖ＝（高さが単位長増加する毎に、辺に起こる長さの減少量）      （４）
【００５４】
この処理をすべての辺に対して行い、それらのうち最小のものを求める。これにより、辺消滅イベントの高さを求めることができる。
【００５５】
図２１は実施形態に係る建物モデル生成処理におけるループ分離イベント検出処理の一例を示す建物モデルの平面図である。ループ分離イベント検出処理（Ｓ２４）においては、凹頂点１２１と辺１２２の組に対し、ループ分離が発生する高さΔｚを次式により求める。
【００５６】
［数５］
Δｚ＝Ｌ／（ｖ１２１＋ｖ１２２）      （５）
ただし、
［数６］
Δｚ＝（ループ分が発生する高さ）−（現在の高さｈｃ）      （６）
［数７］
Ｌ＝（凹頂点１２１と辺１２２の現在の距離）      （７）
［数８］
ｖｐ＝（高さが単位長増加する毎に凹頂点１２１が辺に近づく距離）      （８）
［数９］
ｖｅ＝（高さが単位長増加する毎に辺１２２が移動する距離）      （９）
【００５７】
この処理をすべての辺に対して行い、それらのうち最小のものを求める。これにより、ループ分離イベントの高さを求めることができる。
【００５８】
図４０の最も低いイベントの判定処理（Ｓ４）では、上記で求めた４種類のイベントのうちで最も低い高さのイベントを次のイベントとして決定する。
【００５９】
図２２は実施形態に係る建物モデル生成処理における屋根多角形の作成処理の一例を示す建物モデルの斜視図である。屋根多角形の作成処理（Ｓ５）において、以下の処理を実行する。イベントから次のイベントまでの間はループは接続関係を維持したまま形状のみが変わる。一つの辺に注目すると、これは、上昇しながら、平行移動し、長さを変える。その結果、軌跡として台形を描く（図２２の１４０参照。）。ただし、長さが０になる辺では上辺が縮退して三角形になる。図２２の太線は、軒イベント及び平行衝突イベント発生時のループである。この間には接続関係は変化せず、２つのループの構成辺は１対１に対応する。対応する辺を結んで台形を作成する。以上の処理により、屋根多角形のデータを生成して屋根多角形テーブル２３ｄに格納する。
【００６０】
次いで、ループ接続情報の更新処理（Ｓ６）では、イベントによりループの接続情報が変化する。ステップＳ４で決定されたイベントに応じてループ接続情報テーブル２３ｅのデータの更新を行う。すなわち、図４２に示すように、平行衝突イベントを、コの字接続、Ｚ字接続、逆方向、順方向の４種類に分類し（ステップＳ４１）、それぞれに分岐した後（ステップＳ４２）、ステップＳ４３−Ｓ４６の各処理で平行衝突イベントのループ接続情報の更新処理を実行する。
【００６１】
図２３乃至図２６は実施形態に係る建物モデル生成処理のループ接続情報の更新処理（Ｓ６）における平行衝突イベントのコの字接続処理の一例を示す建物モデルの平面図である。まず、コの字接続の平行衝突イベントでは、例えば、衝突する２辺１６１，１６２が互いに逆向きで、第３の辺１６３を介して接続している場合での場合である。重複部分が消滅し長い方の辺はその一部が残る（図２４の１６１，１６５及び図２５の１６２，１６６参照。）。さらに、例えば図２６に示すように、反対側も第４の辺１６４を介してつながっている場合、ループは消滅する。
【００６２】
図２７は実施形態に係る建物モデル生成処理のループ接続情報の更新処理（Ｓ６）における平行衝突イベントのＺ字接続処理の一例を示す建物モデルの平面図である。Ｚ字接続の平行衝突イベントでは、衝突する２辺１７１，１７２が互いに同じ向きで、第３の辺１７３を介して接続している場合での場合である。中間の辺１７３が消滅し、衝突する２本の辺が１本の辺１７２になる。
【００６３】
図２８は実施形態に係る建物モデル生成処理のループ接続情報の更新処理（Ｓ６）における平行衝突イベントの逆方向の処理の一例を示す建物モデルの平面図であり、図２９乃至図３２は、実施形態に係る建物モデル生成処理のループ接続情報の更新処理（Ｓ６）における平行衝突イベントの逆方向の処理の処理例を示す建物モデルの平面図である。逆方向の処理では、図２８に示すように、互いに逆向きの２つの辺１８１，１８２の場合で、上記コの字接続のような中間接続辺がない場合である。この場合は、図２９乃至図３２に示すように、重複部分１８１，１８２が消滅しループは２つに分離する。図２９において分離後の辺は、辺１８１ａ及び１８４、並びに辺１８１ｂ及び１８３であり、図３０において分離後の辺は、辺１８２ａ及び１８３、並びに辺１８２ｂ及び１８４であり、図３１において分離後の辺は、辺１８２及び１８３、並びに辺１８１及び１８４であり、図３２において分離後の辺は、辺１８１及び１８３、並びに辺１８１及び１８４である。
【００６４】
図３３は、実施形態に係る建物モデル生成処理のループ接続情報の更新処理（Ｓ６）における平行衝突イベントの順方向の処理の一例を示す建物モデルの平面図である。順方向の処理では、同じ向きの辺１９１，１９２同士が衝突する場合であるが、一方はループ中に組み入れられていない休眠辺１９２である。この場合、共にループを構成する辺同士が同じ向きで衝突することはあり得ない。そして、休眠辺１９２は両端で他の休眠辺１９３，１９４に接続していなければならない。
【００６５】
建物モデル生成処理のループ接続情報の更新処理（Ｓ６）において、軒イベント検出時の処理では、当該ループの辺が外側に軒の幅出分だけ平行移動するが、ループの接続関係は変わらない。また、建物モデル生成処理のループ接続情報の更新処理（Ｓ６）において、辺消滅イベント検出時の処理では、一辺が消滅しその両側の接続辺が互いに接続するようになる。ただし、三角形の一辺が消滅する場合は他の二辺も同時に消滅し、従ってループ自体が消滅する。さらに、建物モデル生成処理のループ接続情報の更新処理（Ｓ６）において、ループ分離イベント検出時の処理では、ループ分離イベントを検出するときに、ループが二つに分離する（図１７（ｂ）参照。）。
【００６６】
次いで、ステップＳ７では、未処理のループがあるか否かが判断され、ＹＥＳのときはステップＳ３に戻る一方、ＮＯのときはステップＳ８に進む。ステップＳ３からステップＳ７までの処理では、地面からの高さを順次を高くしてゆき、ステップＳ２１−Ｓ２４のイベント検出を行って最も低いイベントを検出してそれに伴うステップＳ５−Ｓ６の処理を実行し、さらに、地面からの高さを高くして行き、すべてのループが消滅すれば、ステップＳ８に進む。すなわち、図４３に示すように、ループ形状の遷移とこれに伴う「形状生成」と「ループ情報の接続更新処理」が本方法の特徴であり、ループ形状の生成処理（Ｓ３−Ｓ５）と、ループ情報の接続更新処理（Ｓ６）とを交互に繰り返しながら屋根を作成し、すべてのループが消滅した時点でステップＳ８に進む。
【００６７】
ステップＳ８では、隣接多角形のマージ処理を実行する。一つの屋根面に注目すると、ステップＳ５の処理で作成された台形や三角形は生成中に発生した各イベントにより、水平線で分割されている。これを一つの多角形に合成する。次いで、ステップＳ９において、屋根側面の作成処理を実行する。屋根の外周辺を検出し、厚さとして指定された長さだけこの辺から下方に平行移動してできる平行四辺形を、屋根の厚みを表現する多角形として作成することにより、屋根側面を作成し、その座標情報を屋根側面テーブル２３ｆに格納する。さらに、ステップＳ１０において、壁面の作成処理を実行する。入力された各ベースラインから鉛直上方に伸びる帯を想定し、ステップＳ５及びＳ９で作成された屋根で切断したものを壁多角形として作成することにより、壁面を作成し、その座標情報を壁面テーブル２３ｇに格納する。さらに、ステップＳ１１の３次元形状生成及び表示出力処理において、以上で生成された「屋根多角形テーブル２３ｄ内の屋根多角形」、「屋根側面テーブル２３ｆ内の屋根側面」及び「壁面テーブル２３ｇ内の壁面」に基づいて、公知のコンピュータグラフィックの方法により、各座標をラインで結線などして３次元形状の屋根形状を含む建物モデルを生成して３次元形状テーブル２３ｈに格納し、当該３次元形状の建物モデルの外観図を例えばＣＲＴディスプレイ４３に出力して表示し、当該建物モデル生成処理を終了する。
【００６８】
なお、建物モデルの表示では、３次元形状テーブル２３ｈで格納している建物モデルの座標データを透視投影法又は平行投影法により、ＣＲＴディスプレイ４３上に表示する。ここで、建物モデルを表示する際のカメラ位置、方向、画角をオペレータの指示で変更可能に構成している。また、ステップＳ１１の処理では、建物モデルの座標データを例えば外部記憶装置６０にファイルとして出力してもよく、他のＣＡＤシステムが読み込めるフォーマット（一般的にはＤＸＦ形式等）のファイルとして出力することにより、当該プログラムが作成した建物モデルの形状データを、他のＣＡＤシステム等で利用可能となる。以上の各部の機能を活用することにより、オペレータは２次元で入力した建物輪郭形状から建物の３次元形状モデルを生成することができる
【００６９】
さらに、本実施形態に係る屋根生成方法及びその作用効果について以下に説明する。
【００７０】
図３４は、実施形態に係る建物モデル生成処理における屋根生成処理の等高線モデルを示す斜視図であって、図３４（ａ）はその建物モデルのみの斜視図であり、図３４（ｂ）はその建物モデルに等高線を追加したときの斜視図であり、図３４（ｃ）はその建物モデルの等高線のみを示す斜視図である。本実施形態では、建物モデルに等高線を併せ考え、高さに対し、等高線は多角形で表され、高さが徐々に増加すると、等高線は外周多角形を初期状態として、高さ上昇に応じて、変形、分離、統合、消滅等の変化を受けながら屋根面を形成する。そして、隣接辺で軒高さの異なる場合、隣接辺で異なる軒高さを指定することにより以下のような屋根を生成することができる。
【００７１】
図３５は実施形態に係る建物モデル生成処理における屋根生成処理において隣接辺で軒高さ異なるときの半切妻屋根の一例を示す斜視図である。以下の処理手順で半切妻の屋根モデルを生成できる。
（１）２辺１５１，１５２が壁辺として徐々に上昇する。
（２）辺１５１の軒高さに到達すると辺１５１は壁から屋根に変化する。
（３）通常の切妻屋根と同様に屋根を生成しながら上昇する。
（４）辺１５２の軒高さに到達すると辺１５１，１５２が共に屋根辺となり、通常の寄棟屋根のように稜線を形成しながら上昇する。結果として半切妻になる。
【００７２】
図３６は実施形態に係る建物モデル生成処理における屋根生成処理において隣接辺で軒高さ異なるときの段違い屋根の一例を示す斜視図である。以下の処理手順で段違い屋根を生成できる。
（１）２辺１５３，１５４が壁として徐々に上昇する。
（２）辺１５３の軒高さに到達すると、辺１５３は壁辺から屋根辺に変化する。
（３）通常の凹角切妻屋根と同様に屋根を生成しながら上昇する。
（４）辺１５４の軒高さに到達すると辺１５３，１５４が共に屋根辺となり、通常の寄棟屋根の凹角のように谷を形成しながら上昇する。結果として段違い屋根になる。
【００７３】
図３７（ａ）は実施形態に係る建物モデル生成処理における屋根生成処理において隣接辺で軒高さ異なるときのベースラインを示す平面図であり、図３７（ｂ）は当該ベースライン内のコの字部分１５５の正面の辺が徐々に後退して平行衝突を発生してドーマー１５６を形成するときの建物モデルの斜視図である。図３７（ａ）のように、外周の内部にコの字形のベースライン１５５を追加した場合を考える。コの字部分は当初は休眠状態であるが、正面の辺が屋根として徐々に後退して平行衝突を起こし、図３７（ｂ）に示すように、活性化されてドーマー１５６を形成する。
【００７４】
図３８（ａ）は実施形態に係る建物モデル生成処理における屋根生成処理において隣接辺で軒高さ異なるときのベースラインを示す平面図であり、図３８（ｂ）は当該ベースライン内の入母屋壁面のためのベースラインＢ１１，Ｂ１２を追加したときに平行衝突を発生して入母屋屋根１５７を形成するときの建物モデルの斜視図である。図３８（ａ）のように外周長方形の内部に入母屋壁面のためのベースラインＢ１１，Ｂ１２を追加すると、最初は通常の寄棟として屋根形状を生成し、ベースラインＢ１１，Ｂ１２に平行衝突した時点でこれらが活性化されて入母屋屋根１５７を形成する。
【００７５】
図３９（ａ）は実施形態に係る建物モデル生成処理における屋根生成処理において隣接辺で軒高さ異なるときのベースラインを示す平面図であり、図３９（ｂ）は当該ベースラインの外周長方形の内部にベースラインＢ２１，Ｂ２２を追加するときにペディメント１５８を形成するときの建物モデルの斜視図である。図３９（ａ）のように外周長方形の内部にベースラインＢ２１，Ｂ２２を追加すると、ペディメント１５８を形成できる。
【００７６】
図４６乃至図５２において本発明で自動的に生成可能な建物モデルを示す。図４６は、寄棟屋根と切妻屋根が混在し、また軒高さが異なる建物モデルを示す。図４７は、寄棟屋根で一部の軒高さが異なる建物モデルを示す。図４８は、建物輪郭が直角ではない建物モデルを示す。図４９は、屋根面の途中から別の屋根面が発生している建物モデルを示す。図５０は、同一の輪郭線上に軒とケラバが混在する建物モデルを示す。図５１は、同一屋根面で複数の軒を持つ建物モデルを示す。図５２は、１階と２階の屋根面が同一面となっている建物モデルを示す。
【００７７】
以上のように構成された本実施形態に係る建物モデル生成装置１０によれば、以下の特有の作用効果を有する。
（１）建物のベースライン及びプロファイルの入力処理のみで、図４６乃至図５２のような複雑な屋根形態を有する建物の３次元モデルを生成し、コンピュータグラフィックで表示することが可能となることから、設計技術や３次元ＣＡＤシステムの知識を持たない営業担当者等でも操作可能な、設計、提案、見積用のシステムを実現できる。近年ではノート型パーソナルコンピュータが普及しており、これらシステムを格納したパーソナルコンピュータを事務所から持ち出し、顧客宅を訪問してその場で提案や設計を行なうことも可能となる。
（２）現地写真と、箱型などの基本形状３次元モデルを重ね合わせて表示し、写真上の建物と一致するように基本形状を変形することで、建物等の３次元計測を行なう手法が知られているが、本実施形態で得られた建物の３次元形状データを現地写真と合成表示し、写真上の建物と一致するように、建物輪郭や軒出幅、屋根勾配属性を編集することで、写真から実在建物の３次元モデルを作成することも容易となる。
（３）上記（１）、もしくは上記（１）及び（２）により、住宅の設計や販売分野において、営業担当者みずからが持ち運んで操作可能な、設計提案システムが実現できる。簡単な建物のベースラインとプロファイルの入力操作を行なうだけで、寄棟屋根や切妻屋根、入母屋屋根といった屋根形態や、軒の出幅、スガリなどの変更による建物の見栄えの差異を、即座にコンピュータグラフィックで表示して顧客に提示することが可能となり、顧客の要望を設計に反映することが容易になる。
（４）上記（１）、もしくは上記（１）及び（２）により、リフォーム分野においては、既築住宅に対して外壁や屋根材の入れ替え、部屋の増設などを提案する際、顧客宅の３次元モデルを作成し、そのモデルを元に外壁や屋根材の張替えや、部屋の増設による見栄えの変化をシミュレーションすることが容易となる。
（５）上記（１）、もしくは上記（１）及び（２）により、ソーラー発電システムに代表される住宅設備分野において、設置する屋根面や壁面の形状を計測する手段として本実施形態に係る建物モデル生成装置１０により生成した３次元モデルを利用することが可能である。また、作成した３次元モデルの上に設備の３次元モデルを配置して、合成画像による景観シミュレーションを行なうことが可能である。特に、屋根面形状について、屋根に上っての実測は屋根材破損の可能性もあり、提案段階で顧客の承諾を得るのは困難であるが、本実施形態に係る建物モデル生成装置１０では、計測が容易な建物輪郭寸法と目測による軒出幅からほぼ正確な屋根３次元形状が生成可能となる。
（６）景観評価など街並みをコンピュータグラフィックで再現するような場合、多数の住宅群を３次元モデルで表現する必要があるが、本実施形態に係る建物モデル生成装置１０によって２次元の建物境界線データ群から一定の屋根ルールで、もしくは建物個別の属性を与えて、多数の３次元屋根付き建物モデルを自動生成することが可能となる。
【００７８】
以上の実施形態においては、建物モデルの外壁の輪郭線（プロファイル）のデータを入力しているが、本発明はこれに限らず、外壁の厚さ方向の中心線での輪郭線（プロファイル）のデータを入力し、そのデータを外壁の厚さの１／２だけオフセットすることにより外壁の輪郭線（プロファイル）のデータを生成し、これに基づいて建物モデルを生成してもよい。
【００７９】
以上の実施形態においては、図４０の建物モデル生成処理において、建物モデルの３次元形状データを生成しているが、本発明はこれに限らず、ステップＳ８の処理後の段階で、屋根の３次元形状データに基づいてその外観の形状をコンピュータグラフィックスにより表示するように構成してもよい。
【００８０】
以上の実施形態においては、図４０の建物モデル生成処理のプログラムが記憶されたコンピュータにより読取可能なＣＤ−ＲＯＭ４５ａを用いているが、本発明はこれに限らず、ＣＤ−Ｒ，ＣＤ−ＲＷ，ＤＶＤ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ−ＲＡＭなどのコンピュータにより読取可能な種々の記録媒体を用いてもよい。
【産業上の利用可能性】
【００８１】
以上詳述したように、本発明に係る建物モデル生成方法及び装置によれば、建物のベースライン及びプロファイルの入力処理のみで、図４６乃至図５２のような複雑な屋根形態を有する建物の３次元モデルを生成し、コンピュータグラフィックで表示することが可能となることから、設計技術や３次元ＣＡＤシステムの知識を持たない営業担当者等でも操作可能な、設計、提案、見積用のシステムを実現できる。近年ではノート型パーソナルコンピュータが普及しており、これらシステムを格納したパーソナルコンピュータを事務所から持ち出し、顧客宅を訪問してその場で提案や設計を行なうことも可能となる。
【図面の簡単な説明】
【００８２】
【図１】本発明の一実施形態に係る、建物モデル生成装置１０を備えた建物モデル生成システムの構成を示すブロック図である。
【図２】図１のハードディスクメモリ２３の構成を示すブロック図である。
【図３】図１のベースラインテーブル２３ａ及びプロファイルテーブル２３ｂの構成を示すブロック図である。
【図４】（ａ）は本実施形態に係るベースラインＢ１−Ｂ４とその座標との関係を示す平面図であり、図４（ｂ）は図４（ａ）のベースラインＢ１−Ｂ４に対応する３次元建物との関係を示す斜視図である。
【図５】本実施形態に係るベースラインＢ１−Ｂ６を示す平面図である。
【図６】（ａ）本実施形態に係るプロファイルＰ１における軒の高さＨ１、軒の出幅Ｗ１及び屋根勾配Ｋ１を示す断面図であり、図６（ｂ）は本実施形態に係るプロファイルＰ１における屋根厚さＴ１を示す断面図である。
【図７】本実施形態に係る切妻壁７０を含む建物モデルを示す斜視図である。
【図８】（ａ）は本実施形態に係る建物モデルにおけるベースラインＢ１を示す斜視図であり、図８（ｂ）は図８（ａ）のベースラインＢ１に対応するプロファイルＰ１を示す斜視図である。
【図９】（ａ）は本実施形態に係る１階屋根と２階屋根とが混在する建物モデルを示す外観図であり、図９（ｂ）は図９（ａ）の建物モデルにおけるベースラインＢ１−Ｂ６を示す平面図である。
【図１０】（ａ）は本実施形態に係る入母屋７１を含む建物モデルを示す外観図であり、図１０（ｂ）は図１０（ａ）の建物モデルにおけるベースラインＢ１−Ｂ８を示す平面図である。
【図１１】（ａ）は本実施形態に係るペディメントのための仮想の軒７３，７４を含む建物モデルを示す外観図であり、図１１（ｂ）は図１１（ａ）の建物モデルのベースラインＢ１−Ｂ１０を示す平面図である。
【図１２】（ａ）乃至（ｄ）は本実施形態に係る建物モデル生成処理における外周ループの種々の生成例を示す平面図である。
【図１３】（ａ）乃至（ｄ）は本実施形態に係る建物モデル生成処理におけるイベント検出処理の種々の処理例を示す平面図である。
【図１４】（ａ）乃至（ｄ）は本実施形態に係る建物モデル生成処理におけるイベント検出処理の種々の処理例を示す平面図である。
【図１５】（ａ）乃至（ｄ）は本実施形態に係る建物モデル生成処理における平行衝突イベント検出処理の種々の処理例を示す平面図である。
【図１６】（ａ）は本実施形態に係る建物モデル生成処理における辺消滅イベント検出処理の一例を示す建物モデルの外観図であり、図１６（ｂ）は図１６（ａ）の建物モデルにおける辺消滅の処理例を示す平面図である。
【図１７】（ａ）は本実施形態に係る建物モデル生成処理におけるループ分離イベント検出処理の一例を示す建物モデルの外観図であり、図１７（ｂ）は図１７（ａ）の建物モデルにおけるループ分離の処理例を示す平面図である。
【図１８】（ａ）は本実施形態に係る建物モデル生成処理における平行衝突イベント検出処理の一例を示す建物モデルの断面図であり、図１８（ｂ）は図１８（ａ）の平行衝突イベント検出処理において平行衝突する場合を示す平面投影図であり、図１８（ｃ）は図１８（ａ）の平行衝突イベント検出処理において平行衝突しない場合を示す平面投影図である。
【図１９】実施形態に係る建物モデル生成処理における軒イベント検出処理の一例を示す建物モデルの断面図である。
【図２０】実施形態に係る建物モデル生成処理における辺消滅イベント検出処理の一例を示す建物モデルの平面図である。
【図２１】実施形態に係る建物モデル生成処理におけるループ分離イベント検出処理の一例を示す建物モデルの平面図である。
【図２２】実施形態に係る建物モデル生成処理における屋根多角形の作成処理の一例を示す建物モデルの斜視図である。
【図２３】実施形態に係る建物モデル生成処理のループ接続情報の更新処理（Ｓ６）における平行衝突イベントのコの字接続処理の一例を示す建物モデルの平面図である。
【図２４】実施形態に係る建物モデル生成処理のループ接続情報の更新処理（Ｓ６）における平行衝突イベントのコの字接続処理の第１の処理例を示す建物モデルの平面図である。
【図２５】実施形態に係る建物モデル生成処理のループ接続情報の更新処理（Ｓ６）における平行衝突イベントのコの字接続処理の第２の処理例を示す建物モデルの平面図である。
【図２６】実施形態に係る建物モデル生成処理のループ接続情報の更新処理（Ｓ６）における平行衝突イベントのコの字接続処理の第３の処理例を示す建物モデルの平面図である。
【図２７】実施形態に係る建物モデル生成処理のループ接続情報の更新処理（Ｓ６）における平行衝突イベントのＺ字接続処理の一例を示す建物モデルの平面図である。
【図２８】実施形態に係る建物モデル生成処理のループ接続情報の更新処理（Ｓ６）における平行衝突イベントの逆方向の処理の一例を示す建物モデルの平面図である。
【図２９】実施形態に係る建物モデル生成処理のループ接続情報の更新処理（Ｓ６）における平行衝突イベントの逆方向の処理の第１の処理例を示す建物モデルの平面図である。
【図３０】実施形態に係る建物モデル生成処理のループ接続情報の更新処理（Ｓ６）における平行衝突イベントの逆方向の処理の第２の処理例を示す建物モデルの平面図である。
【図３１】実施形態に係る建物モデル生成処理のループ接続情報の更新処理（Ｓ６）における平行衝突イベントの逆方向の処理の第３の処理例を示す建物モデルの平面図である。
【図３２】実施形態に係る建物モデル生成処理のループ接続情報の更新処理（Ｓ６）における平行衝突イベントの逆方向の処理の第４の処理例を示す建物モデルの平面図である。
【図３３】実施形態に係る建物モデル生成処理のループ接続情報の更新処理（Ｓ６）における平行衝突イベントの順方向の処理の一例を示す建物モデルの平面図である。
【図３４】実施形態に係る建物モデル生成処理における屋根生成処理の等高線モデルを示す斜視図であって、図３４（ａ）はその建物モデルのみの斜視図であり、図３４（ｂ）はその建物モデルに等高線を追加したときの斜視図であり、図３４（ｃ）はその建物モデルの等高線のみを示す斜視図である。
【図３５】実施形態に係る建物モデル生成処理における屋根生成処理において隣接辺で軒高さ異なるときの半切妻屋根の一例を示す斜視図である。
【図３６】実施形態に係る建物モデル生成処理における屋根生成処理において隣接辺で軒高さ異なるときの段違い屋根の一例を示す斜視図である。
【図３７】（ａ）は実施形態に係る建物モデル生成処理における屋根生成処理において隣接辺で軒高さ異なるときのベースラインを示す平面図であり、図３７（ｂ）は当該ベースライン内のコの字部分１５５の正面の辺が徐々に後退して平行衝突を発生してドーマー１５６を形成するときの建物モデルの斜視図である。
【図３８】（ａ）は実施形態に係る建物モデル生成処理における屋根生成処理において隣接辺で軒高さ異なるときのベースラインを示す平面図であり、図３８（ｂ）は当該ベースライン内の入母屋壁面のためのベースラインＢ１１，Ｂ１２を追加したときに平行衝突を発生して入母屋屋根１５７を形成するときの建物モデルの斜視図である。
【図３９】（ａ）は実施形態に係る建物モデル生成処理における屋根生成処理において隣接辺で軒高さ異なるときのベースラインを示す平面図であり、図３９（ｂ）は当該ベースラインの外周長方形の内部にベースラインＢ２１，Ｂ２２を追加するときにペディメント１５８を形成するときの建物モデルの斜視図である。
【図４０】実施形態に係る建物モデル生成処理のメインフローを示すフローチャートである。
【図４１】図４０の平行衝突イベント検出処理（Ｓ２１）を示すフローチャートである。
【図４２】図４０のループ接続情報の更新処理（Ｓ６）を示すフローチャートである。
【図４３】図４０の建物モデル生成処理における（ａ）形状生成、（ｂ）ループ生成及び（ｃ）ループ接続情報の接続更新を示す斜視図である。
【図４４】従来技術で自動的に生成可能な建物モデルを示す外観図である。
【図４５】従来技術で自動的に生成可能な建物モデルを示す外観図である。
【図４６】本発明で自動的に生成可能な建物モデルであり、寄棟屋根と切妻屋根が混在し、また軒高さが異なる建物モデルを示す外観図である。
【図４７】本発明で自動的に生成可能な建物モデルであり、寄棟屋根で一部の軒高さが異なる建物モデルを示す外観図である。
【図４８】本発明で自動的に生成可能な建物モデルであり、建物輪郭が直角ではない建物モデルを示す外観図である。
【図４９】本発明で自動的に生成可能な建物モデルであり、屋根面の途中から別の屋根面が発生している建物モデルを示す外観図である。
【図５０】本発明で自動的に生成可能な建物モデルであり、同一の輪郭線上に軒とケラバが混在する建物モデルを示す外観図である。
【図５１】本発明で自動的に生成可能な建物モデルであり、同一屋根面で複数の軒を持つ建物モデルを示す外観図である。
【図５２】本発明で自動的に生成可能な建物モデルであり、１階と２階の屋根面が同一面となっている建物モデルを示す外観図である。
【符号の説明】
【００８３】
１…パーソナルコンピュータ、
１ａ…通信インターフェース、
１０…建物モデル生成装置、
２０…ＣＰＵ、
２１…ＲＯＭ、
２２…ＲＡＭ、
２３…ハードディスクメモリ、
２３ａ…ベースラインメモリ、
２３ｂ…プロファイルテーブル、
２３ｃ…外周ループテーブル、
２３ｄ…屋根多角形テーブル、
２３ｅ…ループ接続情報テーブル、
２３ｆ…屋根側面テーブル、
２３ｇ…壁面テーブル、
２３ｈ…３次元形状テーブル、
２４…プログラムメモリ、
３０…バス、
３１…キーボードインターフェース、
３２…マウスインターフェース、
３３…ディスプレイインターフェース、
３４…プリンタインターフェース、
３５ａ，３５ｂ…ドライブ装置インターフェース、
４１…キーボード、
４２…マウス、
４３…ＣＲＴディスプレイ、
４４…プリンタ、
４５…ＣＤ−ＲＯＭドライブ装置、
４５ａ…ＣＤ−ＲＯＭ、
５０…通信ケーブル、
５１…通信インターフェース、
６０…外部記憶装置、
７０…切妻壁、
７１，７２…入母屋壁、
７３…ペディメントのための仮想の軒、
８１−１００…等高線、
１０１−１０５，１１１−１１５…辺、
１２１…頂点、
１２２…辺、
１３１−１３３…辺、
１４０…台形、
１５１−１５４…辺、
１５５…ベースライン、
１５６…ドーマー、
１５７…入母屋、
１５８…ペディメント、
１６１−１６６，１７１−１７３，１８１−１８４，１９１−１９４…辺、
Ｂ１−Ｂ２２…ベースライン、
Ｐ１−Ｐ５…プロファイル、
Ｓ１，Ｓ２…軒種別、
Ｈ１，Ｈ２…軒の高さ、
Ｗ１，Ｗ２…軒の出幅、
Ｋ１，Ｋ２…屋根勾配、
Ｔ１，Ｔ２…屋根厚さ。
【図１】
2008123319.tif 000003
【図２】
2008123319.tif 000004
【図３】
2008123319.tif 000005
【図４】
2008123319.tif 000006
【図５】
2008123319.tif 000007
【図６】
2008123319.tif 000008
【図７】
2008123319.tif 000009
【図８】
2008123319.tif 000010
【図９】
2008123319.tif 000011
【図１０】
2008123319.tif 000012
【図１１】
2008123319.tif 000013
【図１２】
2008123319.tif 000014
【図１３】
2008123319.tif 000015
【図１４】
2008123319.tif 000016
【図１５】
2008123319.tif 000017
【図１６】
2008123319.tif 000018
【図１７】
2008123319.tif 000019
【図１８】
2008123319.tif 000020
【図１９】
2008123319.tif 000021
【図２０】
2008123319.tif 000022
【図２１】
2008123319.tif 000023
【図２２】
2008123319.tif 000024
【図２３】
2008123319.tif 000025
【図２４】
2008123319.tif 000026
【図２５】
2008123319.tif 000027
【図２６】
2008123319.tif 000028
【図２７】
2008123319.tif 000029
【図２８】
2008123319.tif 000030
【図２９】
2008123319.tif 000031
【図３０】
2008123319.tif 000032
【図３１】
2008123319.tif 000033
【図３２】
2008123319.tif 000034
【図３３】
2008123319.tif 000035
【図３４】
2008123319.tif 000036
【図３５】
2008123319.tif 000037
【図３６】
2008123319.tif 000038
【図３７】
2008123319.tif 000039
【図３８】
2008123319.tif 000040
【図３９】
2008123319.tif 000041
【図４０】
2008123319.tif 000042
【図４１】
2008123319.tif 000043
【図４２】
2008123319.tif 000044
【図４３】
2008123319.tif 000045
【図４４】
2008123319.tif 000046
【図４５】
2008123319.tif 000047
【図４６】
2008123319.tif 000048
【図４７】
2008123319.tif 000049
【図４８】
2008123319.tif 000050
【図４９】
2008123319.tif 000051
【図５０】
2008123319.tif 000052
【図５１】
2008123319.tif 000053
【図５２】
2008123319.tif 000054