(57)【特許請求の範囲】
【請求項１】
船舶の構造を設計することを支援する処理をコンピュータに実行させる船舶設計支援プログラムであって、前記コンピュータに、
前記船舶の断面構造を表す点の座標と前記点間を結ぶ辺を指定する情報を記述した構造データを記憶装置から読み取るステップ、
前記船舶の断面におけるいずれかの前記点を開始位置として前記辺を一定方向に辿り前記開始位置まで戻ってくることにより、前記船舶の断面における閉区画候補を特定する閉区画列挙ステップ、
前記閉区画列挙ステップを実行する過程において辿った前記点と前記辺を、辿った方向と併せて記憶しておく方向記憶ステップ、
前記船舶の断面における各前記点をそれぞれ前記開始位置として前記閉区画列挙ステップと前記方向記憶ステップを実行するステップ、
前記閉区画列挙ステップと前記方向記憶ステップにおいて互いに反対向きの２方向に沿って辿った前記辺を削除するステップ、
各前記閉区画候補の断面０次モーメントを求めることにより各前記閉区画候補の面積を求め、面積が０以下となった前記閉区画候補を削除するステップ、
前記閉区画候補を構成する前記点および前記辺のリストを、前記船舶の断面における閉区画を特定するデータとして出力するステップ、
を実行させることを特徴とする船舶設計支援プログラム。
【請求項２】
前記船舶設計支援プログラムは、前記コンピュータに、前記閉区画列挙ステップの前において、接続されている前記辺が１つのみである前記点、およびその点に接続されている前記辺を削除する余剰点削除ステップを実行させる
ことを特徴とする請求項１記載の船舶設計支援プログラム。
【請求項３】
前記船舶設計支援プログラムは、前記余剰点削除ステップにおいて、前記コンピュータに、
前記構造データが記述している前記点を、接続されている前記辺が少ない順にソートするステップ、
前記ソートによって得られた前記点のリストの先頭から順に、接続されている前記辺が１つのみである前記点、およびその点に接続されている前記辺を削除するステップ、
を実行させることを特徴とする請求項２記載の船舶設計支援プログラム。
【請求項４】
前記船舶設計支援プログラムは、前記コンピュータに、前記閉区画列挙ステップの前において、前記点と前記辺によって構成される１以上の独立グラフを特定させ、特定した各前記独立グラフそれぞれに対して各前記ステップを実行させる
ことを特徴とする請求項１から３のいずれか１項記載の船舶設計支援プログラム。
【請求項５】
前記船舶設計支援プログラムは、前記コンピュータに、前記閉区画候補を削除するステップの後において、
オイラーの多面体定理に基づき前記閉区画候補が妥当であるか否かをチェックするステップ、
前記閉区画候補が妥当でない場合はエラーが発生した旨の警告を発するステップ、
を実行させることを特徴とする請求項１から４のいずれか１項記載の船舶設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、船舶を設計する作業を支援する技術に関する。
【背景技術】
【０００２】
船舶の構造においては、複数の閉区画が存在する。船舶の設計過程においては、例えば構造強度などを計算する際に、各閉区画を特定した上で計算に供する必要がある。しかし船舶の構造データは、例えば点座標と点間を結ぶ辺を指定するデータとの集合によって記述されており、その構造データに基づきコンピュータに閉区画を自動的に特定させることは困難である。したがって従来の船舶設計作業においては、設計者が船舶の断面構造を経験的に把握した上で、マニュアル操作により各閉区画に関する諸データを計算プロセスへ提供していた。
【０００３】
下記特許文献１は、船舶の区画構造に関し、国際規則に準拠した要件を満たすための技術について開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】ＷＯ２０１４／００３０５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１が例示するような要件を満たす船舶を設計するためには、設計過程において各部位の強度を求める構造計算などが必要になる。しかし上記のようにマニュアル作業によって閉区画の構造を指定する場合、例えば機関室などのように複雑な断面構造を有する平面における構造計算は、実用的に不可能もしくは非常に困難である。
【０００６】
本発明は、上記のような課題に鑑みてなされたものであり、船舶を設計する過程において、船舶の断面における閉区画を自動的に特定することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る船舶設計支援プログラムは、船舶の断面上における独立グラフを構成する点と辺を双方向に辿ることにより閉区画候補を抽出し、面積が０以下となる閉区画候補を削除することにより、閉区画を特定する。
【発明の効果】
【０００８】
本発明に係る船舶設計支援プログラムによれば、船舶の断面構造が複雑な場合であっても、マニュアル操作によらず自動的に閉区画を特定することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１に係る船舶設計支援プログラム１２０を実行するコンピュータ１００およびその周辺構成を示す図である。
【図２】構造データ１３１のデータ例を示す図である。
【図３】船舶設計支援プログラム１２０が構造データ１３１上の閉区画候補を特定する過程を説明する図である。
【図４】閉区画候補のなかから余分な候補を削除する手法を説明する図である。
【図５】船舶設計支援プログラム１２０の動作を説明するフローチャートである。
【図６】構造データ１３１の変形例を示す図である。
【図７】船舶設計支援プログラム１２０が構造データ１３１から独立グラフを抽出する処理のフローチャートである。
【発明を実施するための形態】
【００１０】
＜実施の形態１＞
図１は、本発明の実施形態１に係る船舶設計支援プログラム１２０を実行するコンピュータ１００およびその周辺構成を示す図である。コンピュータ１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０、船舶設計支援プログラム１２０、記憶装置１３０を備える。記憶装置１３０は構造データ１３１を格納している。
【００１１】
船舶設計支援プログラム１２０は、船舶の構造を設計する作業を支援する処理を実装したプログラムであり、特に船舶の断面上に存在する閉区画を自動的に特定する処理を実装している。船舶設計支援プログラム１２０は、独立したプログラムモジュールとして構成することもできるし、船舶設計に関するその他の処理を実装したプログラムの一部として構成してもよい。以下では説明の簡易のため、閉区画を特定する処理について中心に説明する。
【００１２】
以下では記載の便宜上、船舶設計支援プログラム１２０を動作主体として説明する場合があるが、実際に船舶設計支援プログラム１２０を実行するのはＣＰＵ１１０であることを付言しておく。
【００１３】
図２は、構造データ１３１のデータ例を示す図である。構造データ１３１は、船舶を船首尾方向に鉛直に切断したときの断面における構造を記述したデータであり、断面上に存在する構造物の点の座標および点間を結ぶ辺を指定するデータによって構成されている。
【００１４】
図２（ａ）は構造データ１３１の記述例である。点については、適当な位置を原点とする各点のＸＹ座標と各点を識別するＩＤを記述している。辺については、辺の両端に位置する点のＩＤと各辺を識別するＩＤを記述している。図２（ｂ）は図２（ａ）に示すデータ例のイメージ図である。図２（ｂ）は船舶の断面を船舶の先頭から見たときの断面構造（船体横断面）を表している。
【００１５】
図３は、船舶設計支援プログラム１２０が構造データ１３１上の閉区画候補を特定する過程を説明する図である。以下図３にしたがって、閉区画候補を特定する手順について説明する。なおここでいう閉区画候補とは、構造データ１３１が記述している断面構造において閉区画とみなすことができる候補となる点と辺の集合を抽出したものである。
【００１６】
船舶設計支援プログラム１２０は、構造データ１３１が記述しているいずれかの点を開始位置として、辺を一定方向に辿っていく。図３においては図２の原点を最初の開始位置とした。ここでいう一定方向はいずれでもよいが、いったん決めた方向は変更しない。図３においては図面に向かって左向きとした。分岐点においていずれの方向に進むかについては、各点の座標間の位置関係によって判断することができる。
【００１７】
船舶設計支援プログラム１２０は、開始位置からスタートして辺を辿り、開始位置まで戻ってくることができた場合は、その１周の移動によって囲まれる区間を閉区間候補として抽出する。ここでは図３に示す最外周の矩形が抽出される。
【００１８】
船舶設計支援プログラム１２０は、構造データ１３１が記述しているその他の点についても同様にこれらを開始位置として、同様に辺を辿る。原則として構造データ１３１が記述している全ての点をそれぞれ開始位置として網羅的に辺探索を実施することが望ましいが、演算負荷などに応じていずれかの点を適宜省略してもよい。図３においては、右辺中央の点を開始位置として左向きに辺を辿る例を示した。
【００１９】
上記過程を繰り返していくと、開始位置によっては、同じ辺を互いに反対向きの２方向において辿る場合がある。図３においては、右下の太線で示した２辺は双方向に辿っている。船舶設計支援プログラム１２０は、このような辺については探索済みとみなして以後の探索対象から削除する。辺を削除することによっていずれの辺とも接続されない点が生じた場合は、その点も探索対象から削除してよい。
【００２０】
図４は、閉区画候補のなかから余分な候補を削除する手法を説明する図である。図３で説明した手法により閉区画候補を抽出すると、図４（ａ）〜（ｃ）に示す３つの小区画に加えて、３つの小区画の外周によって構成される図４（ｄ）のような大区画も併せて抽出される。すなわち図３において、４つの閉区画候補が存在することになる。
【００２１】
しかし視覚上からも明らかな通り、図３に示す断面構造は３つの閉区画から成り立っており、これを４つの閉区画とみなすことは構造計算などの過程において誤った計算結果を導いてしまう。そこで船舶設計支援プログラム１２０は、以下の手法により余分な閉区画候補を削除する。
【００２２】
船舶設計支援プログラム１２０は、まず各閉区画候補の面積を、断面０次モーメントによって求める。図３において辺を辿る方向を考慮すると、図４（ａ）〜（ｃ）に示す各小区画についてはその内側の面積が求められる。これに対し図４（ｄ）に示す大区画については、図３において辺を辿る方向を考慮すると、その外側（裏側）の面積を求めることになり、したがって得られる面積は負値となる。このように断面０次モーメントが負値となる閉区画候補を削除することにより、正しい閉区画候補を取り出すことができる。
【００２３】
図５は、船舶設計支援プログラム１２０の動作を説明するフローチャートである。以下図５の各ステップについて説明する。
【００２４】
（図５：ステップＳ５０１）
船舶設計支援プログラム１２０は、記憶装置１３０から構造データ１３１を読み取り、構造データ１３１の記述にしたがって、重複しない辺のリストを作成する。辺が重複するとは、例えば図２（ｂ）の原点から左下点に向かう辺と左下点から原点に向かう辺を、互いに異なる２つの辺とみなすことである。同じ辺を重複して探索するのは処理効率が悪いので、このような辺重複をあらかじめ本ステップにより排除することとした。
【００２５】
（図５：ステップＳ５０２）
船舶設計支援プログラム１２０は、ステップＳ５０２で作成した辺リストに含まれる各辺について、以下のステップＳ５０３〜Ｓ５０５を網羅的に実施する。
【００２６】
（図５：ステップＳ５０３〜Ｓ５０５）
船舶設計支援プログラム１２０は、辺リスト内の適当な辺（およびその端点）を取り出し（Ｓ５０３）、図３で説明した手法により所定方向（図３においては左方向）に向かって点および辺を辿るとともに、各辺について辿った方向を記憶しておく（Ｓ５０４）。船舶設計支援プログラム１２０は、両方向に辿った辺が存在する場合は、その時点でその辺を辺リストから削除する（Ｓ５０５）。船舶設計支援プログラム１２０は、これらステップにおいて開始位置に戻ってくることができた経路については、その経路によって囲まれる領域を閉区間候補として抽出する。
【００２７】
（図５：ステップＳ５０６〜Ｓ５０７）
船舶設計支援プログラム１２０は、ステップＳ５０２〜Ｓ５０５によって抽出された各閉区間候補の面積を、断面０次モーメントとして計算する。面積が０以下となった閉区間候補については削除する。船舶設計支援プログラム１２０は、閉区間候補を構成する点と辺のリストを記述したデータを、例えば記憶装置１３０など適当な出力先へ出力する。
【００２８】
＜実施の形態１：まとめ＞
以上のように、本実施形態１に係る船舶設計支援プログラム１２０は、構造データ１３１が記述している点を一定方向に辿って元の開始位置へ戻ることができた場合は、その経路によって囲まれる領域を閉区画候補として抽出する。両方向に辿った辺については探索対象から削除する。閉区画候補の断面０次モーメントが０以下である場合は、その閉区画候補は削除する。以上の手法により、構造データ１３１が記述している点と辺を効率的に自動探索して閉区間候補を抽出するとともに、閉区画とみなすのに適していない候補を除去することができる。
【００２９】
＜実施の形態２＞
図６は、構造データ１３１の変形例を示す図である。構造データ１３１は、図６の「ヒゲ」が示すように、検出対象となる閉区画を構成しない点や辺を含む場合がある。本発明の実施形態２では、船舶設計支援プログラム１２０がこのような点や線をあらかじめ削除する手法について説明する。その他構成は実施形態１と同様である。
【００３０】
船舶設計支援プログラム１２０は、図５のステップＳ５０１とＳ５０２の間において、構造データ１３１が記述している点のうち、接続されている辺が１つのみであるものを特定し、その点をステップＳ５０２以降の探索対象から削除する。図６においては、座標（−１５０，１００）の点がこれに相当する。船舶設計支援プログラム１２０はさらに、その点に接続されている辺もステップＳ５０２以降の探索対象から削除する。
【００３１】
船舶設計支援プログラム１２０は、同様の処理を繰り返す。その結果、図６に示す座標（−１００，１００）の点およびこれに接続されている点も、ステップＳ５０２以降の探索対象から削除される。結果として図２（ｂ）と同じ点と辺のリストが残ることになるので、探索効率を実施形態１と同様に保つことができる。
【００３２】
船舶設計支援プログラム１２０は、上記処理を実施する前に、接続されている辺の数が少ない順にあらかじめ点リストをソートしてもよい。この場合、ソート後リストの先頭近傍には接続されている辺が１つのみである点が集約されているので、上記処理を高速に完了することができる。ヒゲを構成する点と辺を削除した後もソート順序を保持するようにしておけば、常にソート後リストの先頭近傍のみをチェックすれば済むので、処理簡便の観点から便宜である。
【００３３】
＜実施の形態３＞
実施形態１〜２においては、構造データ１３１は単一の独立グラフ（他のグラフと接続されていないグラフ）を形成する断面構造を記述していることを前提として説明した。すなわち、点と辺の集合によって構成されるグラフは１つのみであった。しかし実際の船舶の断面構造においては、複数の独立グラフが含まれる場合がある。そこで本発明の実施形態３に係る船舶設計支援プログラム１２０は、実施形態１〜２で説明した処理の前に、構造データ１３１から独立グラフを抽出する。その他は実施形態１〜２と同様である。
【００３４】
図７は、船舶設計支援プログラム１２０が構造データ１３１から独立グラフを抽出する処理のフローチャートである。以下図７の各ステップについて説明する。
【００３５】
（図７：ステップＳ７０１）
船舶設計支援プログラム１２０は、構造データ１３１が記述している辺のリストから隣接行列Ｍを作成する。隣接行列Ｍは、点ｉと点ｊを結ぶ辺があるとき、要素Ｍ（ｉ，ｊ）とＭ（ｊ，ｉ）がともに１であるような行列である。
【００３６】
（図７：ステップＳ７０２）
船舶設計支援プログラム１２０は、点ｉ＝１，・・・Ｎ（点の総数）について隣接行列Ｍを順次掛け合わせ、ＭＮを求める。隣接行列Ｍは接続されている点間の辺に対応する要素が１である行列であるため、これを各点について掛け合わせていくにしたがって、接続されている辺に対応する要素が１以上でありその他の要素が０である行列に収斂されていく。
【００３７】
（図７：ステップＳ７０３）
船舶設計支援プログラム１２０は、ステップＳ７０２で求めた行列ＭＮにしたがって各点間の接続関係を特定することにより、グラフを抽出する。さらに、他のグラフと接続されていないグラフを特定することにより、独立グラフを抽出することができる。
【００３８】
（図７：ステップＳ７０３：補足）
図７右側の図は、行列ＭＮによって表される独立グラフのイメージ図である。行列ＭＮの行ｉの要素は、点ｉと接続されている点については要素値が１以上であり、点ｉと接続されていない点については要素値が０となっている。隣接行列Ｍは対称行列であるため、列ｉについても同様の値となっている。したがって行列ＭＮを整列して独立グラフを構成する要素値を纏めると、図７右図のように各独立グラフに対応する部分が１つの塊となって現れる。ただし図７右図は、行列ＭＮが表す各独立グラフを視覚的に把握できるようにしたものであるため、船舶設計支援プログラム１２０自身にとっては図７右図のような整列を実施する必要はない。
【００３９】
船舶設計支援プログラム１２０は、構造データ１３１が記述している各独立グラフを特定した後、各独立グラフに対して実施形態１〜２で説明した手法を用いて閉区画を特定してその結果を出力する。
【００４０】
＜実施の形態４＞
実施形態１〜３においては、船舶の断面構造が有する１以上の独立グラフ内に含まれる閉区画を特定する手法を説明した。この手法は通常であれば正しい結果を得られると考えられるが、得られた結果が幾何学的に正しいことを念のため確認することが望ましい。そこで本発明の実施形態４に係る船舶設計支援プログラム１２０は、実施形態１〜３の手法を実施した後、以下に説明する手法により閉区画の特定結果が妥当であることをチェックする。その他の構成は実施形態１〜３と同様である。
【００４１】
オイラーの多面体定理は、平面多角形が線分の集合によって１以上の多角形に分割されている場合、（頂点個数）−（辺個数）＋（多角形個数）＝１と表される。実施形態３で説明したように複数の独立グラフがある場合、同式の右辺を独立グラフの個数に置き換えれば同じ式が成り立つ。
【００４２】
船舶設計支援プログラム１２０は、実施形態１〜３の手法を実施して得られた閉区画の個数が上記式を満たすか否かをチェックすることにより、その妥当性を検証することができる。閉区画の個数が上記式を満たさない場合は、例えばアルゴリズムエラーである旨の警告を出力する。この場合オペレータは、例えば従来のマニュアル操作による閉区画特定処理を補完的に用いて計算を続行する。
【符号の説明】
【００４３】
１００：コンピュータ、１１０：ＣＰＵ、１２０：船舶設計支援プログラム、１３０：記憶部、１３１：構造データ。
【要約】
【課題】船舶を設計する過程において、船舶の断面における閉区画を自動的に特定することができる技術を提供する。
【解決手段】本発明に係る船舶設計支援プログラムは、船舶の断面上における独立グラフを構成する点と辺を双方向に辿ることにより閉区画候補を抽出し、面積が０以下となる閉区画候補を削除することにより、閉区画を特定する。
【選択図】図３【図１】
0005602326.tif 000002
【図２】
0005602326.tif 000003
【図３】
0005602326.tif 000004
【図４】
0005602326.tif 000005
【図５】
0005602326.tif 000006
【図６】
0005602326.tif 000007
【図７】
0005602326.tif 000008