(57)【要約】【課題】平面画像データに高さ情報を付与して立体画像データを生成する、簡便かつ自由度の高い立体データ生成装置、プログラムおよび立体データ生成方法を提供する。【解決手段】  立体データ生成装置は、画面に表示される平面画像において立体形状を生成する対象領域を抽出する対象領域抽出部と、前記対象領域内の輪郭から各位置までの距離と高さとの関係を示す曲線の入力を受け付ける曲線入力受付部と、受け付けた曲線に基づいて、前記対象領域内の位置毎に、各位置と前記輪郭の一点との距離に応じた高さを求め、求めた高さに基づいて前記対象領域の立体形状を表すデータを生成する立体データ生成部とを備える。【選択図】図８
2020049852.tif 000002
【特許請求の範囲】
【請求項１】
画面に表示される平面画像において立体形状を生成する対象領域を抽出する対象領域抽出部と、
前記対象領域内の輪郭から各位置までの距離と高さとの関係を示す曲線の入力を受け付ける曲線入力受付部と、
受け付けた曲線に基づいて、前記対象領域内の位置毎に、各位置と前記輪郭の一点との距離に応じた高さを求め、求めた高さに基づいて前記対象領域の立体形状を表すデータを生成する立体データ生成部と、を備えることを特徴とする立体データ生成装置。
【請求項２】
前記各位置に対応する前記輪郭の一点は、前記各位置に最も近い前記輪郭上の点であることを特徴とする請求項１に記載の立体データ生成装置。
【請求項３】
前記各位置に対応する前記輪郭の一点は、前記各位置から最も遠い前記輪郭上の点であることを特徴とする請求項１に記載の立体データ生成装置。
【請求項４】
横軸または縦軸の一方を距離を表す軸とし、横軸または縦軸の他方を高さを表す軸とするグラフを前記画面に表示し、
前記グラフの領域内に描かれる線を前記曲線として取得することを特徴とする請求項１ないし請求項３のいずれか１項に記載の立体データ生成装置。
【請求項５】
前記グラフにおける距離を表す軸の最大値の入力を受け付け、
前記対象領域内において輪郭までの距離が前記最大値を超える点の高さを、前記曲線上の前記最大値により示される高さに設定することを特徴とする請求項４に記載の立体データ生成装置。
【請求項６】
前記対象領域内の位置毎に、前記輪郭上の複数の点との距離を求め、最も大きい距離を、前記グラフにおける距離を表す軸の最大値に設定することを特徴とする請求項４に記載の立体データ生成装置。
【請求項７】
コンピュータに、
画面に表示される平面画像において立体形状を生成する対象領域を抽出する処理と、
前記対象領域内の輪郭から各位置までの距離と高さとの関係を示す曲線の入力を受け付ける処理と、
受け付けた曲線に基づいて、前記対象領域内の位置毎に、各位置と前記輪郭の一点との距離に応じた高さを求め、求めた高さに基づいて前記対象領域の立体形状を表すデータを生成する処理と、を実行させることを特徴とするプログラム。
【請求項８】
画面に表示される平面画像において立体形状を生成する対象領域を抽出し、
前記対象領域内の輪郭から各位置までの距離と高さとの関係を示す曲線の入力を受け付け、
受け付けた曲線に基づいて、前記対象領域内の位置毎に、各位置と前記輪郭の一点との距離に応じた高さを求め、求めた高さに基づいて前記対象領域の立体形状を表すデータを生成することを特徴とする立体データ生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、立体データ生成装置、プログラムおよび立体データ生成方法に関する。
【背景技術】
【０００２】
従来から、立体物を造形する手法として、インクジェット法、溶融物堆積法、ラピッド・プロトタイピイング法、インクジェットバインダ法、光造形法、及び粉末焼結法などが知られている。このような立体造形手法では、造形対象の立体物の３次元の形状を示す３次元形状情報を用いて、当該立体物を造形することが一般的である。
【０００３】
上述した３次元形状情報の作成手法としては、造形対象の立体物の見本となる造形物を測定して作成する方法、造形対象の立体物を示す３次元の画像データから作成する方法があげられる。また、上述した３次元形状情報の作成手法としては、造形対象の立体物を示す２次元の画像データに高さ情報を付与して作成する方法などが挙げられる。
【０００４】
例えば、特許文献１には、２次元の画像データにより示される平面形状の内部に１つの頂点と、この頂点の高さとを指定することで、平面形状の周囲部から頂点へ向けて高さが変化する立体形状のデータを生成する方法が開示されている。
【０００５】
また、特許文献２には、２次元のカラー画像を色別に分解した各画像において、頂点の位置と高さを指定し、または、頂点の領域と高さを指定し、各色の高さをマージして立体形状のデータを生成する方法が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示された技術では、１つの頂点を指定し、周辺部から１つの頂点に向けて高さが変化する錐状（例えば、円錐状）の立体形状しか生成することができないという問題がある。また、特許文献２に開示された技術では、所望の高さを有する立体形状を得るためには、頂点と高さを繰り返し指定しなくてはならないという問題ある。このように、従来では、操作が簡便である場合には、生成可能な立体形状の自由度が低く、生成可能な立体形状の自由度が高い場合には、複雑な操作が必要であった。
【０００７】
本発明は、平面画像データに高さ情報を付与して立体画像データを生成する、簡便かつ自由度の高い立体データ生成装置、プログラムおよび立体データ生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記技術的課題を解決するため、本発明の一形態の立体データ生成装置は、画面に表示される平面画像において立体形状を生成する対象領域を抽出する対象領域抽出部と、前記対象領域内の輪郭から各位置までの距離と高さとの関係を示す曲線の入力を受け付ける曲線入力受付部と、受け付けた曲線に基づいて、前記対象領域内の位置毎に、各位置と前記輪郭の一点との距離に応じた高さを求め、求めた高さに基づいて前記対象領域の立体形状を表すデータを生成する立体データ生成部と、を備えることを特徴とする。
【発明の効果】
【０００９】
平面画像データに高さ情報を付与して立体画像データを生成する、簡便かつ自由度の高い立体データ生成装置、プログラムおよび立体データ生成方法を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、一実施形態に係る立体造形システムの外観図である。
【図２】図２は、一実施形態に係る立体造形装置の平面図である。
【図３】図３は、一実施形態に係る立体造形装置の側面図である。
【図４】図４は、一実施形態に係る立体造形装置の正面図である。
【図５】図５は、立体造形装置の制御に関わるハードウェア構成図である。
【図６】図６は、一実施形態に係る立体データ生成方法を実現する立体データ生成装置の概要図である。
【図７】図７は、図６の装置本体のハードウェア構成図である。
【図８】図８は、図６の立体データ生成装置の機能構成の一例を示すブロック図である。
【図９】図９は、図６の立体データ生成装置の動作を示すフローチャートである。
【図１０】図１０は、平面画像から立体形状が生成されるまでの例を示す説明図である。
【図１１】図１１は、平面画像から立体形状が生成されるまでの別の例を示す説明図である。
【図１２】図１２は、対象領域の大きさと曲線とに応じて生成される立体形状の一例を示す説明図である。
【図１３】図１３は、対象領域内の任意の一点から輪郭までの距離を示す説明図である。
【図１４】図１４は、対象領域内の各点から輪郭までの距離を算出する方法を示す説明図である。
【図１５】図１５は、別の実施形態における立体データ生成装置の動作を示すフローチャートである。
【図１６】図１６は、上述した実施形態の手法を用いない場合の立体形状のデータ生成方法を示す説明図である。
【発明を実施するための形態】
【００１１】
図１から図５は、本発明の立体データ生成装置、プログラムおよび立体データ生成方法により生成された立体形状を表すデータを用いて立体の造形物を作製する立体造形システムの例が示される。
【００１２】
＜立体造形システム＞
本発明の一実施形態に係る立体造形システムについて図面を用いて説明する。図１は一実施形態に係る立体造形システムの外観図である。立体造形システム１は、立体造形装置５０、及びコンピュータ１０を備える。
【００１３】
コンピュータ１０は、例えば、ＰＣ(Personal Computer)、又はタブレット等の汎用の情報処理装置、若しくは立体造形装置５０専用の情報処理装置である。コンピュータ１０は、立体造形装置５０に内蔵されていても良い。コンピュータ１０は立体造形装置５０とケーブルで接続されても良い。また、コンピュータ１０はインターネットやイントラネット等のネットワークを介して立体造形装置と通信するサーバ装置であっても良い。コンピュータ１０は、上記の接続又は通信により、再現する造形物のデータを立体造形装置５０へ送信する。
【００１４】
立体造形装置５０は、インクジェット方式の造形装置である。立体造形装置５０は、再現する造形物のデータに基づいて造形ステージ５９５上の媒体Ｐに液体の造形剤Ｉを吐出する造形ユニット５７０を備えている。更に、造形ユニット５７０は、媒体Ｐに吐出された造形剤Ｉに光を照射して硬化して、造形層Ｌを形成する硬化手段５７２を有する。更に、立体造形装置５０は、造形剤Ｉを造形層Ｌ上に吐出して硬化する処理を繰り返すことで立体の造形物を得る。
【００１５】
造形剤Ｉは、立体造形装置５０によって吐出可能であり、かつ形状安定性が得られ、硬化手段５７２の照射する光によって硬化する材料が用いられる。例えば、硬化手段５７２がＵＶ(Ultra Violet)照射装置である場合、造形剤ＩとしてはＵＶ硬化インクが用いられる。
【００１６】
媒体Ｐとしては、吐出された造形剤Ｉが定着する任意の材料が用いられる。媒体Ｐは、例えば、記録紙等の紙、キャンバス等の布、或いはシート等のプラスチックである。
【００１７】
＜立体造形装置＞
図２は、一実施形態に係る立体造形装置の平面図である。図３は、一実施形態に係る立体造形装置の側面図である。図４は、一実施形態に係る立体造形装置の正面図である。内部構造を表すため、図２において立体造形装置５０の筐体の上面が、図３において筐体の側面が、図４において筐体の正面が記載されていない。
【００１８】
立体造形装置５０の筐体の両側の側面５９０には、ガイド部材５９１が保持されている。ガイド部材５９１には、キャリッジ５９３が移動可能に保持されている。キャリッジ５９３は、モータによってプーリ及びベルトを介して図２，４の矢印Ｘ方向（以下、単に「Ｘ方向」という。Ｙ、Ｚについても同様とする。）に往復搬送される。なお、Ｘ方向を、主走査方向と表す。
【００１９】
キャリッジ５９３には、造形ユニット５７０がモータによって図３，４のＺ方向に移動可能に保持されている。造形ユニット５７０には、６種の造形剤のそれぞれを吐出する６つの液体吐出ヘッド５７１ａ、５７１ｂ、５７１ｃ、５７１ｄ、５７１ｅ、５７１ｆがＸ方向に順に配置されている。以下、液体吐出ヘッドを単に「ヘッド」と表す。また、ヘッド５７１ａ、５７１ｂ、５７１ｃ、５７１ｄ、５７１ｅ、５７１ｆのうち任意のヘッドをヘッド５７１と表す。ヘッド５７１は６つに限られず、造形剤Ｉの数に応じて１以上の任意の数、配置される。
【００２０】
立体造形装置５０には、タンク装着部５６０が設けられている。タンク装着部５６０には、第１の造形剤、第２の造形剤、第３の造形剤、第４の造形剤、第５の造形剤、第６の造形剤の各々を収容した複数のタンク５６１が装着されている。各造形剤は、６つの供給チューブ５６２を介して各ヘッド５７１に供給される。各ヘッド５７１は、ノズル又はノズル列を有しており、タンク５６１から供給された造形剤を吐出する。一実施形態において、ヘッド５７１ａ、５７１ｂ、５７１ｃ、５７１ｄ、５７１ｅ、５７１ｆは、ノズルから、それぞれ第１の造形剤、第２の造形剤、第３の造形剤、第４の造形剤、第５の造形剤、第６の造形剤を吐出する。
【００２１】
造形ユニット５７０における、６つのヘッド５７１の両側にはそれぞれ硬化手段５７２が配置されている。硬化手段５７２は、ヘッド５７１から媒体Ｐへ吐出された造形剤を硬化する。硬化手段５７２としては、造形剤Ｉを硬化させることが可能であれば特に限定されないが、紫外線（ＵＶ）照射ランプ、電子線照射ランプ等のランプが挙げられる。ランプの種類としては、高圧水銀灯、超高圧水銀灯、メタルハライド等が挙げられる。超高圧水銀灯は点光源であるが、光学系と組み合わせて光利用効率を高くしたＵＶランプは、短波長領域の照射が可能である。メタルハライドは、波長領域が広いため有効である。メタルハライドには、造形剤に含まれる光開始剤の吸収スペクトルに応じてＰｂ、Ｓｎ、Ｆｅなどの金属のハロゲン化物が用いられる。硬化手段５７２には、紫外線等の照射により発生するオゾンを除去する機構が具備されていることが好ましい。なお、硬化手段５７２の数は２つに限られず、例えば、造形ユニット５７０を往復させて造形するか等に応じて、任意の数設けられる。また、２つの硬化手段５７２のうち１つだけ稼働させても良い。
【００２２】
立体造形装置５０においてＸ方向の一方側には、ヘッド５７１の維持回復を行うメンテナンス機構５８０が配置されている。メンテナンス機構５８０は、キャップ５８２、及びワイパ５８３を有する。キャップ５８２は、ヘッド５７１のノズル面（ノズルが形成された面）に密着する。この状態で、メンテナンス機構５８０がノズル内の造形剤Ｉを吸引することで、ノズルに詰まった高粘度化した造形剤Ｉが排出される。その後、ノズルのメニスカス形成のため、ノズル面をワイパ５８３でワイピング（払拭）する。また、メンテナンス機構５８０は、造形剤Ｉの吐出が行われない場合に、ヘッド５７１のノズル面をキャップ５８２で覆い、造形剤Ｉが乾燥することを防止する。
【００２３】
造形ステージ５９５は、２つのガイド部材５９２に移動可能に保持されたスライダ部を有する。これにより、造形ステージ５９５は、モータによってプーリ及びベルトを介してＸ方向と直交するＹ方向（副走査方向）に往復搬送される。
【００２４】
＜造形液＞
本実施形態において、上記の第１の造形剤はキープレートとしてのブラックのＵＶ硬化インク（Ｋ）、第２の造形剤はシアンのＵＶ硬化インク（Ｃ）、第３の造形剤はマゼンタのＵＶ硬化インク（Ｍ）、第４の造形剤はイエローのＵＶ硬化インク（Ｙ）、第５の造形剤はクリアのＵＶ硬化インク（ＣＬ）、第６の造形剤はホワイトのＵＶ硬化インク（Ｗ）である。なお、造形剤は６つに限られず、画像再現上、必要な色の種類に応じて１以上の任意の数であれば良い。なお、造形剤の数が７以上である場合、立体造形装置５０に追加のヘッド５７１を設けても良く、造形剤の数が５以下である場合、いずれかのヘッド５７１を稼働させないか、設けなくても良い。
【００２５】
＜制御部＞
次に、図５を用いて立体造形装置５０の制御に関するハードウェア構成について説明する。図５は立体造形装置５０のハードウェア構成図である。
【００２６】
立体造形装置５０は、立体造形装置５０の処理、及び動作を制御するための制御部５００を有する。制御部５００は、ＣＰＵ(Central Processing Unit)５０１、ＲＯＭ（Read Only Memory）５０２、ＲＡＭ（Random Access Memory）５０３、ＮＶＲＡＭ（Non-Volatile Random Access Memory）５０４、ＡＳＩＣ（Application Specific Integrated Circuit）５０５、Ｉ／Ｆ（Interface）５０６、Ｉ／Ｏ（Input/Output）５０７を有する。
【００２７】
ＣＰＵ５０１は、立体造形装置５０の処理、及び動作の全体を制御する。ＲＯＭ５０２は、ＣＰＵ５０１に立体造形動作を制御するためのプログラム、その他の固定データを格納する。ＲＡＭ５０３は、再現する造形物のデータ等を一時格納する。ＣＰＵ５０１、ＲＯＭ５０２、及びＲＡＭ５０３によって、上記プログラムに従った処理を実行する主制御部５００Ａが構築される。
【００２８】
ＮＶＲＡＭ５０４は、立体造形装置５０の電源が遮断されている間もデータを保持する。ＡＳＩＣ５０５は、造形物のデータに対する各種信号処理等を行う画像処理やその他、立体造形装置５０全体を制御するための入出力信号を処理する。
【００２９】
Ｉ／Ｆ５０６は、外部のコンピュータ１０に接続され、コンピュータ１０との間でデータ及び信号を送受信する。コンピュータ１０から送られてくるデータには、再現する造形物のデータが含まれる。Ｉ／Ｆ５０６は外部のコンピュータ１０に直接接続されるのでなくインターネットやイントラネット等のネットワークに接続されても良い。
【００３０】
Ｉ／Ｏ５０７は、各種のセンサ５２５に接続され、センサ５２５から検知信号を入力する。
【００３１】
また、制御部５００には、立体造形装置５０に必要な情報の入力及び表示を行うための操作パネル５２４が接続されている。
【００３２】
更に、制御部５００は、ＣＰＵ５０１又はＡＳＩＣ５０５の命令によって動作するヘッド駆動部５１１、モータ駆動部５１２、及びメンテナンス駆動部５１３を有する。
【００３３】
ヘッド駆動部５１１は、造形ユニット５７０のヘッド５７１へ画像信号と駆動電圧を出力することにより、ヘッド５７１による造形剤Ｉの吐出を制御する。この場合、ヘッド駆動部５１１は、例えば、ヘッド５７１内で造形剤Ｉを貯留するサブタンクの負圧を形成する機構、及び押圧を制御する機構へ駆動電圧を出力する。なお、ヘッド５７１にも、基板が搭載されており、この基板で画像信号等により駆動電圧をマスクすることで駆動信号を生成しても良い。
【００３４】
モータ駆動部５１２は、造形ユニット５７０のキャリッジ５９３をＸ方向（主走査方向）に移動させるＸ方向走査機構５９６のモータへ駆動信号を出力することにより、モータを駆動する。また、モータ駆動部５１２は、造形ステージ５９５をＹ方向（副走査方向）に移動させるＹ方向走査機構５９７のモータへ駆動電圧を出力することにより、該モータを駆動する。更に、モータ駆動部５１２は、造形ユニット５７０をＺ方向に移動させるＺ方向走査機構５９８のモータへ駆動電圧を出力することにより、該モータを駆動する。
【００３５】
メンテナンス駆動部５１３は、メンテナンス機構５８０へ駆動信号を出力することにより、メンテナンス機構５８０を駆動する。
【００３６】
上記各部は、アドレスバスやデータバス等により相互に電気的に接続されている。
＜立体データ生成装置＞
図６は、一実施形態に係る立体データ生成方法を実現する立体データ生成装置の概要図である。図６に示す立体データ生成装置１００は、例えば、パーソナルコンピュータであり、装置本体１２０と、液晶ディスプレイ等の表示装置１４０と、マウス等の入力機器１５０とを有する。なお、入力機器１５０は、ペンタブレットと、ペンタブレットを操作するタッチペンとを含む構成でも良く、ペンタブレットと、ペンタブレットを操作するマウスとを含む構成でも良い。
【００３７】
また、立体データ生成装置１００は、装置本体１２０と表示装置１４０とが一体化されたノート型のパーソナルコンピュータでも良く、タブレット端末またはスマートフォンでも良い。ノート型のパーソナルコンピュータの場合、キーボード面に設置された入力パッドを入力機器１５０として使用可能である。タブレット端末またはスマートフォンの場合、表示画面と一体化されたタッチパネルを入力機器１５０として使用可能である。さらに、立体データ生成装置１００は、図１に示したコンピュータ１０でも良い。
【００３８】
例えば、装置本体１２０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤ（Hard Disk Drive）を内蔵しており、ＣＰＵがＲＯＭまたはＲＡＭに格納された立体データを生成するプログラムを実行することで、図９以降で説明する処理および動作が実現される。以下では、立体データを生成するプログラムは、立体データ生成プログラムとも称される。特に限定されないが、装置本体１２０は、ＤＶＤドライブ１２２およびＵＳＢ（Universal Serial Bus）ポート１２４を有し、図示しないインターネット等のネットワークに接続される。
【００３９】
ＣＰＵにより実行される立体データ生成プログラムにより本発明の立体データ生成方法が実現される場合、立体データ生成プログラムは、ＤＶＤ、ＣＤ−ＲＯＭ、またはＵＳＢメモリ等の記録媒体に格納される。そして、記録媒体に格納された立体データ生成プログラムは、ＤＶＤドライブ１２２またはＵＳＢポート１２４を介して、ＨＤＤに読み込まれる。なお、立体データ生成プログラムは、インターネット等のネットワークを介して装置本体１２０に読み込まれても良い。
【００４０】
ＣＰＵは、平面画像から立体形状を生成するユーザが、図示しないキーボードやマウス等の入力機器１５０を操作して立体データ生成プログラムの起動を指示したことに基づいて、立体データ生成プログラムの実行を開始する。そして、ＣＰＵは、立体データの生成用のウィンドウＷを表示装置１４０に表示する。ウィンドウＷは、領域Ａ、Ｂ、Ｃを含む。領域Ａには、平面画像を表示するとともに平面画像のうち立体形状にする部分である対象領域が表示される。領域Ｂには、平面画像に高さを与えるための曲線が入力される。領域Ｃには、領域Ａ、Ｂへの入力に基づいて形成される立体形状の画像が表示される。領域Ａ、Ｂ、Ｃに表示される内容については、図１０で詳しく説明する。
【００４１】
図７は、図６の装置本体１２０のハードウェア構成図である。装置本体１２０は、コントローラとしてのＣＰＵ１０１と、主記憶装置としてのＲＯＭ１０２と、ＲＡＭ１０３とを備えている。また、装置本体１２０は、補助記憶装置としてのＨＤＤ１０４と、ＳＳＤ１０５(Solid State Drive)と、通信装置としてのＩ／Ｆ１０６とを備えている。Ｉ／Ｆ１０６は、インターネット等のネットワークに接続される。
【００４２】
図６に示すＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤは、図７に示すＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３およびＨＤＤ１０４とそれぞれ同じである。また、装置本体１２０は、表示装置１４０用のインタフェース（Ｉ／Ｆ）１０８と、キーボードやマウス等の入力機器用のインタフェース（Ｉ／Ｆ）１０９、１１０とを備えている。上記各部は、アドレスバスやデータバス等により相互に電気的に接続されている。
【００４３】
＜機能構成＞
図８は、図６の立体データ生成装置１００の機能構成の一例を示すブロック図である。例えば、図８に示す機能ブロックは、図７に示したＣＰＵ１０１が立体データ生成プログラムを実行することで実現される。なお、図８に示す機能ブロックは、ハードウェアにより実現されても良い。図８に示すように、装置本体１２０は、対象領域抽出部１６０と、曲線入力受付部１６２と、立体データ生成部１６４とを有する。
【００４４】
対象領域抽出部１６０は、表示装置１４０の画面に表示される平面画像において立体形状を生成する対象領域を抽出する。曲線入力受付部１６２は、対象領域内の各位置から輪郭までの距離と高さとの関係を示す曲線の入力を受け付ける。立体データ生成部１６４は、曲線入力受付部１６２が受け付けた曲線に基づいて、対象領域内の位置毎に、各位置と輪郭の一点との距離に応じた高さを求め、求めた高さに基づいて対象領域の立体形状を表すデータを生成する。
＜立体形状のデータ生成動作＞
図９は、図６の立体データ生成装置１００の動作を示すフローチャートである。すなわち、図９は、立体データ生成方法と、立体データ生成プログラムにより実行される処理とを示している。例えば、図９に示すフローチャートは、立体データ生成プログラムが起動されたことに基づいてＣＰＵ１０１により開始され、対象領域抽出部１６０、曲線入力受付部１６２および立体データ生成部１６４により実現される。なお、立体形状の生成に使用する元の平面画像は、ＨＤＤ１０４等に予め格納されているとする。
【００４５】
まず、ステップＳ１０において、ＣＰＵ１０１は、ＨＤＤ１０４に格納された平面画像データを読み込む指示に基づき平面画像データをＲＡＭ１０３に読み込むのを待ち、平面画像データをＲＡＭ１０３に読み込んだ場合、処理をステップＳ１２に移行する。例えば、平面画像データの読み込みの指示は、入力機器１５０を操作するユーザにより行われる。なお、平面画像データは、立体データ生成装置１００に接続されたネットワーク、ＤＶＤドライブ１２２に装着されるＤＶＤ、またはＵＳＢポート１２４に接続されるＵＳＢメモリ等を介して装置本体１２０のＨＤＤ１０４に格納される。
【００４６】
ステップＳ１２において、ＣＰＵ１０１は、ＲＡＭ１０３に読み込んだ平面画像データを領域Ａに表示する。次に、ステップＳ１４において、ＣＰＵ１０１は、領域Ａに表示した平面画像データの画素値の特徴を解析し、対象領域を抽出する。例えば、ＣＰＵ１０１は、平面画像データにおいて、ユーザにより予め指定された色を含む画素を抽出する。なお、ＣＰＵ１０１は、同様の色や同様の階調を含む画素を自動的に抽出しても良く、矩形や円形等の図形を抽出し、抽出した図形を対象領域としても良い。例えば、ステップＳ１４の処理は、図８に示した対象領域抽出部１６０により実施される。
【００４７】
次に、ステップＳ１６において、ＣＰＵ１０１は、抽出した対象領域の輪郭を、領域Ａに表示中の平面画像に重ねて表示する。また、ＣＰＵ１０１は、例えば、領域Ａに表示した対象領域内の複数の位置のうち、輪郭から最も離れている位置と輪郭との距離（最大距離）を算出する。複数の位置は、平面画像を構成する画素の各々でもよく、隣接する所定数の画素群でもよい。以下では、対象領域内の各位置を画素として説明する。
【００４８】
そして、ＣＰＵ１０１は、ゼロから最大距離までを横軸とするグラフを領域Ｂに表示する。グラフの縦軸は高さを示す。横軸の長さで示される距離と縦軸の長さで示される高さとの関係は、所定の比率（例えば、１：１）に設定される。グラフは、対象領域を立体形状にするための曲線が入力される領域である。なお、ＣＰＵ１０１は、最大距離を算出することなく、入力機器１５０を介してユーザから入力される値（距離）を受け付け、受け付けた値をグラフの横軸の最大値に設定しても良い。例えば、ステップＳ１６の処理は、曲線入力受付部１６２により実施されても良く、立体データ生成プログラムにより実現されるグラフ表示部等の他の機能部により実施されても良い。
【００４９】
次に、ステップＳ１８において、ＣＰＵ１０１は、入力機器１５０を介してユーザにより領域Ｂ内のグラフに曲線を入力されるのを待ち、曲線が入力された場合、処理をステップＳ２０に移行する。すなわち、ＣＰＵ１０１は、対象領域内において、対象領域の各位置の輪郭からの距離と高さとの関係を示す曲線の入力を受け付ける。換言すれば、ＣＰＵ１０１は、グラフの領域内に描かれる線を曲線として取得する。例えば、ステップＳ１８の処理は、図８に示した曲線入力受付部１６２により実施される。
【００５０】
なお、ＣＰＵ１０１は、グラフに入力された曲線を示す曲線データ（例えば、曲線の各点の座標）をＲＡＭ等に格納する。グラフに入力される曲線は、いわゆる曲線と、直線と、折り曲げ線との少なくともいずれかを含む。曲線の入力の例は、図１０で説明される。
【００５１】
例えば、ＣＰＵ１０１は、ステップＳ１６においてグラフを領域Ｂに表示する場合、グラフの横軸の距離＝０から距離＝最大値の間に所定の高さに徐々に変化するデフォルトの直線（例えば、グラフの対角線）を描画する。そして、入力機器１５０を介してユーザが、デフォルトの直線の任意の一点を選択して移動する操作を少なくとも１回行い、デフォルトの直線を変形することで曲線が入力される。なお、ＣＰＵ１０１は、入力機器１５０の一例であるマウスの操作に基づいてグラフ上を移動するポインタの軌跡を曲線として入力しても良い。このように、ユーザは、ウィンドウＷの領域Ｂを使って曲線を自由に入力することができる。曲線は、例えば、マウス等を使ってグラフ内でポインタを動かすだけで、極めて簡易に入力することができる。
【００５２】
ステップＳ２０において、ＣＰＵ１０１は、ステップＳ１４で抽出した対象領域と、ステップＳ１８で入力された曲線とに基づいて、対象領域の輪郭からの距離に応じて高さが変化する立体形状のデータを生成する。すなわち、ＣＰＵ１０１は、入力された曲線に基づいて、対象領域内の位置毎に、各位置と輪郭の一点との距離に応じた高さを求め、求めた高さに基づいて対象領域の立体形状を表すデータを生成する。
【００５３】
ＣＰＵ１０１は、生成したデータに基づいて、立体形状を示す画像（例えば、斜視図）を領域Ｃに表示する。例えば、ステップＳ２０の処理は、図８に示した立体データ生成部１６４により実施される。
【００５４】
次に、ステップＳ２２において、ＣＰＵ１０１は、入力機器１５０を介してユーザから曲線の再入力の指示を受けた場合、処理をステップＳ１８に戻す。また、ＣＰＵ１０１は、ユーザからの曲線の再入力の指示がない場合（すなわち、編集完了の指示を受けた場合）、図９に示す処理を終了する。ユーザは、領域Ｃに表示された立体形状に満足した場合、表示装置１４０のウィンドウＷ内に表示されるメニュー画面等から編集完了ボタンを選択し、領域Ｃに表示された立体形状に満足しない場合、メニュー画面等から曲線の再入力のボタンを選択する。曲線が再入力された場合、その曲線に対応する立体形状は、領域Ｃにリアルタイムで表示される。このため、ユーザは、領域Ｃに表示される立体形状を確認しながら、満足する立体形状が得られるまで、曲線を繰り返し再入力することができる。
【００５５】
図１０は、平面画像から立体が生成されるまでの例を示す説明図である。例１および例２では、領域Ａに表示された平面画像から円状の対象領域が抽出され、平面画像内に対象領域を示す輪郭が表示される。また、領域Ｂに曲線を入力するグラフが表示され、ユーザにより曲線が入力される。例えば、グラフ内に示す右肩上がりの対角線は、デフォルトで表示される曲線である。
【００５６】
図１０の例では、対象領域が円形状であるため、輪郭からの距離は、円の中心が最も大きい。このため、領域Ｂに表示されるグラフにおいて、輪郭からの距離を示す横軸の最大値は、輪郭から円の中心までの距離に等しい。ＣＰＵ１０１は、対象領域の各画素について、輪郭を形成する複数の点までの距離を算出し、例えば、最も小さい距離を求める。すなわち、グラフの横軸の距離＝"０"に対応する、対象領域の位置（画素）毎の輪郭の一点は、各位置（画素）に最も近い輪郭上の点である。
【００５７】
例１では、領域Ｂに入力される曲線は、輪郭から中心部に向けて高さが高くなり、途中で高さが低くなり、再び、中心部に向けて高さが高くなっている。そして、ＣＰＵ１０１は、画素毎に、輪郭までの最小距離をグラフに当てはめ、その画素の位置での高さを求める。その結果、例１では、輪郭で示される対象領域を底面とし、輪郭から中心部に向けて高さが高くなり、途中で高さが低くなり、再び、中心部に向けて高さが高くなる立体形状が、領域Ｃに表示される。
【００５８】
例２では、領域Ｂに入力される曲線は、輪郭から中心部に向けて高さが山なりに変化している。ＣＰＵ１０１は、画素毎に、輪郭までの最小距離をグラフに当てはめ、その画素の位置での高さを求める。その結果、領域Ｃには、領域Ｂで指定した曲線にしたがって、輪郭で示される対象領域を底面とし、輪郭から中心部に向けて高さが一度高くなった後に低くなる中央部が凹んだ立体形状が表示される。
【００５９】
図１０に示すように、対象領域が円形状の場合、輪郭からの距離は、円の中心が最も大きく、輪郭に近づくほど小さくなる。このため、立体形状の表面の形状は、距離が最大側の縦軸を軸としてグラフを回転したときに曲線の軌跡に対応した形状となる。したがって、ユーザは、入力する曲線と立体形状との対応関係を容易に認識することができる。
【００６０】
図１０に示すように、本実施形態では、高さの変化を示す曲線を自由かつ簡易に入力できるため、対象領域から頂点に向けて高さが徐々に大きくなる立体形状だけでなく、高さの上昇または下降が途中で変化する立体形状を容易に生成することができる。
【００６１】
図１１は、平面画像から立体形状が生成されるまでの別の例を示す説明図である。図１０と同じ要素および同様の動作については詳細な説明は省略する。例３および例４では、領域Ａに表示された平面画像内に２つの円の一部を重複させただるま形状の対象領域が抽出され、平面画像内に対象領域の輪郭が表示される。
【００６２】
図１０と同様に、領域Ａには抽出された対象領域が表示され、領域Ｂには曲線を入力するグラフが表示される。例３では、図１０の例１と同じ曲線が指定され、例４では、図１０の例２と同じ曲線が指定される。対象領域が図１１に示すだるま形状の場合、領域Ｂに表示されるグラフの横軸の最大値は、輪郭から２つの円のそれぞれの中心までの距離にほぼ等しい。なお、輪郭からの距離の最大値は、画素毎の輪郭までの距離の最大値を算出することで求められる。
【００６３】
図１１においても、ＣＰＵ１０１は、対象領域の各画素について、輪郭を形成する複数の点までの距離をそれぞれ算出し、例えば、最も小さい距離を求める。そして、ＣＰＵ１０１は、画素毎に、輪郭までの最小距離をグラフに当てはめ、その画素の位置での高さを求める。
【００６４】
そして、例３では、対象領域を構成する２つの円のそれぞれの中心付近に頂を有する立体形状が表示される。例４では、対象領域を構成する２つの円のそれぞれの中心付近が凹んだ８の字形状の立体形状が表示される。
【００６５】
図１１においても、高さの変化を示す曲線を自由かつ簡易に入力できるため、対象領域から頂点に向けて高さが徐々に大きくなる立体形状だけでなく、高さの上昇または下降が途中で変化する立体形状を容易に生成することができる。さらに、円形またはだるま形状に限らず、あらゆる形状の対象領域が抽出された場合にも、１つの曲線を入力するだけで、形状の異なる複数の立体形状を生成することができる。
【００６６】
また、図１０および図１１に示すように、曲線を入力するマンマシンインタフェース（領域Ｂの操作）は、対象領域の形状等に依存せず、常に同一のため、ユーザは、一度操作を覚えれば、その後は曲線を容易に入力することができる。
【００６７】
図１０および図１１の領域Ｃに表示された立体形状の３次元データは、ＨＤＤ１０４等に保存される。そして、この３次元データを図１に示すコンピュータ１０に転送し、コンピュータ１０が３次元データを立体造形装置５０に出力し、立体造形装置５０を動作させることで、ユーザにより設定された曲線に対応する立体形状を有する造形物が作製される。例えば、３次元データがカラー情報を含む場合、カラーの造形物が作製される。
【００６８】
図１２は、対象領域の大きさと曲線とに応じて生成される立体形状の一例を示す説明図である。図１２では、図９のステップＳ１４の処理により、半径ｒが"５"、"８"、"１０"の円形状の対象領域がそれぞれ抽出されるとする。図１２に斜線で示す図形は、対象領域の中心を通るＡ−Ａ'線に沿う断面を示している。曲線１、曲線２および曲線３は、領域Ｂに入力される曲線を示している。また、図１０および図１１と同様に、ＣＰＵ１０１は、対象領域における画素毎に、輪郭までの最小距離をグラフに当てはめ、その画素の位置での高さを求める。
【００６９】
曲線１の最大値は、図９のステップＳ１６で説明したように、ＣＰＵ１０１が算出した最大距離であり、対象領域の大きさに依存して変化する。例えば、最大値は、各対象領域の半径に等しい。曲線２および曲線３の最大値は、図９のステップＳ１６で別の例として説明したように、ユーザにより入力された値（距離）を示しており、例として"８"である。
【００７０】
曲線１では、最大値が対象領域の大きさに依存して変化し、図１０の例２に相当する立体形状のデータがそれぞれ生成される。曲線２で半径ｒが"５"の対象領域の場合、曲線２の距離が"５"に対応する高さを中心として中央が凹んだ縦断面がほぼＭ状の立体形状のデータが生成される。曲線２で半径ｒが"８"の対象領域の場合に生成される立体形状のデータは、曲線１で半径ｒが"８"の立体形状のデータと同じである。
【００７１】
曲線２で半径ｒが"１０"の対象領域の場合、半径ｒは最大値（＝"８"）を超えている。この場合、対象領域において、最大値を超えた画素は、最大値での高さに設定される。このため、対象領域の中心からの距離が"２"の領域は、高さがゼロになる。
【００７２】
曲線３で半径ｒが"５"の対象領域の場合、曲線３の距離が"５"に対応する高さを頂点とする三角状の縦断面を有する円錐状の立体形状のデータが生成される。曲線３で半径ｒが"８"の対象領域の場合、最大値での高さを頂点とする三角状の縦断面を有する円錐状の立体形状のデータが生成される。曲線３で半径ｒが"１０"の対象領域の場合、半径ｒは最大値を超えている。この場合、曲線２で半径ｒが"１０"の場合と同様に、対象領域において、最大値を超えた画素は、最大値での高さに設定される。このため、対象領域の中心からの距離が"２"の領域は、高さが一定になり、円錐台状の立体形状のデータが生成される。
【００７３】
図１３は、対象領域内の任意の一点から輪郭までの距離を示す説明図である。図１３に示すように、任意の一点（例えば、画素）から輪郭までの距離は複数ある。本実施形態では、任意の一点の高さを輪郭からの距離に応じて決定するため、考えられる複数の距離から一つの距離を決定する必要がある。図１０および図１１では、ＣＰＵ１０１は、対象領域の各点について、輪郭を形成する複数の点までの距離のうち、最も小さい距離を求め、求めた距離をグラフに当てはめ、その点での高さを求めた。
【００７４】
しかしながら、ＣＰＵ１０１は、対象領域の各画素について、輪郭を形成する複数の点までの距離のうち、最も大きい距離を求め、求めた距離をグラフに当てはめ、その画素の位置での高さを求めても良い。すなわち、グラフの横軸の距離の起点である、対象領域の位置毎の輪郭の一点は、各位置から最も遠い輪郭上の点でも良い。
【００７５】
あるいは、ＣＰＵ１０１は、対象領域の各画素について、輪郭を形成する複数の点までの距離の平均値をグラフに当てはめ、その画素の位置での高さを求めても良い。さらに、図６に示したウィンドウＷに、各画素から輪郭までの距離の決定方法を選択させる選択画面を含む新たな領域を設けても良い。この場合、距離を決定する選択肢として、最短距離、最長距離、平均距離等がある。
【００７６】
対象領域内の任意の一点から輪郭までの距離の算出方法によって、同じ一点においても距離は異なる。このため、曲線が同じ場合にも、距離の算出方法によって異なる形状の立体画像データを作成することができる。また、距離の算出方式を複数の方法から選択可能にする場合、ユーザは、１つの曲線を入力するだけで、複数の形状の立体を得ることができる。
【００７７】
図１４は、対象領域の各点から輪郭までの距離を算出する方法を示す説明図である。２点ＡＢ間の距離を算出する方法として、直線で結んだ距離を算出するユークリッド距離や、軸に並行移動しながらの距離を算出するマンハッタン距離などがある。距離の算出方法は、対象領域内の各点における高さの決定方法に関係し、距離の算出方法によって、各点での高さの値は異なるため、最終的に作製される造形物の形状も異なってくる。このため、距離の算出方法についても、図６に示したウィンドウＷに、距離の算出方法を選択させる選択画面を含む新たな領域を設けても良い。
【００７８】
図１４においても、距離の算出方法を変えることにより、曲線が同じ場合にも異なる形状の立体画像データを作成することができる。
【００７９】
以上、図１から図１４に示す実施形態では、立体形状を作成するユーザは、ウィンドウＷの領域Ｂを使って曲線を自由かつ簡易に入力することができ、曲線に応じて高さが上昇または下降する様々な外形を有する立体形状を容易に生成することができる。すなわち、平面画像データを使用して、自由度の高い立体形状を簡便に生成することができる。
【００８０】
対象領域内の任意の一点から輪郭までの距離の算出方法を変えることによって、曲線が同じ場合にも、異なる形状の立体画像データを作成することができる。また、距離の算出方式を複数の方法から選択可能にすることで、１つの曲線から複数の形状の立体を得ることができる。
【００８１】
図１５は、別の実施形態における立体データ生成装置の動作を示すフローチャートである。すなわち、図１５は、立体データ生成方法と、立体データ生成プログラムにより実行される処理とを示している。図９と同じ処理については、詳細な説明は省略する。例えば、図１５に示すフローチャートは、図９と同様に、立体データ生成プログラムが起動されたことに基づいてＣＰＵ１０１により開始される。なお、立体形状の生成に使用する元の平面画像は、ＨＤＤ１０４等に予め格納されているとする。
【００８２】
図１５の処理を実行する立体データ生成装置の構成は、ＣＰＵ１０１が実行する立体データプログラムが異なることを除き、図６、図７および図８に示した立体データ生成装置１００の構成と同じである。また、平面画像から立体形状が生成されるまでの例は、ユーザにより指定された輪郭に基づいて対象領域を抽出することを除き、図１０、図１１および図１２と同様である。
【００８３】
ステップＳ２０およびステップＳ２２の処理は、図９に示したステップＳ１０およびステップＳ２０の処理とそれぞれ同様である。ステップＳ２２の後、ステップＳ２４において、ＣＰＵ１０１は、領域Ａに表示した平面画像内において高さを与える対象領域を示す輪郭が、マウス等の入力機器１５０を介してユーザにより指定されるのを待つ。すなわち、この実施形態では、ＣＰＵ１０１は、対象領域を自動的には抽出せず、領域Ａに表示した平面画像において立体形状を生成する対象領域を示す輪郭の入力を受け付ける。
【００８４】
ＣＰＵ１０１は、輪郭が入力された場合、入力された輪郭に基づいて対象領域を抽出する。なお、対象領域は、入力機器１５０を使用して描かれた輪郭に基づいて抽出されるだけではない。例えば、入力機器１５０を使用して選択した領域と同様の色や同様の階調を含む画素を対象領域として抽出しても良い。あるいは、入力機器１５０を使用して平面画像上の矩形や円形等の図形のユーザによる選択に基づいて、選択された図形を対象領域として抽出しても良い。対象領域の指定方法は、これに限定されることなく、輪郭を有する対象領域が抽出できれば良い。
【００８５】
対象領域が指定された場合、ＣＰＵ１０１は、指定された対象領域の輪郭を示す情報（座標情報等）をＲＡＭ等に格納し、処理をステップＳ２６に移行する。ここで、輪郭は、対象領域と、対象領域の外側との境界を示す。
【００８６】
ステップＳ２６、Ｓ２８、Ｓ３０、Ｓ３２の処理は、図９に示したステップＳ１６、Ｓ１８、Ｓ２０、Ｓ２２の処理とそれぞれ同じである。但し、ステップＳ３２において、ユーザからの曲線の再入力の指示がない場合、処理はステップＳ３４に移行される。
【００８７】
ステップＳ３４においてＣＰＵ１０１は、入力機器１５０を介してユーザから対象領域を示す輪郭を再入力する指示を受けた場合、処理をステップＳ２４に戻す。また、ＣＰＵ１０１は、ユーザからの輪郭の再入力の指示がない場合（すなわち、編集完了の指示を受けた場合）、図１５に示す処理を終了する。ユーザは、領域Ｃに表示された立体形状に満足した場合、メニュー画面等から編集完了ボタンを選択し、領域Ｃに表示された立体形状に満足しない場合、メニュー画面等から曲線の再入力のボタンまたは輪郭の再入力のボタンを選択する。
【００８８】
なお、ステップＳ３４で対象領域を示す輪郭の再入力が指示された場合、その後のステップＳ２８の処理は省略され、前回入力された曲線が使用されても良い。これにより、輪郭が再入力された場合、再入力された輪郭で示される対象領域に対応する立体形状を領域Ｃにリアルタイムで表示することができる。したがって、ユーザは、領域Ｃに表示される立体形状を確認しながら、満足する立体形状が得られるまで、輪郭を再入力することができる。
【００８９】
以上、図１５に示す実施形態においても、図１から図１４に示す実施形態と同様の効果を得ることができる。すなわち、立体形状を作成するユーザは、ウィンドウＷの領域Ｂを使って曲線を自由かつ簡易に入力することができ、曲線に応じて高さが上昇または下降する様々な外形を有する立体形状を容易に生成することができる。
【００９０】
さらに、図１５に示す実施形態では、ユーザにより指定された輪郭に基づいて対象領域を抽出することができるため、ユーザの好みに合わせて自由な大きさの立体形状のデータを生成することができる。
【００９１】
図１６は、上述した実施形態の手法を用いない場合の立体形状のデータ生成方法を示す説明図である。図１０および図１１と同じ要素および同様の動作については詳細な説明は省略する。図１６では、曲線を入力するグラフはないため、領域Ｂは存在しない。
【００９２】
図１６に示す例５は、図１０と同様に、領域Ａに表示された平面画像内に円状の対象領域が抽出され、平面画像内に輪郭が表示される。また、対象領域内に立体形状の頂点が指定され、指定された頂点が対象領域内に表示される。そして、指定された頂点にしたがって、輪郭で示される対象領域を底面とし、輪郭から頂点に向けて高さ変化する立体形状が生成され、領域Ｃに表示される。
【００９３】
図１６に示す例６は、図１１と同様に、領域Ａに表示された平面画像内に２つの円の一部を重複させただるま形状の対象領域が抽出され、平面画像内に輪郭が表示される。また、対象領域内に立体形状の頂点が指定され、指定された頂点が対象領域内に表示される。そして、指定された頂点にしたがって、輪郭で示される対象領域を底面とし、輪郭から頂点に向けて高さ変化する立体形状が生成され、領域Ｃに表示される。
【００９４】
図１６に示すように、１つの頂点を指定するだけでは、錐状の立体形状しか生成することができないため、生成可能な立体形状の自由度は低い。
【００９５】
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。
【符号の説明】
【００９６】
１０  コンピュータ
１００  立体データ生成装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  ＨＤＤ
１０５  ＳＳＤ
１０６、１０８、１０９、１１０  インタフェース
１２０  装置本体
１２２  ＤＶＤドライブ
１２４  ＵＳＢポート
１４０  表示装置
１５０  入力機器
１６０  対象領域抽出部
１６２  曲線入力受付部
１６４  立体データ生成部
【先行技術文献】
【特許文献】
【００９７】
【特許文献１】特開２０１７−１２０５７１号公報
【特許文献２】特開２０１８−５８３４０号公報
【図１】
2020049852.tif 000003
【図２】
2020049852.tif 000004
【図３】
2020049852.tif 000005
【図４】
2020049852.tif 000006
【図５】
2020049852.tif 000007
【図６】
2020049852.tif 000008
【図７】
2020049852.tif 000009
【図８】
2020049852.tif 000010
【図９】
2020049852.tif 000011
【図１０】
2020049852.tif 000012
【図１１】
2020049852.tif 000013
【図１２】
2020049852.tif 000014
【図１３】
2020049852.tif 000015
【図１４】
2020049852.tif 000016
【図１５】
2020049852.tif 000017
【図１６】
2020049852.tif 000018