(57)【要約】【課題】完全なソリッドモデルとしての条件を満たしていないポリゴンメッシュに対して修正を施す必要なしにスライスデータの生成を可能にする。【解決手段】三次元造形物を切断した断面を表すスライスデータを生成するスライスデータ生成装置において、ポリゴンメッシュを輪切りにした際の輪郭線を示す輪郭ポリラインが得られるように、ポリゴンメッシュの位相情報を変更する変更手段と、上記変更手段によって位相情報を変更されたポリゴンメッシュから輪郭ポリラインを取得し、上記取得した輪郭ポリライン内の領域である内部を正常に塗り潰すことができるように上記輪郭ポリラインを修正する修正手段とを有し、上記修正手段によって修正された輪郭ポリラインに基づきスライスデータを生成する。【選択図】        図５
2015024631.tif 000002
【特許請求の範囲】
【請求項１】
三次元造形物を切断した断面を表すスライスデータを生成するスライスデータ生成装置において、
ポリゴンメッシュを輪切りにした際の輪郭線を示す輪郭ポリラインが得られるように、ポリゴンメッシュの位相情報を変更する変更手段と、
前記変更手段によって位相情報を変更されたポリゴンメッシュから輪郭ポリラインを取得し、前記取得した輪郭ポリライン内の領域である内部を正常に塗り潰すことができるように前記輪郭ポリラインを修正する修正手段と
を有し、
前記修正手段によって修正された輪郭ポリラインに基づきスライスデータを生成する
ことを特徴とするスライスデータ生成装置。
【請求項２】
三次元造形物を切断した断面を表すスライスデータを生成するスライスデータ生成方法において、
ポリゴンメッシュを輪切りにした際の輪郭線を示す輪郭ポリラインが得られるように、ポリゴンメッシュの位相情報を変更し、
前記変更によって位相情報を変更されたポリゴンメッシュから輪郭ポリラインを取得し、前記取得した輪郭ポリライン内の領域である内部を正常に塗り潰すことができるように前記輪郭ポリラインを修正し、
前記修正された輪郭ポリラインに基づきスライスデータを生成する
ことを特徴とするスライスデータ生成方法。
【請求項３】
請求項１に記載のスライスデータ生成装置としてコンピューターを機能させるためのプログラム。
【請求項４】
請求項２に記載のスライスデータ生成方法をコンピューターに実行させるためのプログラム。
【請求項５】
請求項３または４のいずれか１項に記載のプログラムを記録したコンピューター読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スライスデータ作成装置、スライスデータ作成方法、プログラムおよびコンピューター読み取り可能な記録媒体に関し、さらに詳細には、光を照射すると硬化する光硬化性樹脂などを用いて三次元造形物を作製するような三次元造形装置などに用いて好適なスライスデータを作成するスライスデータ作成装置、スライスデータ作成方法、プログラムおよびコンピューター読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来より、可視光または紫外光などの光の照射により硬化する性質を有する光硬化性樹脂を用いた三次元造形装置が知られている。
【０００３】
こうした三次元造形装置では、例えば、以下のような手法により三次元造形物を作製するようにしていた。
【０００４】
即ち、貯留槽に貯留された光硬化性樹脂に対して光を照射することにより、貯留槽に貯留された光硬化性樹脂に浸漬されて三次元造形物の土台となるベース部材表面に、所定の液層厚さ分だけ光硬化性樹脂を硬化して硬化層を形成する。
【０００５】
さらに、所定の液層厚さ分だけベース部材を移動させた後、光硬化性樹脂に対して光を照射し、先に硬化した硬化層上に新たな硬化層を形成する。
【０００６】
こうした硬化層上に新たな硬化層を形成するという動作を順次繰り返して、硬化層を積層することにより三次元造形物を作製するようになされている。
【０００７】
なお、こうした三次元造形装置としては、例えば、特許文献１に詳細な内容が開示されている。
【０００８】
ここで、こうした三次元造形装置において、硬化層を形成する場合には、例えば、ベクトルイメージを描きながら光硬化性樹脂にレーザー光を照射し、光硬化性樹脂を所定の液層厚さで所定の形状に硬化するようにしていた。
【０００９】
具体的には、三次元造形装置においては、プロジェクターから２次元画像を投影したり、あるいは、２次元のＸＹ平面上を移動させるＸＹ駆動装置またはガルバノミラーなどを用いてレーザー光を移動させることによって、光硬化樹脂を硬化させて３次元形状を形成するようにしている。
【００１０】
ここで、１つの硬化層を形成する場合には、例えば、硬化層の形状を表すデータに基づいて、まず、光硬化性樹脂に対して、硬化層の輪郭に沿ってレーザー光を走査して硬化層の輪郭を形成する。その後、当該輪郭内の領域でレーザー光を走査して当該領域内の光硬化性樹脂を硬化して、所定の形状の硬化層を形成するようにしていた。
【００１１】
なお、こうした硬化層の形状を表すデータとは、作製する対象の三次元造形物を所定の間隔で切断した断面を表す断面形状のデータであり、本明細書においては、こうした三次元造形物の断面を表す断面形状のデータを「スライスデータ」と称することとする。
【００１２】
上記したスライスデータは、一般には、３次元ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）システムによって作成されるデータたる、作製する対象の三次元造形物のポリゴンメッシュから生成される。
【００１３】
そして、スライスデータを生成するためのポリゴンメッシュは全て三角面により構成されており、このポリゴンメッシュからスライスデータを生成して三次元造形装置において造形処理を行うためには、ポリゴンメッシュが完全なソリッドモデルとしての条件を満たしている必要がある。
【００１４】
ここで、「ポリゴンメッシュが完全なソリッドモデルとしての条件を満たしている」とは、ポリゴンメッシュを構成する全ての三角面は互いに辺で接続しており、全ての辺にはそれぞれ三角面が２つ接続している状態を意味する。
【００１５】
ところで、三次元造形装置において実際に運用されているポリゴンメッシュは、上記した完全なソリッドモデルとしての条件を満たしていない場合がある。
【００１６】
そして、その場合には、スライスデータを生成する前に、作業者が市販されている修正用ソフトウェアなどを用いて、完全なソリッドモデルとしての条件を満たしていないポリゴンメッシュに対して修正を施し、予め完全なソリッドモデルとしての条件を満たすポリゴンメッシュを作成する必要があった。
【００１７】
しかしながら、作業者がポリゴンメッシュの修正用ソフトウェアで修正作業を施しても、スライスデータを生成できるようにするために必要な修正を施すことは容易ではなく、作業者は高度な修正作業を強いられるという問題点が指摘されていた。
【００１８】
また、市販されている修正用ソフトウェアは極めて高価であり、こうした修正用ソフトウェア自体を購入することも容易ではないという問題点も指摘されていた。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】特開平６−２４６８３８号公報
【発明の概要】
【発明が解決しようとする課題】
【００２０】
本発明は、従来の技術の有する上記したような種々の問題点に鑑みてなされたものであり、その目的とするところは、完全なソリッドモデルとしての条件を満たしていないポリゴンメッシュに対して高度な修正作業を行うことなしにスライスデータの生成を可能にしたスライスデータ作成装置、スライスデータ作成方法、プログラムおよびコンピューター読み取り可能な記録媒体を提供しようとするものである。
【課題を解決するための手段】
【００２１】
上記目的を達成するために、本発明は、
（１）ポリゴンメッシュを輪切りにした際の輪郭線を示すポリラインである輪郭ポリ          ライン（連続線分）が得られるように、ポリゴンメッシュの位相情報（「ポリ          ゴンメッシュの位相情報」とは、ポリゴンメッシュを構成する三角面の接続情          報である。）を変更する、
（２）上記（１）で得られた輪郭ポリラインを、当該輪郭ポリライン内の領域である          内部を正常に塗り潰すことができるように修正する、
という処理を行うようにしたものである。
【００２２】
ここで、上記（１）の処理は、具体的には、全ての辺にそれぞれ三角面が２つ接続するようにする処理である。
【００２３】
また、上記（２）の処理は、輪郭ポリラインが不正に交差している状態を削除する処理である。
【００２４】
これにより、本発明においては、完全なソリッドモデルとしての条件を満たしていないポリゴンメッシュに対して高度な修正作業を行うことなしに、スライスデータを生成することができるようになる。
【００２５】
従って、本発明によれば、作業者にポリゴンメッシュの高度な修正作業を強いる必要がなく、さらには、高価な修正用ソフトウェアを購入する必要もない。
【００２６】
即ち、本発明によるスライスデータ作成装置は、三次元造形物を切断した断面を表すスライスデータを生成するスライスデータ生成装置において、ポリゴンメッシュを輪切りにした際の輪郭線を示す輪郭ポリラインが得られるように、ポリゴンメッシュの位相情報を変更する変更手段と、上記変更手段によって位相情報を変更されたポリゴンメッシュから輪郭ポリラインを取得し、上記取得した輪郭ポリライン内の領域である内部を正常に塗り潰すことができるように上記輪郭ポリラインを修正する修正手段とを有し、上記修正手段によって修正された輪郭ポリラインに基づきスライスデータを生成するようにしたものである。
【００２７】
また、本発明によるスライスデータ作成方法は、三次元造形物を切断した断面を表すスライスデータを生成するスライスデータ生成方法において、ポリゴンメッシュを輪切りにした際の輪郭線を示す輪郭ポリラインが得られるように、ポリゴンメッシュの位相情報を変更し、上記変更によって位相情報を変更されたポリゴンメッシュから輪郭ポリラインを取得し、上記取得した輪郭ポリライン内の領域である内部を正常に塗り潰すことができるように上記輪郭ポリラインを修正し、上記修正された輪郭ポリラインに基づきスライスデータを生成するようにしたものである。
【００２８】
また、本発明によるプログラムは、上記したスライスデータ生成装置としてコンピューターを機能させるためのプログラムである。
【００２９】
また、本発明によるプログラムは、上記したスライスデータ生成方法をコンピューターに実行させるためのプログラムである。
【００３０】
また、本発明によるコンピューター読み取り可能な記録媒体は、上記したプログラムを記録したコンピューター読み取り可能な記録媒体である。
【発明の効果】
【００３１】
本発明は、以上説明したように構成されているので、完全なソリッドモデルとしての条件を満たしていないポリゴンメッシュに対して高度な修正作業を行うことなしに、スライスデータを生成することができるようになるという優れた効果を奏する。
【図面の簡単な説明】
【００３２】
【図１】図１は、本発明の実施の形態の一例によるスライスデータ作成装置のハードウェア構成を表すブロック構成説明図である。
【図２】図２は、本発明の実施の形態の一例によるスライスデータ作成装置の機能的構成を表すブロック構成説明図である。
【図３】図３は、本発明によるスライスデータの生成から光造形までの処理の流れを概念的に例示する説明図である。
【図４】図４は、ポリゴンメッシュの境界表現を説明するための説明図である。
【図５】図５（ａ）（ｂ）は、ノンマニフォールドの修正の処理を説明するための説明図である。
【図６】図６（ａ）（ｂ）は、ポリゴンメッシュの切断線分の接続の方法を説明するための説明図である。
【図７】図７は、ポリラインが交差する場合のスキャンコンバージョン処理による塗り潰し結果を示す説明図である。
【図８】図８（ａ）（ｂ）（ｃ）（ｄ）は、ポリラインの合成の処理を説明するための説明図である。
【図９】図９（ａ）（ｂ）（ｃ）は、ワールド座標系と画像座標系との関係を示す説明図である。
【図１０】図１０は、リエントラント型多角形クリッピング（パイプラインクリッピング）の処理を示す説明図である。
【図１１】図１１は、スキャンコンバージョンによるポリラインの塗り潰しの処理を示す説明図である。
【図１２】図１２は、アプリケーションソフトウェアの構造を示す説明図である。
【図１３】図１３は、ポリゴンメッシュ生成部における処理を示すフローチャートである。
【図１４】図１４は、輪郭抽出部における処理を示すフローチャートである。
【発明を実施するための形態】
【００３３】
以下、添付の図面を参照しながら、本発明によるスライスデータ作成装置、スライスデータ作成方法、プログラムおよびコンピューター読み取り可能な記録媒体の実施の形態の一例を詳細に説明することとする。
【００３４】
図１には、本発明の実施の形態の一例によるスライスデータ作成装置のハードウェア構成を表すブロック構成説明図が示されている。
【００３５】
即ち、この本発明によるスライスデータ作成装置１０は、公知のパーソナルコンピューターや汎用のコンピューターなどで実現されており、その動作を中央処理装置（ＣＰＵ）１２を用いて制御するように構成されている。
【００３６】
そして、このＣＰＵ１２には、バス１４を介して、ＣＰＵ１２の制御のためのプログラムや各種のデータなどを記憶するリードオンリメモリ（ＲＯＭ）やＣＰＵ１２のためのワーキングエリアとして用いられる記憶領域などを備えたランダムアクセスメモリ（ＲＡＭ）などから構成される記憶装置１６と、ＣＰＵ１２の制御に基づいて各種の表示を行うＣＲＴや液晶パネルなどの画面を備えた表示装置１８と、表示装置１８の表示画面上における任意の位置を指定する入力装置たるマウスなどのポインティングデバイス２０と、任意の文字を入力するための入力装置たるキーボードなどの文字入力デバイス２２と、外部に接続される各種機器の入出力インターフェース回路（Ｉ／Ｏ）２４とが接続されている。
【００３７】
また、このスライスデータ作成装置１０においては、ハードディスクなどの外部記憶装置２６がＩ／Ｏ２４を介して接続されている。
【００３８】
さらに、スライスデータ作成装置１０においては、コンパクトディスク（ＣＤ）やデジタルバーサタイルディスク（ＤＶＤ）などのようなコンピューター読み取り可能な記録媒体（以下、単に「記録媒体」と適宜に称する。）２８へＣＰＵ１２の制御に基づき作成された各種データを書き込んで記憶させたり、記憶媒体２８に記憶された各種データを記憶装置１６へ書き込むためのリードライト装置３０がＩ／Ｏ２４を介して接続されている。
【００３９】
さらにまた、スライスデータ作成装置１０においては、このスライスデータ作成装置１０により作成されたスライスデータを用いて三次元造形物を作製する三次元造形装置１００がＩ／Ｏ２４を介して接続されている。
【００４０】
なお、この三次元造形装置１００としては、従来より公知の三次元造形装置を用いることができるので、その詳細な説明は省略することとする。
【００４１】
また、以下の説明においては、スライスデータ作成装置１０の理解を容易にするために、記憶装置１６にスライスデータ作成装置１０によるスライスデータの作成の処理を実行するためのプログラムや当該スライスデータの作成の処理に用いる各種データが予め記憶されているものとする。
【００４２】
なお、スライスデータ作成装置１０によるスライスデータの作成の処理を実行するためのプログラムや当該スライスデータの作成の処理に用いる各種データは、通信により外部からスライスデータ作成装置１０の記憶装置１６のランダムアクセスメモリへ読み込むようにしてもよい。
【００４３】
次に、図２を参照しながら、本発明の実施の形態の一例による三次元造形用スライスデータ作成装置１０について、詳細に説明することとする。
【００４４】
この図２には、本発明の実施の形態の一例によるスライスデータ作成装置１０の機能的構成を表すブロック構成説明図が示されている。
【００４５】
このスライスデータ作成装置１０は、ＳＴＬ（Ｓｔｅｒｅｏｌｉｔｈｏｇｒａｐｈｙ）ファイルからポリゴンメッシュのデータを読み込み、三次元造形装置１００による光造形で使用するスライスデータを生成するものである。
【００４６】
なお、一般に、三次元造形装置における光造形の手法としては、ラスター方式とベクター方式とが知られている。
【００４７】
ここで、ラスター方式においては２次元画像を投影するプロジェクター装置が用いられ、また、ベクター方式にはレーザーポインターをＸＹ方向に走査する装置やガルバノミラーでレーザー光を高速に走査する装置が用いられている。
【００４８】
このスライスデータ作成装置１０で生成されるスライスデータは、上記したいずれの方式を採用する三次元造形装置における三次元光造形においても利用することができるものである。
【００４９】
具体的には、スライスデータ作成装置１０においては、作製する対象の三次元造形物たる三次元モデルの下端から上端までを細かな間隔で輪切りにした複数の輪郭形状を得て、次に、それらの内部を塗りつぶしたビットマップ画像を得る処理が行われることになる。
【００５０】
なお、図３には、上記したスライスデータの生成から光造形までの処理の流れを概念的に例示する説明図が示されている。
【００５１】
スライスデータ作成装置１０は、ラピッドプロトタイピングに用いられるＳＴＬファイルからポリゴンメッシュを読み込んで、本発明によるノンマニフォールドの修正の処理などを施したポリゴンメッシュを生成するポリゴンメッシュ生成部４２と、ポリゴンメッシュ生成部４２で生成したポリゴンメッシュをスライスして輪郭形状を取得する輪郭抽出部４４と、輪郭抽出部４４にて抽出された輪郭形状の内部をビットマップで塗りつぶす塗り潰しデータ生成部４６とを有して構成されており、最終的に塗り潰しデータ生成部４６で生成されたデータが三次元造形装置１００の光造形で用いられるスライスデータとして、三次元造形装置１００へ出力される。
【００５２】
以下、ポリゴンメッシュ生成部４２、輪郭抽出部４４ならびに塗り潰しデータ生成部４６において行われる処理の詳細について説明する。
【００５３】
（１）ポリゴンメッシュ生成部４２における処理
ポリゴンメッシュ生成部４２においては、ＳＴＬファイルからポリゴンメッシュの情報を読み込み、読み込んだポリゴンメッシュに対してスライスデータを生成するために必要な調整を行うものであり、以下に図１３に示すフローチャートを参照しながらその技術内容を詳細に説明する。
【００５４】
なお、以下の説明の理解を容易にするために、まず、スライスデータを生成するために必要な内部表現方法として、ポリゴンメッシュの境界表現について説明する。
【００５５】
即ち、スライスデータ作成装置１０においては、ポリゴンメッシュの情報を図４に示す公知の境界表現で管理するようにしている。
【００５６】
即ち、頂点（Ｖｉ）は３次元座標値（幾何）を持ち、稜線（Ｅｉ）は両端の頂点の情報（位相）を持つ。
【００５７】
また、面（Ｆｉ）は、面を囲む３本の稜線の情報（位相）を持つ。なお、面の稜線データの持つ順序は、面の法線ベクトルの進行方向の右回りになるようにする。
【００５８】
（１−１）ＳＴＬファイルのロード（読み込み）・・・ステップＳ１３０２
ポリゴンメッシュ生成部４２においては、まず、ＳＴＬファイルをロードしてポリゴンメッシュの情報を読み込む。
【００５９】
ここで、ＳＴＬファイルフォーマット仕様は公知の技術であるので、その詳細な説明は省略するが、ＳＴＬファイルフォーマット仕様に従って、上記において説明したポリゴンメッシュの境界表現となるように、頂点と面とのデータを作成するとともに、各面についてそれを構成する３本の稜線のデータも作成する。
【００６０】
なお、上記した頂点、面および稜線のデータの作成処理については公知の技術であるので、その詳細な説明は省略する。
【００６１】
（１−２）重複頂点と重複稜線の統合・・・ステップＳ１３０４
上記（１−１）、即ち、ステップＳ１３０２で作成したデータの状態では、隣り合う面と座標値が同じ頂点が重複して存在しているため、それらを１つに統合する処理を行う。それに伴い、各稜線の頂点の情報を更新する。その結果、隣り合う面の境界の稜線も同じ頂点の構成となり重複するので、それらも統合して面と稜線間の位相情報も更新する。
【００６２】
なお、上記した重複頂点と重複稜線の統合の処理については公知の技術であるので、その詳細な説明は省略する。
【００６３】
（１−３）ノンマニフォールドの修正・・・ステップＳ１３０６
ソリッドモデルで扱われるポリゴンメッシュは二多様体であり、１つの稜線に三角面は必ず２つ接続するが、稀に頂点の座標値が非常に接近している場合などは４つ以上接続してしまう場合がある。
【００６４】
そのような立体は非多様体（ノンマニフォールド）と呼ばれるが、上記（１−２）、即ち、ステップＳ１３０４の処理で説明した重複頂点と重複稜線の統合の処理を単純に行うと、そのような状態になることがある。
【００６５】
図５（ａ）には、２つの四面体が接近して、本来は別の稜線が１つに重なっている例が示されている。
【００６６】
この場合には、輪郭抽出部４４の処理に関して後述する輪郭ポリラインの取得が正常に行われないことになる。
【００６７】
即ち、スライス平面と各稜線との交差点を面の接続情報に従ってつなぐ際に、接続進行方向がこの稜線で複数に分岐することになり、ポリラインの取得結果が不定になるためである。つまり、全ての交点を辿れずに、終了してしまう場合がある。
【００６８】
そこで、図５（ｂ）に示すように、面が４つ以上接続している稜線Ｅがあれば、その複製Ｅ’を作り、それぞれの稜線に面が２つ接続するように位相情報を変更する。
【００６９】
その２つの面のペアの選び方は、その稜線に接続する１つの面を選んだとき、その面の裏側にあるもっとも近いものを採用する。
【００７０】
そうすることで、例えば、図５（ａ）（ｂ）に示す例では、本来の１つの三角柱を構成する面が選ばれ、その面と接続する位相情報が再構築される。
【００７１】
ここで、裏側にあるもっとも近いペアの面を選ぶ方法は、以下に説明する通りである。なお、「ｎ」は稜線に接続している「面の数−１」を示す。従って、図５（ａ）（ｂ）に示す例では、「ｎ＝３」となる。
【００７２】
（Ｉ）稜線に接続する各面Ｆ０〜Ｆｎについて、それぞれ稜線に属さない頂点Ｐ０〜Ｐｎを選ぶ。
【００７３】
（ＩＩ）頂点Ｐ０〜Ｐｎから稜線へ下ろした垂線の足Ｐ’０〜Ｐ’ｎを求める。
【００７４】
（ＩＩＩ）
【数１】
2015024631.tif 000003
の単位ベクトル
【数２】
2015024631.tif 000004
と、面の法線
【数３】
2015024631.tif 000005
の逆方向ベクトルとの外積
【数４】
2015024631.tif 000006
を求める。
【数５】
2015024631.tif 000007
【００７５】
（ＩＶ）
【数２】
2015024631.tif 000008
から
【数４】
2015024631.tif 000009
の右回りに、
【数６】
2015024631.tif 000010
の中から最も近い角度にあるベクトルを選ぶ。
【００７６】
ここで、その角度は次のように求められる数値の大きさで評価できる。
【数７】
2015024631.tif 000011
【００７７】
ｄｏｔｉは、
【数２】
2015024631.tif 000012
と
【数８】
2015024631.tif 000013
の内積である。
【００７８】
【数２】
2015024631.tif 000014
と
【数８】
2015024631.tif 000015
の外積が
【数４】
2015024631.tif 000016
と同じ向きならば１−ｄｏｔｉを求め、そうでなければ３＋ｄｏｔｉを求める。
【００７９】
このように得られた値は、０以上４未満の範囲をとり、０度以上３６０度未満の角度に比例する、
【数４】
2015024631.tif 000017
の右回りを正として
【数２】
2015024631.tif 000018
から
【数８】
2015024631.tif 000019
への角度の大きさを示す。
【００８０】
例えば、図５に示す例の場合では、
【数９】
2015024631.tif 000020
がもっとも近いベクトルに選ばれ、その結果、面Ｆ０のペアは面Ｆ１に選ばれる。選ばれた２つの面についての位相情報を稜線Ｅの複製Ｅ’に移動する。
【００８１】
図５（ｂ）では稜線が切り離されるイメージを表現するため離して描かれているが、実際には稜線の頂点の座標は移動しない。即ち、頂点の要素は共通のまま、稜線の要素を複製することになる。
【００８２】
そして、面が６つ、８つと接続している場合は、上記した稜線の分離操作を残りの接続面数が２つになるまで繰り返す。
【００８３】
なお、以上の結果では、頂点の要素はそのままで稜線だけが複製されることになり、このような位相情報はソリッドモデルとしては正しいとはいえない。
【００８４】
しかしながら、ここではスライス面と稜線との交点算出とそれらの接続情報を得ることが目的であるので、この情報を用いることにする。
【００８５】
（２）輪郭抽出部４４における処理
輪郭抽出部４４においては、ポリゴンメッシュ生成部４２の処理による境界表現により生成されたポリゴンメッシュを任意のＺ座標の平面で切断し、そのときの輪郭形状（輪郭ポリライン）を得る処理を行う。
【００８６】
さらに、輪郭抽出部４４においては、ポリラインの内部を適切に塗りつぶすことができるように交差部分などを削除し、最後に出力データの座標系にマッピングする処理を行う。
【００８７】
以下に、図１４に示すフローチャートを参照しながら、その技術内容について詳細に説明する。
【００８８】
（２−１）輪郭ポリラインの生成・・・ステップＳ１４０２
（２−１−１）稜線と平面との交差点
ポリゴンメッシュの各稜線と、スライス面（法線ベクトルがＺ軸に平行な平面）との交差点の座標を求める。その結果は、各稜線と関連付けて保持する。
【００８９】
（２−１−２）交差点を繋いで輪郭ポリラインを生成
輪郭ポリラインの進行方向は、ポリゴンメッシュをＺ軸上方から下方に見て右回りに囲むようにする。交差座標が関連付けられている稜線に着目し、その稜線に接続する面の他方の稜線にも交差座標が関連付けられている場合、それら２点の交差点を繋いで１つの切断線分を得る。そのときの交差点を繋ぐ方向は次のように決定する。
【００９０】
・両稜線のＺ上方の端点が同じ座標の場合（図６（ａ）を参照する。）
【００９１】
終点側の稜線の下向きのベクトル
【数９】
2015024631.tif 000021
から始点側の稜線の下向きのベクトル
【数２】
2015024631.tif 000022
へ回転する方向が、面の法線ベクトル
【数１０】
2015024631.tif 000023
と同じ向きになるように、始点終点を選ぶ。
【００９２】
・両稜線のＺ下方の端点が同じ座標の場合（図６（ｂ）を参照する。）
始点側の稜線の上向きのベクトル
【数２】
2015024631.tif 000024
から終点側の綾線の上向きのベクトル
【数９】
2015024631.tif 000025
へ回転する方向が、面の法線ベクトル
【数１０】
2015024631.tif 000026
と同じ向きになるように、始点終点を選ぶ。
【００９３】
これらの処理を、追跡を開始した交点に戻るまで繰り返す。
【００９４】
（２−２）ポリラインの合成・・・ステップＳ１４０４
次に、上記の処理により得られた切断面のポリラインを塗り潰す準備をする。
【００９５】
ここで、ラピッドプロトタイピングで用いられるソリッドモデルのポリゴンメッシュは、位相情報に矛盾がないことが理想である。
【００９６】
そのようなモデルを平面で切断した場合の輪郭は完全に閉じた交差のない１つのポリラインになり、その内部を塗り潰すことは公知のスキャンコンバージョン処理などにより容易にできる。
【００９７】
しかしながら，実際にＣＡＤシステムなどで運用されるＳＴＬデータでは、微細なポリゴンが密集し座標値が非常に接近している箇所などがあり、ポリラインが自己交差することがある。
【００９８】
また、複数の形状が互いに潜り込んで配置されている場合なども多く、その場合は複数のポリラインが交差することになる。
【００９９】
このような状況で単純なスキャンコンバージョン処理により塗り潰しを行うと、順に線分と交差する度にポリラインの内外を判定するため、本来のモデルの内部を正しく塗り潰すことはできない（図７を参照する。）。
【０１００】
そこで、本発明による「（２−２）ポリラインの合成」、即ち、ステップＳ１４０４の処理では、そのような交差点で別のポリラインに分割して内部に残る線分を削除し、モデルの外形の輪郭のみを辿るポリラインに合成する。
【０１０１】
（２−２−１）自己交差の解消（図８（ａ）を参照する。）
まず、１つのポリラインについて、以下の分割合成処理を行う。複数ある場合は、それぞれについて行う。
【０１０２】
（Ｉ）自己交差点でポリラインを分割
各ポリラインについて、そのポリラインが交差する点である自己交差点で、複数のポリラインに分割（Ｓｅｐａｒａｔｅ）する。分割されたポリラインは、端点が開いた状態になる。
【０１０３】
（ＩＩ）裏返し・重複部分の判定と削除
ポリラインのある一つの線分に着目し、次の処理を繰り返す。
【０１０４】
（ｉ）線分の中点の座標を通るＸまたはＹ方向のスキャンラインを引き、それと交差するすべての線分について交差点の座標を求める。
【０１０５】
（ｉｉ）スキャンライン上の交差点を座標値の昇順でソートする。
【０１０６】
（ｉｉｉ）各交差点での内外判定値を設定する。スキャンラインの方向ベクトルと、交差点の属する線分の方向ベクトルとの外積を求める。そのＺ成分がプラス（図８で紙面の裏側から表側方向）の場合は「ＯＮ」、マイナス（図８で紙面の表側から裏側方向）の場合は「ＯＦＦ」を設定する。
【０１０７】
（ｉｖ）交差点の座標値が小さい方から塗り潰しステータスを設定する。最初のステータス値を「０」とする。交差点の内外判定値が「ＯＮ」ならば「１」を加え、「ＯＦＦ」ならば「１」を引く。
【０１０８】
（ｖ）着目線分が属する交差点の内外判定が「ＯＦＦ」でステータス値が「−１以下」の場合、または内外判定が「ＯＮ」でステータス値が「０以下」の場合は、その線分が属するポリラインは裏返しになっており、本来モデルを囲む輪郭線ではないので、これを削除（Ｄｅｌｅｔｅ）する。
【０１０９】
また、内外判定が「ＯＦＦ」でステータス値が「１以上」の場合、または内外判定が「ＯＮ」でステータス値が「２以上」の場合は、その線分が属するポリラインは重複分であるので、これを削除する。
【０１１０】
これらをまとめると、結局削除すべきポリラインは次のように判定できる。
【０１１１】
内外判定＝ＯＦＦ，ステータス＝０以外、または、
内外判定＝ＯＮ，ステータス＝１以外
【０１１２】
（２−２−２）他のポリラインとの交差の解消（図８（ｂ）を参照する。）
個々の閉じたポリラインについて自己交差を解消した後、他のポリライン同士との交差を解消する。
【０１１３】
この場合、自己交差の場合のように裏返しになる部分は発生しないが、重複する部分はありうる。
【０１１４】
これも自己交差の場合と同様に、スキャンラインによる判定を行うことができる。
【０１１５】
（２−２−３）合成（図８（ｃ）を参照する。）
全ての線分について判定と削除処理が終わったならば、残った開ポリラインをつないで閉じたポリラインを形成する。
【０１１６】
（２−３）出力座標系へマッピング・・・ステップＳ１４０６
次に、上記した（２−２−３）の処理により合成された輪郭ポリラインを出力するビットマップ出力用画像座標系に当てはめる。
【０１１７】
（２−３−１）ワールド座標値を出力画像座標系の値へ変換
ワールド座標値を（Ｘｗ，Ｙｗ）、ワールド→画像座標スケーリング係数を（ｓｘ，ｓｙ）、画像座標原点の平行移動量を（ｔｘ，ｔｙ）とおくと、画像座標値を（ｕ，ｖ）は次式で求められる。
【数１１】
2015024631.tif 000027
【０１１８】
図９（ｂ）（ｃ）に示すように、画像座標系にはビットマップ用とベクトル用との２種類ある（なお、図９（ａ）は、ワールド座標系を示している。）。それぞれに変換行列Ｈを求めておく。
【０１１９】
ここで、ワールド座標系の幅、高さをそれぞれＷ，Ｈ［ｍｍ］、ビットマップ用画像座標系の幅、高さをそれぞれｗｂｍｐ，ｈｂｍｐとおくと、変換行列Ｈの各パラメータは以下のとおりとなる。
【数１２】
2015024631.tif 000028
【０１２０】
なお、ｗｂｍｐ，ｈｂｍｐにはプロジェクターの画像サイズを用いる。
【０１２１】
（２−３−２）座標値のレンズ歪補正
プロジェクターを使用して造形する場合は、調査済みの歪み係数を用いて画像座標の変更を行う。また、その画像座標から、対応するワールド座標値を計算する。
【０１２２】
本来の画像座標（ｕ，ｖ）と、レンズの放射方向への歪曲後の画像座標（ｕｄ，ｖｄ）の関係は次式で表される。
【数１３】
2015024631.tif 000029
【０１２３】
ここで、（ｕ０，ｖ０）は放射歪の中心座標、ｒ２＝ｘ２＋ｙ２，ｘ，ｙは正規化画像座標値、ｋ１，ｋ２は予め求めておくべき放射方向歪み係数である。
【０１２４】
本発明においては、レンズにより歪む座標値を逆に補正することで投影後の座標が本来の値になるようにしたいので、上記した式（２）の逆変換を行う。これには、ニュートン法による３次方程式の解法を用いる。
【０１２５】
（２−３−３）画像座標系範囲でクリッピング
三次元モデルの輪郭ポリライン全域が出力画像座標系に収まらない場合は、その境界線でクリップする。図１０には公知のリエントラント型多角形クリッピング（パイプラインクリッピング）の処理を示す説明図が示されているが、この図１０に示すように、画像座標範囲の上辺、下辺、左辺、右辺それぞれ順にポリラインをクリップしていく。ただしそれらの順序は問わないものとする。
【０１２６】
（３）塗り潰しデータの生成部４６における処理
塗り潰しデータ生成４６においては、上記した処理で得られた輪郭ポリラインの内部を塗り潰すビットマップデータを生成する。
【０１２７】
即ち、輪郭ポリラインで囲まれた領域の内部を、公知のスキャンコンバージョンに基づく処理により塗りつぶすビットマップデータを生成するものであるが、以下にその技術内容について詳細に説明する。
【０１２８】
（３−１）ピクセルデータベースの作成
図１１にはスキャンコンバージョンによるポリラインの塗り潰しの処理を示す説明図が示されているが、図１１において、１つの正方形のマスがビットマップ画像の１つのピクセルを表すものとする。
【０１２９】
これらピクセルの角が、ポリラインで囲まれた領域内部にあるかそうでないかのデータを設定する。
【０１３０】
ピクセルの各エッジに、ポリラインとの交差座標を計算し設定する。そして、ピクセルエッジに沿った横方向／縦方向のスキャンラインを座標値の小さい方から大きい方向へ辿り、交差座標を通る毎にそこに「ＯＮ」／「ＯＦＦ」のステータスを交互に設定する。
【０１３１】
「ＯＮ」から「ＯＦＦ」の間にあるピクセルの角は、多角形の内部であるので「ＩＮ」（図１１中の白抜きの丸）を，そうでないピクセルの角はポリラインの外部なので「ＯＵＴ」のステータスを設定する．
【０１３２】
（３−２）ビットマップの各ピクセルに輝度値を設定
ビットマップの各ピクセルに輝度値の設定については、ＩＮ／ＯＵＴステータスによって、８ｂｉｔグレースケールビットマップの各ピクセルの値を、次のように設定していく。
【０１３３】
即ち、ピクセルの四つ角のうち少なくとも１つが「ＩＮ」ならば、そのピクセルの輝度値を２５５に、それ以外の場合は０にする。
【０１３４】
そして、スライスデータ生成装置１０は、塗り潰しデータの生成部４６における処理で生成されたデータを光造形用のスライスデータとして三次元造形装置１００へ出力する。
【０１３５】
なお、以上において説明した本実施の形態の一例による一連の三次元造形用スライスデータ生成処理のプログラムの実装に際しては、プラットフォームに依存しないようにＳＴＬ（Ｓｔａｎｄａｒｄ  Ｔｅｍｐｌａｔｅ  Ｌｉｂｒａｒｙ）とＯｐｅｎＣＶという一般的なライブラリのみを利用し、ユーザーインターフェースと三次元造形装置の制御についてのみプラットフォームに応じた実装を行うようにすることができる（図１２を参照する。）。このようにすることで、様々なプラットフォームへの実装が容易になる。
【０１３６】
即ち、ソリッドモデルのポリゴンメッシュから三次元造形用スライスデータを計算し取得するソフトウェアに、本発明による手法をプログラムすることもできる。
【０１３７】
また、上記においてその詳細な説明は省略したが、作業者の作業を容易にするとともに作業者に安心感を与えるために、三次元造形物の上端から下端までを一定のピッチでスライスした場合の輪郭形状を表示装置１８上に表示するようにしてもよい。
【０１３８】
そして、この表示結果としては、その内部を正常に塗り潰すことができるように自動で修正された外形のみを表示するようにしてもよい。
【０１３９】
以上において説明したように、本発明による手法においては、完全なソリッドモデルとしての条件を満たしていないポリゴンメッシュに対して高度な修正作業を行うことなしにスライスデータを生成することができる。
【０１４０】
従って、本発明による手法においては、ポリゴンメッシュを修正するために特別なソフトウェアを用意する必要がなく、作業者は高度なソフトウェア操作のスキルを必要としない。
【０１４１】
また、本発明による手法においては、本発明の処理により修正された修正後の輪郭形状を三次元造形前に表示することで、三次元造形が可能であることを作業者に理解させることができ、作業者を安心させることができる。
【０１４２】
そして、こうした本発明による手法は、光造形だけでなくラスターで描画を行う様々な製品にも適用可能であり、また、様々なプラットフォームへの移植も容易である。
【産業上の利用可能性】
【０１４３】
本発明は、光を照射すると硬化する光硬化性樹脂を用いて三次元造形物を作製する三次元造形装置などのような各種の装置に用いるスライスデータを作成する際に利用することができるものである。
【符号の説明】
【０１４４】
１０  スライスデータ作成装置、  １２  中央処理装置（ＣＰＵ）、  １４  バス、  １６  記憶装置、  １８  表示装置、  ２０  ポインティングデバイス，２２  文字入力デバイス、  ２４  入出力インターフェース回路（Ｉ／Ｏ）、  ２６  外部記憶装置、  ２８  記録媒体、  ３０  リードライト装置、  ４２  ポリゴンメッシュ作成部、  ４４  輪郭抽出部、  ４６  塗り潰しデータ作成部、  １００  三次元造形装置
【図１】
2015024631.tif 000030
【図２】
2015024631.tif 000031
【図３】
2015024631.tif 000032
【図４】
2015024631.tif 000033
【図１０】
2015024631.tif 000034
【図１２】
2015024631.tif 000035
【図１３】
2015024631.tif 000036
【図１４】
2015024631.tif 000037
【図５】
2015024631.tif 000038
【図６】
2015024631.tif 000039
【図７】
2015024631.tif 000040
【図８】
2015024631.tif 000041
【図９】
2015024631.tif 000042
【図１１】
2015024631.tif 000043