(57)【特許請求の範囲】
【請求項１】
１組の命令に従って物体のモデルを処理するコンピュータープログラム製品であって、
混成適応サンプル距離場（ＡＤＦ）によって表される物体のモデルを格納する非一時的なコンピューター可読メモリを含み、前記モデルはセルの階層を含み、少なくとも１つのセルは、前記物体の境界の少なくとも一部分を形成する１組の距離関数と、前記距離関数のうちの少なくとも幾つかの１組の距離サンプルとを含み、それにより、前記１組の命令を実行するプロセッサは前記物体の前記モデルを処理する、コンピュータープログラム製品。
【請求項２】
前記セルは混成ＡＤＦセルであり、前記セルの階層の各セルは前記混成ＡＤＦセルである、請求項１に記載の製品。
【請求項３】
前記１組の距離サンプルは、前記セルの頂点ごとに求められる、請求項１に記載の製品。
【請求項４】
前記セルは、
前記１組の距離サンプルから前記セル内の距離場を再構成する再構成関数と、
前記１組の距離関数によって表される幾何学的要素を合成して、前記セルの複合表面を求める合成関数と、
を含む、請求項１に記載の製品。
【請求項５】
前記セルには、該セルと前記物体の境界との関係を示す２つのタイプが関連付けられ、前記関係は、中間セル、外部葉セル、内部葉セル、及び境界葉セルからなる群から選択される、請求項１に記載の製品。
【請求項６】
前記２つのタイプは、前記１組の距離サンプルに基づいて求められる第１のタイプと、前記１組の距離関数に基づいて求められる第２のタイプとを含む、請求項５に記載の製品。
【請求項７】
前記セルは、
該セルが距離サンプルを有する子セルを含むか否かを記述するサンプルタイプ識別子と、
該セルが距離関数を有する子セルを含むか否かを記述する複合タイプ識別子と、
を含む、請求項１に記載の製品。
【請求項８】
物体のモデルを生成する方法であって、前記モデルは、セルの空間的な階層によって形成される混成適応サンプル距離場によって前記物体を表し、少なくとも１つのセルには、１組の距離サンプル及び１組の距離関数が関連付けられ、該方法は、
前記セルの距離関数をサンプリングして、距離サンプルのサブセットを生成するステップと、
前記距離サンプルのサブセットを用いて前記セルの前記１組の距離サンプルを変更するステップと、
前記距離関数を用いて前記セルの前記１組の距離関数を変更するステップと、
を含み、該方法の前記ステップはプロセッサが実行する、物体のモデルを生成する方法。
【請求項９】
前記セルの前記１組の距離関数を変更することは、前記セルの前記１組の距離サンプルに基づく、請求項８に記載の方法。
【請求項１０】
前記セルの前記１組の距離サンプルを変更することは、前記セルの前記１組の距離関数に基づく、請求項８に記載の方法。
【請求項１１】
前記サンプリングすることは、前記特定のセルの頂点ごとに実行され、該方法は、
前記距離サンプルのサブセット内の値の符号に基づいて、前記距離関数によって表される幾何学的要素の表面が前記セルと交差するか否かを判断すること
を更に含む、請求項８に記載の方法。
【請求項１２】
前記セルには、前記１組の距離サンプルに基づいて求められるサンプルタイプと、前記１組の距離関数に基づいて求められる複合タイプとが関連付けられ、前記サンプルタイプ及び前記複合タイプは、前記物体の境界との前記セルの関係を示し、前記タイプは、中間セル、外部葉セル、内部葉セル、及び境界葉セルからなる群から選択され、該方法は、
前記セルの前記サンプルタイプのサンプル細分基準及び前記セルの前記複合タイプの複合細分基準をテストすることと、
前記サンプル細分基準又は前記複合細分基準のうちの少なくとも一方が満たされる場合、前記セルの子を生成することと、
を更に含む、請求項８に記載の方法。
【請求項１３】
前記１組の距離サンプルから再構成される表面と、前記１組の距離場を合成することによって求められる表面との誤差を求めることと、
前記誤差に基づいて前記サンプル細分基準をチェックすることと、
を更に含む、請求項１２に記載の方法。
【請求項１４】
前記セルの前記１組の距離関数に基づいて、前記セルの子セルの１組の距離サンプルを求めること
を更に含む、請求項１２に記載の方法。
【請求項１５】
前記１組の距離場内の距離場の数を求めることと、
前記数に基づいて前記複合細分基準をチェックすることと、
を更に含む、請求項１２に記載の方法。
【請求項１６】
物体のモデルをシミュレートする方法であって、
セルの空間的な階層によって形成される適応サンプル距離場を用いてシミュレーションを初期化するステップであって、少なくとも１つのセルは、１組の距離関数と、前記距離関数のうちの少なくとも幾つかの１組の距離サンプルとを含む、ステップと、
前記セルの距離関数をサンプリングして、距離サンプルのサブセットを生成するステップと、
前記距離サンプルのサブセット内の値の符号に基づいて、前記距離関数によって表される幾何学的要素の表面が前記セルと交差するか否かを判断するステップと、
前記距離サンプルのサブセット内の値に基づいて、前記距離関数が、前記セル内の前記物体の前記モデルの複合表面を形成するか否かを判断するステップと、
前記距離サンプルのサブセットを用いて前記セルの前記１組の距離サンプルを変更するステップと、
前記距離関数を用いて前記セルの前記１組の距離関数を変更するステップと、
を含み、該方法の前記ステップはプロセッサが実行する、方法。
【請求項１７】
前記１組の距離サンプルに基づいて、前記１組の距離サンプルを用いて前記セル内の前記物体の前記モデルの近似表面を再構成することと、
前記近似表面との１組の光線の近似交点を求めることと、
前記近似交点及び前記１組の距離関数に基づいて、前記複合表面との前記１組の光線の厳密な交点を求めることと、
前記厳密な交点に基づいて、前記１組の光線の各光線に関連付けられるピクセル値を求めることと、
を更に含む、請求項１６に記載の方法。
【請求項１８】
前記近似表面の少なくとも一部分をレンダリングすることと、
前記複合表面の少なくとも一部分をレンダリングすることと、
を更に含む、請求項１７に記載の方法。
【請求項１９】
前記１組の距離サンプルに基づいて特定の前記距離関数をカリングすること
を更に含む、請求項１６に記載の方法。
【請求項２０】
前記カリングすることは、
前記１組の距離サンプルと前記距離サンプルのサブセットとの誤差を求めることと、
前記誤差に基づいて前記距離関数をカリングすることと、
を含む、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には数値制御（ＮＣ：Numerically Controlled）機械加工に関し、より詳細には混成適応サンプル距離場を用いてＮＣ機械加工をシミュレートすることに関する。
【背景技術】
【０００２】
数値制御機械加工
数値制御（ＮＣ）機械加工の工程をシミュレートすることは、コンピューター支援設計（ＣＡＤ：computer aided design）及びコンピューター支援製造（ＣＡＭ：computer aided manufacturing）において根本的に重要である。シミュレーション中に、工作物のコンピューターモデルが、ＮＣ機械加工工具のコンピューター表現及び１組のＮＣ機械加工工具の動きを用いて編集され、機械加工工程がシミュレートされる。
【０００３】
工作物モデル及び工具表現を、シミュレーション中に可視化して、工作物及び工具ホルダーのような部品間の潜在的な衝突を検出することができ、シミュレーション後に、工作物の最終的な形状を検証することができる。
【０００４】
工作物の最終的な形状は、工具及び工具の動きの選択によって影響を及ぼされる。これらの動きを制御するための命令が通常は、ＣＡＭシステムを用いて、工作物の所望の最終的な形状のグラフィック表現から生成される。それらの動きは通常、準備コード（preparatory code）又はＧコードとしても知られている、数値制御プログラミング言語を用いて実現される。標準規格ＲＳ２７４Ｄ及びＤＩＮ ６６０２５／ＩＳＯ ６９８３を参照されたい。
【０００５】
ＣＡＭシステムによって生成されるＧコードは、所望の形状の正確な複製物を製造しない場合がある。さらに、ＮＣ工具の動きは、所定の速度、加速度、及び動きの範囲を有するＮＣ機械加工システムの作動部によって支配される。したがって、実際の工具の動きは、ＮＣ機械加工命令に厳密には従わない場合がある。
【０００６】
工作物の最終的な形状と、工作物の所望の形状との間の不一致は極めて小さい場合がある。状況によっては、これらの不一致の結果として、工作物の最終的な形状の表面に、大きさが概ね数マイクロメートルの深さ及び幅、数十マイクロメートルの長さの望ましくない溝状の傷（gouge）又は欠け目（nick）が生じる可能性がある。
【０００７】
通常、工作物を機械加工する前に、より軟質で安価な材料から形成される試験工作物を機械加工することによって、１組のＮＣ機械加工命令が試験される。その試験工作物の目視検査によって、試験工作物において望ましくない不一致が見つかった場合には、それに応じて、ＮＣ機械加工命令を変更することができる。
【０００８】
この手動試験は、時間及びコストがかかる。単一の試験工作物を機械加工するための時間は概ね数時間かかる場合があり、許容できる１組のＮＣ機械加工命令が得られるまでに、何度か繰り返すことが必要な場合がある。
【０００９】
したがって、コンピューターに基づくシミュレーション及びレンダリングを用いて、これらの不一致を試験することが望ましい。しかしながら、約数ｍの寸法を有することができる工作物の約数μｍの寸法のずれを検出するために、非常に精密なコンピューターモデルが必要とされる。
【００１０】
掃引容積
機械加工中に、本明細書において工具経路と呼ばれる所定の工具運動に従って、工具が工作物に対して動く。ここで、工具経路は工作物に対する工具の相対的な位置、向き及び他の形状データについての情報を含むことができる。
【００１１】
工具が工具経路に沿って動くとき、工具は「掃引容積」を切り出す。機械加工中に、工具が工具経路に沿って動くとき、掃引容積によって横切られる工作物の部分が除去される。この材料除去は、コンピューターにおいて、空間領域構成法（ＣＳＧ：constructive solid geometry）差分演算としてモデル化することができ、その演算によれば、掃引容積及び工作物に対するＣＳＧ減算演算を用いて、工作物のその部分が工作物から除去される。
【００１２】
高精密機械加工シミュレーションを提供するために、掃引容積の精密な表現を有する必要がある。したがって、本発明の目的は、掃引容積の高精密モデルを表現してレンダリングする空間効率的かつ時間効率的な方法を提供することである。
【００１３】
本明細書では一例としてＮＣ機械加工シミュレーションが用いられるが、掃引容積は、科学、工学、エンターテインメント及びコンピューターグラフィックスの数多くの分野において用途を有する。幾つかの具体的な用途は、数例を挙げると、コンピューター支援設計、フリーフォーム設計、コンピューターを利用した製図、アニメーション、立体モデリング、ロボット光学、製造自動化及び可視化を含む。以下の説明は、掃引容積の正確な表現が必要とされるか、又は望まれる全ての分野に当てはまる。
【００１４】
ＮＣ機械加工シミュレーションは通常３次元座標系において行われるが、用語「掃引容積」は、より一般的には、Ｎ次元座標系に拡張することができる。詳細には、以下の論考は、２次元空間内の経路に沿って動く１次元又は２次元の形状によって掃出される面積に、又はそれよりも高次元の空間内の経路又は表面にわたって動く形状によって掃出される超体積にも当てはまる。
【００１５】
掃引容積研究の重要性及び課題の概説が、非特許文献１において提示されている。彼らは、コンピューターソフトウエアにおいて掃引の複雑な数学的定式化を実施するのが難しいことによって、この分野における研究が制限されること、並びに掃引容積の境界を計算するには難問が未解決であり、より良好な可視化ツール、及びより正確な方法が必要とされることを結論として述べている。
【００１６】
特許文献１に記述されているように、単純な経路に沿って動く単純な形状の掃引容積は、解析的に表現することができることがある。しかしながら、それらの方法は、複雑な形状及び複雑な工具経路まで一般化しない。
【００１７】
幾つかの手法が、多角形の形状の掃引容積を近似する。非特許文献２の場合のようにＣＳＧ演算を介して効率的に編集するために、又は特許文献２の場合のように効率的に衝突検出するために、多角形の形状のモデルを空間的な階層内に符号化することができる。
【００１８】
多角形の物体の掃引容積を近似する方法が、非特許文献３に記述されている。
【００１９】
特許文献３は、掃引容積の多角形モデルに関するＣＳＧ演算を用いて機械加工をシミュレートする方法を記述している。その方法では、工作物の境界が１組のセルの中に入れられ、各セルは、そのセルを横切る掃引容積多角形への参照を含む。工作物と特定のセル内の掃引容積多角形との間の交差部分を要求に応じて処理して、狭い対象領域において機械加工される表面の高精度のレンダリングを生成することができる。しかしながら、高精度での全体モデルの可視化は極めて低速である。加えて、掃引容積の生成及び交点の処理については説明しない。
【００２０】
特許文献４は、物体を多面体として表すことを記述している。その物体は、一連の変換を用いて、離散的な時間ステップにおいて、その経路に沿って配置される。掃引容積の境界に位置する多面体表現の辺（edges）及び面（faces）が各時間ステップにおいて求められ、互いに接続されて、その掃引容積の多面体近似が生成される。
【００２１】
これらの多角形法のそれぞれの精度は、物体モデルの多角形表現によって制限される。特に曲率半径が小さい場合には、複雑な工具の曲面を正確に表現するのに、数十億もの多角形が必要とされる場合がある。したがって、それらの方法は、精度が限られているか、若しくは掃引容積の高精度のモデルを生成するのに法外な処理時間及びメモリ要件を要するかのいずれか、又はその両方である。加えて、掃引容積を一連の離散的な時間ステップとして近似する方法では、時間ステップ間の精度が限られており、エイリアシングアーティファクトを受けやすい。
【００２２】
機械加工シミュレーションのための別の一般的な表現はＺバッファー（深さ）又はＤｅｘｅｌ法として知られている。その手法は非特許文献４において記述されている。特許文献５は、同じような方法を記述しており、その方法では、工作物が、全てｚ方向内にある直線の格子によってモデル化され、機械加工シミュレーションは、その格子にわたって工具モデルを動かし、その工具によって横切られる工作物を表す線の高さを変更することによって実行される。
【００２３】
Ｄｅｘｅｌ法は通常、ｚ軸と一致しない方向において特に、分解能が限られるという難点があり、掃引容積の高精度のモデルを生成するのに適していない。
【００２４】
Ｄｅｘｅｌ表現はボクセルベース表現に関連する。非特許文献５において、Kaufmanはボクセルベース表現、及びボクセルベース表現をレンダリングし、処理する方法を記述する。非特許文献６及び非特許文献７はいずれも、物体のボクセルベース表現に関するＣＳＧ演算を用いてスカルプティング（sculpting）をシミュレートする。
【００２５】
２値ボクセルを用いて掃引容積を表現する方法は、特許文献６並びに非特許文献８及び非特許文献９を含む。これらの方法はいずれも、掃引容積を表すために用いられる最小ボクセルのサイズによって精度が制限される。
【００２６】
距離場
特許文献７、特許文献８、特許文献９及び特許文献１０において記述されているように、距離場は、形状をレンダリングし、編集するための有効な表現である。特に、距離場は、物体を表すのに用いられる陰関数の一形態である。距離場は、空間内の任意の点から物体の表面への最短距離を与えるスカラー場である。距離場がゼロとなる点は、物体の表面上にある。物体の表面上の１組の点は集合的に、ｄ＝０等値面（isosurface）としても知られる物体の境界を表す。物体の距離場は通常、物体内部の点の距離場の符号が、物体外部の点の距離場の符号とは逆であるような符号を有する。例えば、距離場は、物体内部の点の場合、正の符号を有し、物体外部の点の場合、負の符号を有する。
【００２７】
距離場は、掃引容積を表現し、レンダリングするために用いられることができる。非特許文献１０は、陰関数に関して掃引容積の包絡線を定義するための理論的基礎を記述した。非特許文献１１において、Sourin及びPaskoは、陰表面を用いて掃引容積を表現した。しかしながら、陰表面はレンダリングするのが困難である可能性があり、任意の複雑な工具形状に関して適した陰表現を定義するのは難しい。
【００２８】
物体の距離場を計算するための手法は距離場関数と呼ばれる。平面、球体、又は円柱等の非常に単純な物体の場合、距離場関数は閉形式を有する解析関数とすることができる。より複雑な物体の場合、解析関数は可能でない場合がある。しかしながら、数値的手法は依然として可能とすることができる。例えば、特許文献１１は、掃引機械加工工具等の掃引物体の距離場を求めるための数値的手法を記載している。
【００２９】
さらにより複雑な物体では、物体の距離場の計算に使用することができる単純な数値手順がない場合がある。例えば、機械加工された工作物は、数値手順が物体の距離場を計算することができないような非常に複雑な表面を有することができる。この場合、物体の距離場は、サンプリング及び再構成によって計算することができる。
【００３０】
サンプリングは、空間内の１組の位置における距離場の値を求め、それらの値を格納することを含む。再構成は、格納された値及び再構成関数を用いて、距離場がサンプリングされなかった点での物体の距離場を計算する。一般的なサンプリング手法は、等間隔の規則正しい３Ｄ格子位置（規則的サンプリング）上の距離場の値をサンプリングするというものである。一般的な３Ｄ再構成関数は三線再構成であり、この再構成では、点を囲む８つのサンプルを、三線補間関数を用いて一緒に合成し、その点での距離場の値を計算する。
【００３１】
距離場の規則的サンプリングは非常に単純であるが、あまり効率的ではない場合がある。物体の形状は、距離場がゆっくりと変わる領域が空間内にあり、正確な距離場をはるかに少数のサンプルを用いて再構成することができるような多くの非常に類似したサンプルがある（オーバーサンプリング状態）ようなものである場合がある。同様に、距離場を正確に再構成するのにサンプル数が十分ではない（アンダーサンプリング状態）ように距離場が素早く変わる空間の領域がある場合がある。
【００３２】
適応サンプル距離場（ＡＤＦ：Adaptively Sampled Distance Field）は、ディテール指向サンプリング（detail-directed sampling）を用いて、規則的サンプリングを用いて得られるよりも、空間的かつ時間的に効率のはるかに良い距離場の表現を提供する。サンプルＡＤＦと呼ばれるタイプのＡＤＦは、セルの空間的な階層内に距離場の値のサンプルを格納する。セルのサイズは、サンプル密度に反比例し、距離場が高速に変化する場所では小さく、距離場がゆっくりと変化する領域では大きい。局所的に変化するサンプル密度を用いることによって、サンプルＡＤＦは、領域によるオーバーサンプリング及びアンダーサンプリングを回避する。サンプルＡＤＦの各セルは、距離場サンプルを含み、セルに関連付けられた距離場の部分を再構成する再構成法が関連付けられる。距離場サンプルは、距離場の値と、距離場の勾配及び偏導関数とを含むことができる。メモリ及び処理時間を最小にする必要があるときにのみ、セル内の距離場は、距離データサンプルから再構成することができる。
【００３３】
物体の距離場のサンプル値を格納するサンプルＡＤＦは、モデルの正確性とメモリ要件とをトレードオフする有用な方法を提供する。再構成される距離場の正確性は、セル内の距離場サンプル数と、再構成関数及びセルのサイズとに関連する。再構成される距離場の正確性は、幾つかの方法で増大することができる：セル内のサンプル数を増大することができるか、各サンプルに関連付けられる情報量を増大することができるか、又はセルのサイズを低減することができる。
【００３４】
例えば、トリクワッド（triquadric）再構成関数は、三線再構成関数よりも正確であるが、２７のスカラー距離場サンプルを必要とし、一方、三線再構成関数では、８つのスカラー距離場サンプルだけでよく、セルごとにデータが３倍を超えて増大する。代替的には、ＡＤＦでの最小セルサイズを低減して、正確性を増大させることができるが、所与の容積を充填するために必要なセルの数も増大するため、メモリも増大する。しかしながら、サンプルＡＤＦを用いて非常に高い正確性（〜１ミクロン）を得るには、大きな工作物をシミュレートするとき、法外に大量のメモリ及び処理時間が必要になる場合がある。
【００３５】
ＣＳＧ演算を用いて編集をシミュレートするために、ＡＤＦを用いることができる。編集されるモデル及び編集ツールは、距離関数、規則的にサンプリングされる距離場、又はＡＤＦとして表すことができる。その編集過程は、例えば、そのモデルのＡＤＦを変更することによって、編集される形状のＡＤＦを明示的に生成することができる。
【００３６】
代替的には、編集される形状は、複合ＡＤＦ（Composite ADF）として暗黙的に表すことができる。複合適応サンプル距離場（ＣＡＤＦ：Composite Adaptively Sampled Distance Field）は、物体を表すのに生成され、複合ＡＤＦは、空間的な階層に配置される１組のセルを含む。複合ＡＤＦ内の各セルは、１組の幾何学的要素距離場関数のサブセットと、幾何学的要素距離場関数のサブセットを合成することによりセルで表される物体の部分の複合距離場を再構成するための手順的再構成法とを含む。距離場のサブセット内の各距離場は、複合境界と呼ばれる、セル内の物体の境界の部分を形成する。
【００３７】
セル内の１組の幾何学的要素距離場関数のサブセットを求める手順は、複数の境界がセル内の複合境界の複数の部分を形成しているそれらの距離場関数のみをサブセット内に含むべきである。サブセットを求める手順は、高速であるのみならず、正確でもなければならず、さもなければ、結果として生成される複合境界は正確ではなくなる。例えば、特許文献１２に記載されるような光線サンプリング手順を用いることができる。しかしながら、光線サンプリング手順は、距離場のサブセットの特定に、容易に検出することができない誤差をもたらす場合がある。
【００３８】
複合ＡＤＦ（ＣＡＤＦ）は、非常に高い精度で、機械加工された物体の距離場を再構成することができる。１組の幾何学的要素の距離場関数は、解析的方法又は数値的方法によって高精度で計算することができ、距離場関数の値は高精度で結合することができる。結果として得られる表面は、表面特徴について非常に詳細であり、約１立方メートルのシミュレートされた物体の場合、表面特徴は１ミクロン未満とすることができる。しかしながら、この非常に正確な表面の再構成は遅い場合があり、方法の有用性を制限する。
【００３９】
したがって、物体の再構成される複合境界の誤差を低減させるためには、複合ＡＤＦのセル内の１組の幾何学的要素距離場のサブセットを求めるために使用される既存の方法を改善する必要がある。さらに、複合ＡＤＦ表現の有用性を改善するために、物体の複合境界の再構成速度を改善する方法が必要とされる。
【先行技術文献】
【特許文献】
【００４０】
【特許文献１】米国特許第４，８３３，６１７号
【特許文献２】米国特許第６，０９９，５７３号
【特許文献３】米国特許第６，８６２，５６０号
【特許文献４】米国特許第６，９９３，４６１号
【特許文献５】米国特許第７，１４９，６６８号
【特許文献６】米国特許第６，０４４，３０６号
【特許文献７】米国特許第６，３９６，４９２号
【特許文献８】米国特許第６，７２４，３９３号
【特許文献９】米国特許第６，８２６，０２４号
【特許文献１０】米国特許第７，０４２，４５８号
【特許文献１１】米国特許出願第１２／４６８，６０７号
【特許文献１２】米国特許出願第１２／７５１，５９１号
【非特許文献】
【００４１】
【非特許文献１】Abdel-Malek、Blackmore、及びJoy「Swept Volumes: Foundations, Perspectives, and Applications」International Journal of Shape Modeling, 2006
【非特許文献２】Butcher「Interactive CSG」Proceedings, Technical Sketches, SIGGRAPH, 1999
【非特許文献３】Abrams及びAllen「Computing Swept Volumes」Journal of Visualization and Animation, 2000
【非特許文献４】van Hook「Real-time Shaded NC Milling Display」Proceedings, SIGGRAPH 1986
【非特許文献５】Kaufman「Volume Visualization」IEEE Computer Society Press, 1991
【非特許文献６】Galyean及びHughes「Sculpting: an Interactive Volumetric Modeling Technique」Proceedings, SIGGRAPH 1991
【非特許文献７】Wang及びKaufman「Volume Sculpting:」Proceedings, SIGGRAPH 1995
【非特許文献８】Erdim及びIlies「Method and Apparatus for Shaping Geometric Shapes」Proceedings, TMCE, 2008
【非特許文献９】Erdim及びIlies「Octree-based Boundary Evaluation for General Sweeps」Proceedings, TMCE, 2008
【非特許文献１０】Martin及びStephenson「Sweeping of Three Dimensional Objects」Computer Aided Design, 20(4), 1990
【非特許文献１１】Sourin及びPasko「Function Representation for Sweeping by a Moving Solid」Proceedings, Solid Modeling, 1995
【発明の概要】
【発明が解決しようとする課題】
【００４２】
本発明の目的は、機械加工シミュレーションのそのような高い正確性のモデルを表現しレンダリングする空間的かつ時間的に効率的な方法を提供することである。本発明の様々な実施形態の別の目的は、物体のモデルの代替表現を提供して、モデルの有用性及び処理を改善することである。幾つかの実施形態の更なる目的は、物体の複合境界の再構成の速度及び正確性を改善するとともに、様々なシミュレーションタスク及びグラフィックレンダリングタスクに関してモデルの処理を促進するモデルを提供することである。
【課題を解決するための手段】
【００４３】
本発明の幾つかの実施形態は、機械加工のシミュレーションに必要なメモリを節約するために、格納されるデータ量を増大しなければならないという直観に反する認識に基づく。したがって、本発明の実施形態は、混成適応サンプル距離場（ＡＤＦ）を開示する。
【００４４】
混成ＡＤＦは１組のセルによって物体を表す。混成ＡＤＦ内の少なくとも１つのセルは、距離場のサンプルに関連付けられたデータ、例えば１組の距離サンプルと、１組の幾何学的要素距離場のサブセット、例えば１組の距離関数とを含む。両タイプのデータには、セルで表される物体の部分の距離場を再構成する手続き型の再構成法が関連付けられる。
【００４５】
したがって、本発明の様々な実施形態では、物体のモデルは混成適応サンプル距離場によって表される。一実施形態では、物体のモデルはセルの階層を含み、少なくとも１つのセルは、物体の境界の少なくとも部分を形成する１組の距離関数と、距離関数のうちの少なくとも幾つかの１組の距離サンプルとを含む。
【００４６】
例えば、物体の形状は形状距離場によって表すことができる。経路は、パラメトリック関数によって表すことができる。掃引容積距離場は、経路に沿って形状を動かすことによって生成される掃引容積によって表すことができ、掃引容積距離場は、掃引容積再構成法に従って連続して定義される。
【００４７】
掃引容積再構成法は、サンプル点において掃引容積距離場を再構成する。パラメトリック関数のパラメーターの最適な組は連続して求められ、パラメーターの最適な組は、経路に沿った形状の最適な配置を定義する。形状距離場は最適な配置に変形され、変形形状距離場を生成する。距離データは、サンプル点における変形形状距離場から求められ、サンプル点において掃引容積距離場を再構成する。
【００４８】
混成ＡＤＦは、掃引容積距離場を混成ＡＤＦ内に組み込むように編集される。混成ＡＤＦの１組の編集セルが掃引容積から求められ、混成ＡＤＦは、その組の編集セル内で再構成され、再生成は、掃引容積距離場を混成ＡＤＦの１組の編集セル内に組み込み、経路に沿って形状を動かすことによって物体の機械加工をシミュレートする。
【００４９】
混成ＡＤＦは、距離場サンプルからの物体の距離場の近似再構成又は１組の幾何学的要素距離場のサブセットからの物体の距離場の厳密な再構成のいずれかを可能にする二重性を示す。
【００５０】
さらに、距離場サンプルを用いて、混成ＡＤＦの再生成とレンダリングの品質及び性能を改善する。さらに、混成ＡＤＦはカリング（culling）手順を単純化し、レンダリングプロセスの効率を増大させ、物体の表面のより正確な近似を提供し、物体を柔軟に表現する機会を開く。
【００５１】
したがって、本発明の一実施形態は、１組の命令に従って物体のモデルを処理するコンピュータープログラム製品を開示する。この製品は、混成適応サンプル距離場によって表される物体のモデルを格納する非一時的なコンピューター可読メモリを含み、１組の命令を実行するプロセッサは、物体のモデルを処理する。
【００５２】
モデルはセルの階層を含むことができ、少なくとも１つのセルは、物体の境界の少なくとも部分を形成する１組の距離関数と、距離関数のうちの少なくとも幾つかの１組の距離サンプルとを含む。例えば、１組の距離サンプルは、セルの頂点ごとに求めることができる。
【００５３】
本実施形態の幾つかの変形では、セルは、１組の距離サンプルからセル内の距離場を再構成する再構成関数と、１組の距離関数によって表される幾何学的要素を合成して、セルの複合表面を求める合成関数とを含む。また、セルには少なくとも１つのタイプを関連付けることができる。タイプは、物体の境界とのセルの関係を示す。関係は、中間セル、外部葉セル、内部葉セル、及び境界葉セルを含むことができる。例えば、少なくとも１つのタイプは、１組の距離サンプルに基づいて求められる第１のタイプと、１組の距離関数に基づいて求められる第２のタイプとを含むことができる。また、セルは、セルが距離サンプルを有する子セルを含むか否かを記述するサンプルタイプ識別子と、セルが距離関数を有する１つ又は複数の子セルを含むか否かを記述する複合タイプ識別子とを含むことができる。
【００５４】
本発明の別の実施形態は、セルの空間的な階層によって形成される混成適応サンプル距離場（ＡＤＦ）によって表される物体のモデルを生成する方法を開示し、この方法では、少なくとも１つの特定のセルに、１組の距離サンプル及び１組の距離関数が関連付けられる。特定の距離関数ごと、及び特定のセルごとに、本方法は、特定のセルの特定の距離関数をサンプリングして、特定の組の距離サンプルを生成することと、特定の組の距離サンプルを用いて特定のセルの１組の距離サンプルを変更することと、特定の距離関数を用いて特定のセルの１組の距離関数を変更することとを含み、本方法のこれらのステップはプロセッサによって実行される。例えば、サンプリングすることは、特定のセルの頂点ごとに実行することができ、本方法は、特定の組の距離サンプル内の値の符号に基づいて、特定の距離関数によって表される幾何学的要素の表面が、特定のセルと交差するか否かを判断することを含むことができる。
【００５５】
幾つかの変形形態では、特定のセルの１組の距離関数を変更することは、その特定のセルの１組の距離サンプルに基づくことができる。同様に、特定のセルの１組の距離サンプルを変更することは、その特定のセルの１組の距離関数に基づくことができる。さらに、セルには、１組の距離サンプルに基づいて求められるサンプルタイプと、１組の距離関数に基づいて求められる複合タイプとを関連付けることができ、サンプルタイプ及び複合タイプは、物体の境界とのセルの関係を示し、それらのタイプは、中間セル、外部葉セル、内部葉セル、及び境界葉セルからなる群から選択される。
【００５６】
したがって、本実施形態の幾つかの変形形態では、本方法は、セルのサンプルタイプのサンプル細分基準及びセルの複合タイプの複合細分基準をチェックすることと、サンプル細分基準又は複合細分基準のうちの少なくとも一方が満たされる場合、セルの子を生成することとを含む。例えば、本方法は、１組の距離サンプルから再構成される表面と、１組の距離場を合成することによって求められる表面との誤差を求めることと、誤差に基づいてサンプル細分基準をチェックすることとを含むことができる。同様に、本方法は、１組の距離場内の距離場の数を求めることと、数に基づいて複合細分基準をチェックすることとを含むことができる。また、本方法は、セルの１組の距離関数に基づいてセルの子セルの１組の距離サンプルを求めることを含むことができる。
【００５７】
更に別の実施形態は、１組の距離場によって表される１組の掃引容積を用いて物体のモデルの機械加工のシミュレーションを求める方法を開示する。この方法は、セルの空間的な階層によって形成される混成適応サンプル距離場（ＡＤＦ）を用いてシミュレーションを初期化することであって、特定のセルは、物体の境界の少なくとも部分を形成する１組の距離関数と、距離関数のうちの少なくとも幾つかの１組の距離サンプルとを含むことと、特定のセルの特定の距離関数をサンプリングして、特定の組の距離サンプルを生成することと、特定の組の距離サンプルを用いて特定のセルの１組の距離サンプルを変更することと、特定の組の距離サンプル内の値の符号に基づいて、特定の距離関数によって表される幾何学的要素の表面が特定のセルと交差するか否かを判断することと、特定の組の距離サンプル内の値に基づいて、特定の距離関数が、特定のセル内の物体のモデルの複合表面を形成するか否かを判断することと、特定の距離関数を用いて特定のセルの１組の距離関数を変更することと、シミュレーションをメモリにレンダリングすることとを含み、本方法のこれらのステップはプロセッサによって実行される。
【００５８】
本方法は、１組の距離サンプルに基づいて、１組の距離サンプルを用いて特定のセル内の物体のモデルの近似表面を再構成することと、近似表面との１組の光線の近似交点を求めることと、近似交点及び１組の距離関数に基づいて、複合表面との１組の光線の厳密な交点を求めることと、厳密な交点に基づいて、１組の光線の各光線に関連付けられるピクセル値を求めることと、近似表面の少なくとも部分をレンダリングすることと、複合表面の少なくとも部分をレンダリングすることとのうちの１つ又は組み合わせも含む。
【００５９】
本方法は、１組の距離サンプルに基づいて特定の距離関数をカリングすることを含むこともできる。例えば、カリングすることは、１組の距離サンプルと特定の組の距離サンプルとの誤差を求めることと、誤差に基づいて特定の距離関数をカリングすることとを含むことができる。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施形態によるＮＣ機械加工機と、ＮＣ機械加工をシミュレートするシステム及び方法との流れ図である。
【図２Ａ】経路に沿って工具を動かすことによって作られる工作物での機械加工に用いられる通常の工具及び通常の編集の図である。
【図２Ｂ】曲線経路に沿って２Ｄ形状を掃引することによって求められる掃引容積の概略図である。
【図３Ａ】工具の直線経路の概略図である。
【図３Ｂ】工具の軸が経路に沿って変化する工具の円弧経路の図である。
【図３Ｃ】工具の曲線経路の概略図である。
【図４】本発明の一実施形態による、１組のＧコード又はＮＣ機械命令を用いて、工具形状を用いる工作物の機械加工をシミュレートする方法の流れ図である。
【図５】複合ＡＤＦの概略図である。
【図６】本発明の混成ＡＤＦセルに関連付けられたデータ構造のブロック図である。
【図７】混成ＡＤＦのツリーデータ構造を示す図である。
【図８】幾何学的要素による混成ＡＤＦセルの編集を示すフローチャートである。
【図９Ａ】混成ＡＤＦセルのサンプリングされたＡＤＦ態様の編集を示すフローチャートである。
【図９Ｂ】反復数値法を用いて、光線と幾何学的要素の境界との交点を求める方法の概略図である。
【図１０】混成ＡＤＦセル内の複合表面の画像をレンダリングする方法を示すフローチャートである。
【図１１】光線サンプリングによって混成ＡＤＦセルをカリングする方法を示すフローチャートである。
【発明を実施するための形態】
【００６１】
システム及び方法の概説
図１は、ＮＣ機械加工システム１００と、数値制御（ＮＣ）機械加工シミュレーションシステム１５０との例を示す。ＮＣ機械加工システム１００では、コンピューター支援設計（ＣＡＤ）モデル１０２がコンピューター支援製造（ＣＡＭ）システム１０４に入力され、ＣＡＭシステムは、ＮＣ機械加工システムを制御するＧコード１０６を生成する。ＮＣ機械加工中、ＧコードはＮＣ機械加工コンソール１０８に入力され、このコンソールはＧコードを処理して、対応する１組のＮＣ機械命令１１０を生成する。ＮＣ機械命令はＮＣコントローラー１１２に入力され、ＮＣコントローラーは、工具１１６を工作物１１８に相対して動かして、工作物を機械加工、例えばフライス加工（mill）する１組のモーター制御信号１１４を生成する。
【００６２】
シミュレーションシステム１５０は、ＣＡＭシステム１０４によって生成されるＧコード１０６又はＮＣコンソール１０８によって生成されるＮＣ機械命令１１０のいずれかを入力として取り込むことができる。シミュレーションシステムへの入力はコンピュータープロセッサ１５２によって読み取られ、このプロセッサは工作物の機械加工をシミュレートし、シミュレーションモデル１５４を出力し、このモデルはメモリ１５６に格納することができる。メモリは、物体のモデルを処理するコンピュータープログラム製品内に含むことができる。例えば、メモリは、モデル１５４及び命令セットを格納する非一時的なコンピューター可読メモリを含むことができ、それにより、命令セットを実行するプロセッサ１５２は物体のモデルを処理する。
【００６３】
例えば、プロセッサ１５２は、格納されたモデル１５４をレンダリングし、レンダリング画像１５８を生成し、レンダリング画像１５８はレンダリング装置１６０、例えばディスプレイ又はプリンター装置に出力することができる。レンダリング画像１６２はＣＡＤモデル１０２と比較され、工作物の実際のＮＣ機械加工を実行する前に、Ｇコード１０６又はＮＣ機械命令１１０の正確性を検証することができる。本発明の様々な実施形態では、メモリ１５６は、より詳細に後述するように、混成適応サンプル距離場によって表現される物体のモデルを格納する。
【００６４】
工具
図２Ａは、ＮＣ機械加工において用いられる１組の通常の工具形状２０２、２０４、２０６及び２０８を示す。工具が工作物２１０に対して動かされるとき、その工具は工作物から材料を削り出す。ここで、工具２０２、２０４、２０６及び２０８は、その工作物から、表面２１２、２１４、２１６及び２１８に対応する材料を除去する。各工具によって除去される材料の形状は、工具形状、及び工作物に対する工具の経路によって決定される。除去される材料の形状は、工具が経路に沿って動くときの、工作物と工具の掃引容積との交差部分である。
【００６５】
本明細書においてＮＣ機械加工シミュレーションを重点的に取り扱うが、掃引容積は、コンピューター支援設計、フリーフォーム設計、立体モデリング、ロボティックス、製造自動化及び可視化を含む、科学、工学、及びコンピューターグラフィックスの多くの分野において用途を有する。
【００６６】
掃引容積
図２Ｂは、経路２５２に沿って動かされる形状２５０の掃引容積２６０を示す。経路２５２は、形状２５０の特定の点の位置を時間の関数として規定する。その経路は、その形状の向き２５６、２５７及び２５８を時間の関数として規定することができる。また、その経路は、その形状のスケール、又はその形状の任意の変換を時間の関数として規定することもできる。図２Ｂでは、形状２５０の元の位置、向き及び幾何学的形状が、その形状が経路に沿って動くのに応じて、形状２５４の最終的な位置、向き及び幾何学的形状に変換される。
【００６７】
工具経路
工作物に対する工具の経路は数多くの形において規定することができる。
【００６８】
図３Ａは直線経路を示しており、工具３０２が直線３０４に沿って動かされる。
【００６９】
図３Ｂは円弧状経路を示しており、工具３０２の先端３１０が円弧３１２に沿って動かされ、その経路の終点において、工具の元の軸方向３１４が最終的な軸方向３１６に変換される。
【００７０】
図３Ｃは曲線経路を示しており、工具３０２の先端３１０が曲線３２０に沿って動かされる。
【００７１】
他の取り得る経路形状は、数例を挙げると、工具を或る点に位置決めすること、ポリラインとして知られている一連の線に沿って工具を動かすこと、渦巻又は螺旋形の曲線に沿って工具を動かすこと、２次ベジエ曲線若しくは３次ベジエ曲線、又は区分的多項式曲線として知られている一連の多項式曲線のような、多項式曲線に沿って工具を動かすことを含む。工作物の形状又は材料組成によって影響を及ぼされる手順によって定義される経路を含む、シミュレートすることができる任意の形の経路を様々な実施形態によって用いることができる。
【００７２】
混成適応サンプル距離場
図４は、機械加工をシミュレートする方法、例えば、シミュレーションプロセッサ４００を用いて、工具形状を用いて工作物をフライス加工し、機械加工された工作物の表現をメモリ４４０に格納し、レンダリングプロセッサ４６０を用いて、機械加工された工作物の表現を出力装置４８０にレンダリングする方法を示す。この方法は、混成適応サンプル距離場（ＡＤＦ）によって表現される物体のモデル４４４を用いる。しかしながら、混成ＡＤＦの適用は機械加工シミュレーション用途に限定されない。
【００７３】
混成ＡＤＦはセルの空間的な階層によって形成され、後述するように、少なくとも１つの特定のセルには、１組の距離サンプル及び１組の距離関数の両方が関連付けられる。混成ＡＤＦの生成は、セルごとに反復的に進められる。まず、工作物の形状と、１組の距離場から複合距離場を再構成する方法４０４とを用いて、混成ＡＤＦ４４４を初期化することができ、これをメモリ４４０に格納することができる。その後、例えば、セルが、距離関数４２４で表される幾何学的要素、例えば工具４０８の表面に交差する場合、混成ＡＤＦのセルを変更、及び／又は生成する（４２６）ことができる。工作物形状は、１組の幾何学的要素を含む工作物外形４０２によって規定される。
【００７４】
工作物外形の各幾何学的要素は、１組の幾何学的要素距離場を規定する距離場表現に変換される。各幾何学的要素距離場は、数例を挙げると、解析距離関数、陰距離関数、規則的にサンプリングされる距離場、ＡＤＦ、距離関数の合成、又は手順として表すことができる。本開示では、「距離関数」又は「距離場」という用語は、幾何学的要素の全ての均等表現を表すのに用いられる。
【００７５】
一実施形態では、混成ＡＤＦは８分木構造としてメモリに格納され、８分木構造は、工作物形状のバウンディングボックスを表す根セル（root cell）から開始してトップダウンで生成される。工作物外形４０２内の各幾何学的要素の距離場表現が、混成ＡＤＦの葉セル（leaf cell）に追加される。この距離場はその幾何学的要素による影響を受ける。処理中、例えばレンダリング中、複合距離場再構成法４０４を用いて葉セル内の距離場を合成することによって、サンプル点において葉セルの距離場を再構成することができる。
【００７６】
様々な合成方法が可能であり、本発明の実施形態により用いられる。一実施形態では、その合成はブール減算演算子を用いて、工具によって掃引される容積による工作物からの材料の除去をシミュレートする。
【００７７】
一実施形態では、混成ＡＤＦの少なくとも１つのセルは、距離場の２つの表現、すなわち、サンプルＡＤＦ表現及び複合ＡＤＦ表現を含む。これらの２つの表現は、本明細書では、混成ＡＤＦセルの２つの態様、すなわち、セルの１組の距離サンプルで表現されるサンプルＡＤＦ態様及びセルの１組の距離関数で表現される複合ＡＤＦ態様と呼ばれる。
【００７８】
工作物外形４０２内の幾何学的要素の距離場表現を用いて、混成ＡＤＦのセルを編集し、混成ＡＤＦの距離場は、その幾何学的要素により影響され、それに従ってその幾何学的要素の距離関数により影響される。生成４２６中、セルの両態様を変更することができる。具体的には、一実施形態では、生成４２６は、セルの頂点ごとに距離関数をサンプリングして、距離サンプルのサブセットを生成すること（４２７）、距離サンプルのサブセットを用いてセルの１組の距離サンプルを変更すること（４２８）、及び距離関数を用いてセルの１組の距離関数を変更すること（４２９）を含む。
【００７９】
セルの２つの態様の変更によって、各表現の品質が改善される。例えば、一実施形態では、セルの１組の距離関数の変更は、その特定のセルの１組の距離サンプルに基づく。同様に、別の実施形態では、セルの１組の距離サンプルの変更は、そのセルの１組の距離関数に基づく。
【００８０】
混成ＡＤＦへの新しい距離場の追加によって、葉セル内の距離場が不適切になるとき、不適切な距離場は葉セルから削除される。例えば、工具の動きによって、葉セルから全ての材料が除去される場合、その葉セル内の全ての距離場が不適切になる場合があり、その葉セルから距離場が削除され、外部セルと記される。混成ＡＤＦの二重性の利点の１つは、１組の距離サンプルによって、セルの複合表面の再構成に必要な１組の距離関数をより高速に生成することができることである。
【００８１】
したがって、新しい工具の動きのシミュレーションにより、葉セル及びその兄弟セル（siblings）内に存在する距離場の数を、規定される最大数未満に低減することができる。この場合、葉セル及びその兄弟セルの距離場はそれらの共有される親セルに配置され、葉セル及びその兄弟セルは複合ＡＤＦから削除される。
【００８２】
機械加工シミュレーション法は、工具形状４０８を表す形状距離場４１２を定義し（４１０）、形状距離場４１２は、数例を挙げると、解析距離関数、陰距離関数、規則的にサンプリングされる距離場、ＡＤＦ、距離関数の合成、又は手順とすることができる。
【００８３】
例えば、ＮＣ機械命令４１４又は代替的にＧコード４１６を用いて、工具の動きに対応するパラメトリック経路関数４２０を定義することができる。工具の動きごとに、形状距離場１２及びパラメトリック経路関数４２０は、幾何学的要素の表面、例えば、工具の動きに対応する工具の掃引容積を表す距離関数４２４を定義する（４２２）。
【００８４】
複合ＡＤＦ４４４は、掃引容積距離場４２４を用いて編集され（４２６）、工具の動きに従って工作物の機械加工をシミュレートする。編集中、掃引容積距離場は、工具の掃引容積と交差する複合ＡＤＦのセルに追加され、交差するセル内でＡＤＦを再生成させる。
【００８５】
複合ＡＤＦを用いて、レンダリングモデル要素を含むレンダリングモデル４６４を生成し（４６２）、これを出力装置４８０にレンダリングする（４６６）ことができる。ポイントレンダリング、三角形レンダリング及びレイトレーシング等の当該技術分野において既知のレンダリング法を用いて、レンダリングモデル４６４を生成し、レンダリングすることができる。
【００８６】
機械加工シミュレーションの代替の実施形態では、各ＮＣ機械命令４１４又はＧコード４１６に対応する各形状距離場、及び工作物外形４０２の各幾何学的要素に対応する各距離場には、対応するＮＣ機械命令、Ｇコード又は幾何学的要素の固有識別子が割り当てられる。
【００８７】
レンダリングモデル生成ステップ４６２中、レンダリングモデル４６４の特定の各要素に、特定のレンダリングモデル要素に寄与する距離場の固有識別子で注釈が付される。１組のレンダリング属性を各固有識別子に関連付けることによって、レンダリングモデル４６４は、どの幾何学的要素及びどの工具経路が工作物の各部分に寄与するかを符号化する。例えば、固有の色を、特定のＧコードの形状距離場の識別子に関連付けることによって、特定のＧコードによる影響を受ける工作物の領域を、出力装置４８０上で容易に可視化することができる。
【００８８】
追加形態又は代替形態では、不透明度を混成ＡＤＦ内の距離場の識別子に関連付けることができる。例えば、工具の動きに対応する距離場に関連付けられるレンダリング要素を透明にレンダリングすることができる。代替的には、固有識別子をブール演算子に関連付けることができ、そのブール演算子は、対応するレンダリング要素をレンダリングすべきであるか否かを示す。他のレンダリング属性を用いて、付加的な効果を生み出し、機械加工される工作物の可視化を支援することができる。
【００８９】
混成ＡＤＦはシミュレーションにおいて数多くの利点を有する。機械加工シミュレーションの一実施形態は、混成ＡＤＦを用いて、ＮＣ機械加工工程を検証する。例えば、機械加工シミュレーター４００によって生成される混成ＡＤＦ４４４を、ＣＡＤモデル１０２の距離場表現と比較する。その比較は、出力の視認検査により行うことができる。
【００９０】
付加的に又は代替的に、その比較は、複数のサンプル点において、混成ＡＤＦ４４４及びコンピューター支援設計モデル１０２の距離場をサンプリングし、それらのサンプル点において距離データを比較することによって行なうことができる。代替的には、その比較は、混成ＡＤＦ４４４及びコンピューター支援設計モデル１０２の距離場のうちの一方を他方から減算することにより差距離場を生成し、差距離場を可視化することによって行うことができる。したがって、混成ＡＤＦの二重性により、比較プロセス及び検証プロセスが容易になる。
【００９１】
また、混成ＡＤＦを用いて、各工具の動きによって除去される材料の或る特定の特性を測定することもできる。さらに、距離場サンプルを用いて、混成ＡＤＦの再生成及びレンダリングの品質及び性能が改善される。例えば、特定の工具の動きの場合、工作物と、特定の工具の動きに対応する掃引容積との交差を表す交差距離場を生成することができる。次に、交差距離場を処理して、数例を挙げると、その質量、体積、又は慣性モーメントを含む、その特定の工具の動きによって除去される材料の様々な特性を求めることができる。混成ＡＤＦは、カリング手順を簡易化し、レンダリングプロセスの効率を上げ、物体表面のより正確な近似を提供し、物体を柔軟に表現する機会を開く。
【００９２】
混成ＡＤＦの二重性
図５は、混成ＡＤＦ５００の二次元（２Ｄ）図であり、混成ＡＤＦ５００は、八分木に配置されたセル、例えば５０１〜５０３の空間的な階層を含み、各セルは、工作物の容積の部分を表すとともに、境界が示される幾何学的要素距離場を表す。この例では、幾何学的距離場の境界５０４〜５０７は、初期工作物の境界を定義した平面である。
【００９３】
幾何学的要素距離場５０８〜５１０は、ボールエンドフライス加工工具２０６の掃引を表す３つの幾何学的要素の境界である。混成ＡＤＦ内のセル５１１には、元の工作物と、機械加工工具の掃引容積を表す１組の幾何学的要素距離場のサブセットが関連付けられる。
【００９４】
例えば、セル５１１に関連付けられた１組の幾何学的要素距離場のサブセットは、幾何学的要素距離場５０４、５０８、及び５０９を含み、これらが合わさって、セル５１１内の混成ＡＤＦ表面が決まる。また、セル５１１には、１組の幾何学的要素距離場のサブセットを合成して工作物の複合距離場を再構成するブール差等の手順式再構成法が関連付けられる。複合表面を、距離関数によって表される幾何学的要素の境界のパッチを含む物体の境界として定義する。
【００９５】
八分木の各セルは、データ構造の中間タイプセル又は葉タイプセルのいずれかである。タイプが中間タイプであるセルはより小さな子セルに更に分割されているのに対し、葉タイプセルはより小さな子セルに分割されていない。葉タイプセルは、全体的に距離場の境界内部にあるか、全体的に距離場の境界外部にあるか、又は距離場の値がゼロである１組の点に対応する距離場の境界を含むことができる。したがって、各葉セルは、中間セル、内部葉セル、外部葉セル、又は境界葉セルであることができる。
【００９６】
図６は、混成ＡＤＦセル６００のデータ構造の一例である。以下は、混成ＡＤＦの構造の一例の説明であり、本発明の範囲の限定を意図しない。セルには、セルの原点６０４、セルのサイズ６０５、及び／又はその八分木レベル６０６等の八分木内のセルの位置を記述する１組のデータ、対応する親セルへのポインター６０７、及びセルが任意の子セルを有する場合には、対応する子セルへのポインター６０８等のセルの外形を記述する１組のデータ６０１が関連付けられる。
【００９７】
さらに、混成ＡＤＦセルの構造は、混成ＡＤＦの２つのＡＤＦ態様に関連付けられた２組の距離場データを含むことができる。セルに関連付けて、サンプルＡＤＦ態様６０２は、サンプルタイプ識別子６０９と、存在する場合、距離場値サンプルへのポインター６１０と、距離場データサンプル６１０からセル内の距離場を再構成する再構成関数６１１とを含むことができる。混成ＡＤＦセルに関連付けて、複合ＡＤＦ態様６０３は、複合タイプ識別子６１２と、存在する場合、幾何学的要素距離場のアレイへのポインター６１３と、セル内の複合距離場を求めるのに幾何学的要素距離場をいかに合成するかを記述する、ブール差関数等の合成関数６１４とを含むことができる。
【００９８】
セルには、セルと物体の境界との関係を示す少なくとも１つのタイプが関連付けられ、その関係は、中間セル、外部葉セル、内部葉セル、及び境界葉セルからなる群から選択される。少なくとも１つのタイプは、１組の距離サンプルに基づいて求められる第１のタイプと、１組の距離関数に基づいて求められる第２のタイプとを含む。例えば、セルには、サンプルタイプ識別子６０９で表される第１のタイプを関連付けることができ、この識別子は、セルが、距離サンプルを有する子セルを含むか否かを記述する。付加的に又は代替的に、セルには、そのセルが、距離関数を有する子セルを含むか否かを記述する複合タイプ識別子６１２で表される第２のタイプを関連付けることができる。
【００９９】
サンプルタイプ識別子６０９は、セル６００が、距離場データサンプル６１０を有するより小さな子セルに分割されているか否かを記述する。複合タイプ識別子６１２は、セル６００が、幾何学的要素距離場６１３のアレイを有するより小さなセルに分割されているか否かを記述する。タイプ識別子６０９及び６１２は両方とも、テーブル６１５に提供される１組の識別子のうちの１つであることができる。セルが距離場の境界６１６を含む葉セルであることをサンプルタイプ識別子６０９が示す場合、サンプルポインター６１０は、セル距離場サンプルが格納されているメモリのアレイをアドレス指定する。
【０１００】
同様に、セル６００が複合距離場の境界６１６を含む葉セルであることをセル６００の複合タイプ６１２が示す場合、複合ポインターは、そのセルの幾何学的要素距離場のデータが格納されているメモリ内のアレイをアドレス指定する。混成ＡＤＦセルは、セルのサンプルＡＤＦ態様又は複合ＡＤＦ態様のいずれかにより要求される場合、子セルを含む。同様に、混成ＡＤＦセルの子セルは、そのセルのサンプルＡＤＦ態様又は複合ＡＤＦ態様のいずれかにより要求されない場合のみ、除去することができる。
【０１０１】
幾つかの実施形態では、サンプルＡＤＦ態様のタイプ識別子６０９及び複合ＡＤＦ態様のタイプ識別子６１２は、互いから独立して求められる。
【０１０２】
例えば、図７は、混成ＡＤＦセルのツリーデータ構造を示し、この構造では、例示を簡易化するために、各中間セルは４つの子セルを有する。ツリー内のセル、例えば根セル７０１には２つの識別子、すなわち、サンプルＡＤＦタイプ識別子７０２及び複合ＡＤＦタイプ識別子７０３が関連付けられる。表７０４は、様々な識別子に使用されるフィルパターンを示す。
【０１０３】
この例では、根セル７０１は、両態様を有する子を有するサンプル中間セル及び複合中間セルである。セル７０５も、両態様の中間セルである。しかしながら、セル７０６はサンプル境界セル及び複合中間セルである。したがって、７０７で集合的に示される７０６の子セルは、ヌルであるサンプルタイプ識別子を有し、一方、複合タイプ識別子は外部タイプ又は境界タイプのいずれかである。これは、セル７０６内の距離場値サンプルから再構成される距離場が、予め定義される誤差に基づく細分閾値未満の再構成誤差を有するが、セル７０６が、カウントに基づく細分閾値よりも多くの幾何学的要素距離場参照を含むため、生じ得る。セル７０８は逆の特性を有する。セル７０８は、サンプル中間セルであると同時に、複合境界セルでもある。したがって、参照７０９で集合的に示されるセル７０８の子は、ヌルである複合タイプ識別子を有する。
【０１０４】
混成ＡＤＦセルの編集
新しい幾何学的要素距離場を用いた混成ＡＤＦセルの編集は、距離場サンプル値が新しい幾何学的要素の距離場の値で変更される、サンプルＡＤＦセルの編集と、セルに関連付けられた１組の幾何学的要素距離場を新しい幾何学的要素距離場で変更することができる、複合ＡＤＦセルの編集とを含む。しかしながら、混成ＡＤＦセルの編集は、単なる両タスクの些細な合成ではない。そうではなく、セルの複合ＡＤＦ態様の一部である１組の距離関数は、セルのサンプルＡＤＦ態様に関連付けられた１組の距離サンプルを改善する。同様に、セルのサンプルＡＤＦ態様に関連付けられた１組の距離サンプルは、セルの複合ＡＤＦ態様、すなわち１組の距離関数の品質を改善する。
【０１０５】
図８は、新しい幾何学的要素距離場の距離関数８０２によって混成ＡＤＦセル８０１を編集する方法のフローチャートを示す。この方法は、セル内の１組のサンプル点８０３、例えば、セル頂点において距離関数をサンプリングすることによって開始する。その結果得られる距離サンプルのサブセット８０４がテストされ（８０５）、新しい幾何学的要素距離場８０２の境界がセル内にあるか否かを判断する。
【０１０６】
例えば、一実施形態では、テストすることは、任意のサンプル間で符号の変化があるか否かを判断することを含む。符号の変化がない場合、セルの編集は完了する。符号の変化がある場合、セルのサンプルＡＤＦ態様は、既存の幾何学的要素距離場の距離サンプルのサブセット及び１組の距離関数を用いて編集される（８０６）。次に、セルの複合ＡＤＦ態様が、距離関数８０２及び距離サンプルのサブセット８０４を用いて編集される（８０７）。細分基準をテストした後、セルのいずれかの態様の細分基準が満たされるとき（８０８）、セルは子セルに分割され、これらの子セルは新しい幾何学的要素距離場及び既存の幾何学的距離場を用いて編集される（８０９）。
【０１０７】
図９Ａは、混成ＡＤＦセル９０１のサンプルＡＤＦ態様を編集する方法のフローチャートを示す。新しい幾何学的要素の距離場に関連付けられた距離サンプルのサブセット９０２が、合成関数、例えばブール差を用いて混成ＡＤＦセル９０１の１組の既存の距離サンプルと合成され（９０３）、合成距離場値サンプル９０４が生成される。
【０１０８】
合成距離場値サンプル９０４から、１組の非サンプル点において距離場が再構成され（９０５）、１組の再構成距離場値９０６が生成される。新しい幾何学的要素距離場９０７を用いて、再構成９０５で使用されるものと同じ非サンプル点において厳密な距離場が計算され、結果として１組の厳密距離場値９１０が生成される。厳密距離場値９１０と再構成距離場値９０６との差をとることによって、非サンプル点での再構成誤差が計算され（９１１）、再構成誤差９１２が生成される。再構成誤差９１２の大きさが、所定の誤差、例えば、ｅｐｓＤｉｓｔ９１３と比較される（９１４）。誤差が最大誤差よりも大きく、かつセルレベルが八分木の最大深度未満である場合、セルは分割される。
【０１０９】
従来技術の従来のサンプルＡＤＦでは、セルの距離場サンプルは、その親セルの距離場サンプルから初期化される。例えば、距離場サンプルがセル頂点の位置に対応する場合、距離場の値は、子セルの頂点の位置における再構成関数を用いて再構成され、子セルの距離場サンプルに割り当てられる。しかしながら、この再構成された距離場は近似でしかない。
【０１１０】
それとは対照的に、本発明の一実施形態では、子セルの距離場サンプルは、距離場サンプルから近似される代わりに、混成ＡＤＦセルの複合ＡＤＦ態様の幾何学的要素距離場から厳密に求められる（９１５）。したがって、混成ＡＤＦセルの距離場サンプルから再構成される距離場は、サンプルＡＤＦセル内の従来の細分により得られるものよりも正確性が高い。
【０１１１】
混成ＡＤＦとの光線交差
混成ＡＤＦセルの複合表面と光線との交点を求めることは、メモリに格納された画像への混成ＡＤＦのレンダリング及び光線サンプリングによるセルカリングの両方にとって重要なプロセスである。複合表面と光線との交点を求めるために、各幾何学的距離場と光線との交点がまず求められ、次に、交点がテストされ、どの点が複合境界上にあるかが求められる。テストは用途に依存する。機械加工シミュレーション用途では、幾何学的要素の距離場は、ブール減算演算子のみを用いて合成される。機械加工シミュレーションの事例では、点が１つ又は複数の幾何学的要素距離場の境界上にあり（すなわち、ｄ＝０）、かつその他の全ての幾何学的要素距離場の内部にある（すなわち、ｄ＞０）場合、その点は複合境界上にある。
【０１１２】
したがって、複合表面との光線交差を求めることは、幾何学的要素距離場との光線交差を求めることで開始される。機械加工シミュレーションに用いられる大半のタイプの幾何学的要素では、幾何学的要素の距離場は複雑である場合があり、したがって、光線交差を求める解析的手法は準最適である。
【０１１３】
図９Ｂは、球体キャスティング法（sphere casting method）の一例を示す。混成ＡＤＦセル９５０は、内部物体又は幾何学的物体が９５２で示されるような幾何学的要素距離場の境界９５１を含む。幾何学的物体９５１の境界との交点を求めなければならない光線９５３は、９５４においてセル境界と交差する。
【０１１４】
セル境界９５４と光線との交点から開始して、幾何学的要素９５１の境界までの距離９５５が計算される。距離９５５から、光線９５３に沿った距離９５５を用いて、新しいテスト点９５６が決定される。このプロセスは反復的に繰り返されて、光線９５３が点９６０において幾何学的要素９５１の境界と交差する前に、テスト点９５７、９５８、及び９５９が生成される。
【０１１５】
球体キャスティングは、幾何学的要素距離場の境界に正確に収束することがよく知られている。しかしながら、光線が境界に近く、幾何学的要素距離場の境界に略平行する方向に移動しているとき、球体キャスティングの各ステップは極めて小さい場合がある。したがって、表面との光線の交差が保証されるときであっても、表面への収束速度は非常に遅い場合がある。したがって、本発明の幾つかの実施形態の更なる目的は、混成ＡＤＦセルの距離場サンプルを用いて、セル内の幾何学的要素距離場との光線交差の特定を加速させることである。
【０１１６】
図１０を参照すると、複合表面との光線交差は、距離場値サンプル１００１からの近似表面１００３の再構成１００２で開始される。セル境界１００４において開始される、近似表面１００３との１組の光線１０１３の交差は、三線補間等の任意の利用可能な方法によって計算され（１００５）、結果として１組の近似表面交点１００６が生成される。これらの近似表面交点１００６は、セル境界１００４との交点よりも厳密な複合表面にはるかに近い。したがって、近似表面交点１００６から開始するとき、厳密な複合表面１００８との光線１０１３の交差を、より少ない反復で、球体キャスティング法等の複合表面交差法によって計算する（１００７）ことができる。この方法は、光線交差法によって必要とされる反復回数を低減し、結果として光線サンプリングによる画像１０１２のレンダリング及びセルのカリングを高速化する。１組の厳密な表面交点１００８から、フォンの照明法等の照明法によって、各光線に関連付けられたピクセル値１０１０を計算する（１００９）ことができる。次に、結果として生成されるピクセル値１０１０は、画像１０１２に書き込まれる（１０１１）。
【０１１７】
混成ＡＤＦセルのレンダリング
本発明の一実施形態の更なる目的は、代替的に、近似表面交点１００６を画像１０１２内にレンダリングすることである。近似表面１００３は厳密な表面と同様であることができる。幾つかの用途では、厳密な表面が必要ない場合、近似表面は許容可能な代替である。さらに、近似表面を求めることは、厳密な表面を求めることよりも常に高速である。１組の光線１０１３に関連付けられた１組の近似表面点１００６を所与として、例えば、フォンの照明法等の照明法によって１組のピクセル値１０１０を計算し（１００９）、画像１０１２に書き込む（１０１１）ことができる。
【０１１８】
混成ＡＤＦセルのカリング
幾何学的要素の距離場を用いて混成ＡＤＦセルの複合ＡＤＦ態様を編集することは、新しい幾何学的要素が混成セル内の複合境界に寄与するか否かを判断し、さらに、混成ＡＤＦセルの複合ＡＤＦ態様に以前に関連付けられた任意の幾何学的要素がここで、複合境界にもはや寄与していないかどうかを判断することを含む。このプロセスは、セルカリングと呼ばれ、有用なシミュレーションシステムを高速で取得するのみならず、セルに関連付けられた幾何学的要素距離場から再構成される距離場が正しくなるように正確でもあるはずである。
【０１１９】
従来のカリングは光線サンプリングによって実行され、光線サンプリングでは、複合境界との１組の光線の交差が求められ、複合境界に交差する光線ごとに、複合境界を形成する幾何学的要素距離場が求められる。全ての光線が処理された後、複合表面に寄与しないことがわかったいずれの幾何学的要素距離場もセルから除去される。
【０１２０】
図１１は、混成ＡＤＦセルをカリングする方法のフローチャートを示す。本発明の他の実施形態について説明したのと同じように、距離場サンプル値１１０１を用いて、光線サンプリング法によるカリングを加速させることができる。近似表面１１０３が、三線再構成等の再構成法によって距離場値サンプル１１０１から再構成される（１１０２）。混成ＡＤＦセルの幾何学的要素距離場１１０６とのカリング光線１１０５の交差は、近似表面１１０３においてカリング光線１１０４を初期化することによって加速させることができる。カリング光線１１０５ごとに、１組の幾何学的要素距離場のうちの１つが、複合表面の一部であると判断される。全てのカリング光線が処理された後、１組の幾何学的要素距離場のサブセット１１０６からなるカリング結果１１０８が得られる。
【０１２１】
光線サンプリングによるカリングは高速で正確である。しかしながら、光線サンプリングによるカリングは時に、複合表面の小さな部分を見逃すことがあり、その結果、カリング結果１１０８内の１組の幾何学的要素距離場のサブセットが、セルとの複合境界に寄与する幾何学的要素距離場の全てを含むとは限らない場合がある。したがって、不正確なサブセットから再構成される複合境界は、大きな誤差を示す。
【０１２２】
混成ＡＤＦセルでの距離場サンプル値の利用可能性は、本発明の一実施形態によるセルカリングの正確性を改善する。各距離場サンプル値は、サンプル点から混成ＡＤＦセル内の複合境界までの距離に対応する。複合境界へのこれらの距離は、複合境界の形状も変更することなく、カリングプロセスによって変更することはできない。
【０１２３】
したがって、本発明の一実施形態では、距離場サンプルを用いて、混成ＡＤＦセルの幾何学的要素距離場のカリングにおける誤差を回避する。カリング前、サンプル点での距離場値サンプルの正確な値が既知である。カリング後、カリング結果１１０８は、カリング結果を用いてサンプル点において距離場値を再計算することによって補正される（１１０９）。この再計算は、合成関数を用いて、カリング結果内の１組の幾何学的要素距離場のサブセットのサンプル点における値を合成することによって行われる。再計算された値が元の値に一致しないとき、カリング結果は補正され（１１０９）、補正１１０９は、１つ又は複数の誤差を補正する除去された幾何学的距離場のサブセットを探して、除去済み幾何学的要素距離場のリストを検索することによって行われる。カリング結果での各誤差は、１つ又は複数の幾何学的要素距離場を混成ＡＤＦセルに復元することによって補正される。補正方法１１０９により、結果として１組の幾何学的要素距離場のより大きなサブセットからなる補正カリング結果１１１０が生成される。この手段によって、セルカリング誤差に起因する再構成誤差が低減される。
【０１２４】
選好の編集
混成ＡＤＦは、様々な用途で混成ＡＤＦに基づくシミュレーターの性能を最適化させる編集選好を選択する能力をユーザーに提供する。例えば、幾つかの用途では、厳密な複合境界は決して必要とされず、したがって、セルの初期編集後の幾何学的要素距離場の処理に費やされる時間は一切必要ない。この場合、サンプルＡＤＦと区別不可能な混成ＡＤＦの生成につながる「純粋にサンプリングされる」編集選好を選択することができる。
【０１２５】
代替的には、用途により、厳密な複合境界が常に生成され、近似境界が決して必要とされないことが要求される場合がある。この場合、複合ＡＤＦと区別不可能な混成ＡＤＦの生成につながる「純粋な複合」編集選好を選択することができる。
【０１２６】
第３の可能性として、用途により、厳密な複合境界が最終的に要求される場合がある。しかしながら、近似複合境界は、可能な限り高速で作成されるべきである。この場合、セルカリング等の混成ＡＤＦの複合ＡＤＦ態様の生成完了に必要な混成ＡＤＦの編集の幾つかの演算が、混成ＡＤＦのサンプルＡＤＦ態様の生成の完了後まで延期される「好ましいサンプル」編集選好を選択することができる。
【０１２７】
ローカル混成ＡＤＦ生成
一実施形態は、物体の部分のみの混成ＡＤＦを生成することによってシミュレーションを最適化する。例えば、混成ＡＤＦのサンプルＡＤＦ態様及び複合ＡＤＦ態様を同時に生成する代わりに、「純粋にサンプリングされる」混成ＡＤＦをまず生成することができる。純粋にサンプリングされる混成ＡＤＦは、サンプルＡＤＦ態様及び複合ＡＤＦ態様が両方とも完全に生成される「完全な」混成ＡＤＦと比較して、生成が高速であり、迅速かつインタラクティブにレンダリングすることができる。次に、ユーザーは、複合ＡＤＦ態様が第２の生成ステップ中に生成されることになる混成ＡＤＦのより小さな領域を選択することができる。この手段によって、厳密な複合境界をより迅速に求めることができる。その理由は、厳密な複合境界が、ユーザーが必要とする混成ＡＤＦの領域のみでの、全体混成ＡＤＦの一部分のみを表すためである。
【０１２８】
動作環境
本発明は、数多くの汎用又は専用コンピューティングシステム環境又は構成によって動作することができる。本発明とともに用いるのに適している既知のコンピューティングシステム、環境及び／又は構成の例は、限定はしないが、パーソナルコンピューター、サーバーコンピューター、ハンドヘルドデバイス又はラップトップデバイス、マルチプロセッサ又はマルチコアシステム、グラフィックス処理ユニット（ＧＰＵ）、特定用途向け集積回路（ＡＳＩＣ），フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、マイクロコントローラーベースシステム、ネットワークＰＣ、メインフレームコンピューター、上記のシステム又はデバイスのうちの任意のものを含む分散コンピューティング環境等、すなわち、一般的にはプロセッサを含む。モニター又は他のタイプの表示デバイス１６０が上記のシステムのうちの任意のものに接続され、本発明の視覚化１６２を可能にする。例えば、永続的なフルスケール又はより大きなスケールのシミュレーション結果が要求される場合、プリンターを用いることができる。
【０１２９】
本発明の上記で説明した実施形態は、多数の方法のうちの任意のもので実施することができる。例えば、実施形態は、ハードウェア、ソフトウェア又はそれらの組合せを用いて実施することができる。ソフトウェアで実施される場合、ソフトウェアコードは、単一のコンピューターに設けられるのか又は複数のコンピューター間に分散されるのかにかかわらず、任意の適したプロセッサ又はプロセッサの集合体において実行することができる。そのようなプロセッサは、１つ又は複数のプロセッサを集積回路部品に有する集積回路として実装することができる。ただし、プロセッサは、任意の適したフォーマットの回路類を用いて実装することができる。
【０１３０】
さらに、コンピューターは、ラックマウント型コンピューター、デスクトップコンピューター、ラップトップコンピューター、ミニコンピューター又はタブレットコンピューター等の複数の形態のいずれにおいても実現できることが理解されるべきである。そのようなコンピューターは、ローカルエリアネットワーク又はワイドエリアネットワークとしてエンタープライズネットワーク又はインターネット等を含む１つ又は複数のネットワークによって任意の適した形態で相互接続することができる。そのようなネットワークは、任意の適した技術に基づくことができ、任意の適したプロトコルに従って動作することができ、無線ネットワーク、有線ネットワーク又は光ファイバーネットワークを含むことができる。
【０１３１】
また、本明細書において概説される様々な方法又はプロセスは、様々なオペレーティングシステム又はプラットフォームのうちの任意のものを用いる１つ又は複数のプロセッサ上で実行可能なソフトウェアとして符号化することができる。加えて、そのようなソフトウェアは、複数の適切なプログラミング言語及び／又はプログラミングツール若しくはスクリプティングツールのうちの任意のものを用いて書くことができ、フレームワーク又は仮想マシン上で実行される実行可能な機械語コード又は中間コードとしてコンパイルすることもできる。
【０１３２】
これに関して、本発明は、単数又は複数の非一時的なコンピューター可読媒体、例えばコンピューターメモリ、コンパクトディスク（ＣＤ）、光ディスク、デジタルビデオディスク（ＤＶＤ）、磁気テープ、及びフラッシュメモリとして実現することができる。「プログラム」又は「ソフトウェア」という用語は、本明細書において、一般的な意味で、上記で論考したような本発明の様々な態様を実施するようにコンピューター又は他のプロセッサをプログラムするのに用いることができる任意のタイプのコンピューターコード又はコンピューター実行可能命令のセットを指すように用いられる。
【０１３３】
コンピューター実行可能命令は、１つ若しくは複数のコンピューター又は他のデバイスによって実行された、プログラムモジュール等の多くの形式をとることができる。一般に、プログラムモジュールは、特定のタスクを実行するか又は特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造を含む。通常、プログラムモジュールの機能は、様々な実施形態において所望に応じて組み合わせることも分散させることもできる。
【０１３４】
また、本発明の実施形態は、例が提供された方法として実施することができる。この方法の一部として実行される動作は、任意の適切な方法で順序付けすることができる。したがって、動作が示したものと異なる順序で実行される実施形態を構築することができ、これには、例示の実施形態では一連の動作として示されたにもかかわらず、幾つかの動作を同時に実行することを含めることもできる。
【図１】
0005805322.tif 000002
【図２Ａ】
0005805322.tif 000003
【図２Ｂ】
0005805322.tif 000004
【図３Ａ】
0005805322.tif 000005
【図３Ｂ】
0005805322.tif 000006
【図３Ｃ】
0005805322.tif 000007
【図４】
0005805322.tif 000008
【図５】
0005805322.tif 000009
【図６】
0005805322.tif 000010
【図７】
0005805322.tif 000011
【図８】
0005805322.tif 000012
【図９Ａ】
0005805322.tif 000013
【図９Ｂ】
0005805322.tif 000014
【図１０】
0005805322.tif 000015
【図１１】
0005805322.tif 000016