(57)【特許請求の範囲】
【請求項１】
ワークを液中に浸漬する模擬プロセスにおけるエアポケット発生の有無をワークの各々の表面部位について判定しそしてこの結果をコンピュータのディスプレイ上に表示するエアポケット発生判定プログラムを記録した記録媒体であって、
該エアポケット発生判定プログラムは、
ワークの入力された頂点座標データに基づいてワークの各表面を任意数の三角ポリゴンに分割する有限要素プログラムと、
ワークを入力された入槽角の姿勢にて浸漬槽に模擬浸漬した際、エアポケットとなる表面部位であるかどうかの判定を分割されたそれぞれの三角ポリゴンについて実行するプログラムであって、入力された入槽角の姿勢にあるワークに対して上方よりそしていくつかの水平方向よりそれぞれ眺めたとき死角にならない部位であるかどうかの判断を、分割されたそれぞれの三角ポリゴンについて実行し、そして死角にならない部位の三角ポリゴンはエアポケットとならない部位の三角ポリゴンであると判定する第一のエアポケット判定プログラムを有するエアポケット判定プログラムと、
そして、
各三角ポリゴンについての前記判定の結果を上記ディスプレイ上に表示する表示プログラムとを有してなることを特徴とする、コンピュータ読み取り可能な記録媒体。
【請求項２】
上記エアポケット判定プログラムは、
前記のエアポケットとならない部位の三角ポリゴンに隣接する三角ポリゴンについて、ワークが入力された入槽角の姿勢にある条件の下で、該エアポケットとならない部位の三角ポリゴンよりも下方に位置するかどうかの判断を実行し、そして下方に位置する三角ポリゴンはエアポケットとならない部位の三角ポリゴンであると判定し、続いてこの新たに判定されたエアポケットとならない部位の三角ポリゴンに隣接する三角ポリゴンについて、ワークが入力された入槽角の姿勢にある条件の下で、該エアポケットとならない部位の三角ポリゴンよりも下方に位置するかどうかの判断を実行し、そして下方に位置する三角ポリゴンもまたエアポケットとならない部位の三角ポリゴンであると判定し、さらに以降、この処理を繰り返す第二のエアポケット判定プログラムをさらに有してなることを特徴とする、請求項１記載の記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、浸漬処理、例えばディップ化成処理、電着塗装、ディップ水洗および水圧転写印刷などの模擬試行についてのプログラム、より詳しくは、その模擬試行におけるエアポケット発生の有無をワークの各表面部位について判定し、これをディスプレイ上に表示するプログラムを記録したところの新規なコンピュ−タ読み取り可能な記録媒体に関する。
【０００２】
【従来の技術】
浸漬処理、例えば図３０に示す電着塗装装置の場合のように、所定の塗料１２で満たされた浸漬槽１１の上方で、ワークＡを、コンベア１３の移送により、吊持しながら塗料１２中に押し入れることにより、塗料１２をワークＡの表面に付着させるところの塗装技術は、旧来より、ひろく様々な用途において、各種の製品の表面塗装によく利用されている。
【０００３】
【発明が解決しようとする課題】
実際の浸漬塗装プロセスにおいては、槽内の塗料がワークの表面にまったく付着されないまたは不十分にしか付着されないという不良が発生することがある。その代表的な不良としては、図２９に示すように、ワークＡを浸漬槽１１に浸漬する際、ワークＡの表面付近における空気の一部が外気へ抜け出ずに残留し、空気溜りがワークＡの凹部位などに発生し、結果として空気溜りが生じた表面部位には、塗料１２が付着されないという塗装不良（所謂エアポケット１６）が挙げられる。
従って、実際の浸漬処理プロセスにおける最適なもしくはより良好な条件を決定するにあたっては、上記のエアポケットによる不良が起きない条件を選定することが不可欠とされる。
【０００４】
一方、従来、とりわけ外形が複雑な立体形状を有する特定の製品に対して浸漬塗装プロセスを確立するために、まず、その製品の試作品を作成し、次に、浸漬塗装の試験プラント等において、該試作品を用いて、浸漬処理プロセスを、印刷条件を変更しながら、特に様々な入槽角（つまり、ワークを浸漬槽内に浸漬する際のその進行方向と槽内の塗料の表面との角度）の下で、いろいろと試行し、そして、塗装された試作品の表面について塗装の具合、つまり塗装不良が生じているかどうかを調べることによって、好都合な塗装条件、特に最適な入槽角を探し出すことにより、その後の対象製品の量産体制において適用されるべき浸漬塗装の条件を決定するという手順が採られていた。
しかし、この従来の手法においては、試作品の作成にあたって相当な手間、時間および費用が必要とされ、特に複雑な立体形状の製品であればある程、より多くの手間および時間が試作品の作成に要することになるという問題があった。
その上、上記の手法においては、試作品を用いた浸漬塗装プロセスを一つ一つの塗装条件についてそれぞれ実際に試行するものであるので、最適なもしくはより良好な浸漬塗装条件を最終的に決定するまでに、大変多くの手間および時間さらには費用がそれぞれ必要とされるという問題もあった。
言い換えると、従来の手法にあっては、浸漬塗装すべき対象製品の外形を設計してから浸漬塗装によるその製品の量産に移行するまでの期間が、非常に長いという問題があった。
したがって、浸漬塗装製品の設計から量産までの期間を短縮し、その間における手間および費用を減少させることが、従来、重要な課題とされていた。
【０００５】
本発明は、上述の背景に基づいて為されたものであって、その課題とするところは、ワーク（試作品）を液中に浸漬して塗装等の表面処理をなすプロセスを実際に試行せずとも、コンピュータによるプログラムの動作により、浸漬処理すべき製品について、その浸漬模擬プロセスにおけるエアポケット発生の有無をディスプレイ上に表示することができるところのコンピュータ読み取り可能な記録媒体を提供することにある。
【０００６】
【課題を解決するための手段】
本発明は、コンピュータによるプログラムの動作により、ワークの各々の表面について、浸漬処理の模擬プロセスにおけるエアポケット不良が発生するかどうかが判定され、そしてその結果がディスプレイ上に表示されうるようにしたものである。本発明は、より明確には、ワークを液中に浸漬する模擬プロセスにおけるエアポケット発生の有無をワークの各々の表面部位について判定しそしてこの結果をコンピュータのディスプレイ上に表示するエアポケット発生判定プログラムを記録した記録媒体であって、該エアポケット発生判定プログラムは、ワークの入力された頂点座標データに基づいてワークの各表面を任意数の三角ポリゴンに分割する有限要素プログラムと、ワークを入力された入槽角の姿勢にて浸漬槽に模擬浸漬した際エアポケットとなる表面部位であるかどうかの判定を分割されたそれぞれの三角ポリゴンについて実行するプログラムであって入力された入槽角の姿勢にあるワークに対して上方よりそしていくつかの水平方向よりそれぞれ眺めたとき死角にならない部位であるかどうかの判断を、分割されたそれぞれの三角ポリゴンについて実行し、そして死角にならない部位の三角ポリゴンはエアポケットとならない部位の三角ポリゴンであると判定する第一のエアポケット判定プログラムを有するエアポケット判定プログラムと、そして、各三角ポリゴンについての前記判定の結果を上記ディスプレイ上に表示する表示プログラムとを有してなることを特徴とする、コンピュータ読み取り可能な記録媒体に関する。
【０００７】
本発明のより好ましい態様は、上記の記録媒体において、エアポケット判定プログラムが、上述の第一のエアポケット判定プログラムに加え、前記のエアポケットとならない部位の三角ポリゴンに隣接する三角ポリゴンについて、ワークが入力された入槽角の姿勢にある条件の下で、該エアポケットとならない部位の三角ポリゴンよりも下方に位置するかどうかの判断を実行し、そして下方に位置する三角ポリゴンはエアポケットとならない部位の三角ポリゴンであると判定し、続いてこの新たに判定されたエアポケットとならない部位の三角ポリゴンに隣接する三角ポリゴンについて、ワークが入力された入槽角の姿勢にある条件の下で、該エアポケットとならない部位の三角ポリゴンよりも下方に位置するかどうかの判断を実行し、そして下方に位置する三角ポリゴンもまたエアポケットとならない部位の三角ポリゴンであると判定し、さらに以降、この処理を繰り返す第二のエアポケット判定プログラムとを有してなるところの記録媒体に関する。
【０００８】
【発明の実施の形態】
本発明の記録媒体は、エアポケット発生判定プログラムを電磁気的に、光学的にもしくはこれらの組合せで記録したコンピュータ読み取り可能な記録媒体であって、例えば磁気ディスク、光ディスクおよび光磁気ディスク、より具体的にはフロッピーディスク（スーパーディスク(120MB) 、ＺＩＰ等を含む）、ＣＤ−ＲＯＭ(650MB) 、ＭＯ(128MB、230MB、540MB、640MB等) ディスク、ＤＶＤ−ＲＯＭ、ＰＤ 650MB（松下電器株式会社製）などよりなる。エアポケット発生判定プログラムは、コンピュータにインストールされたＯＳソフト（windows 、UNISYS等）の上で各種の処理が可能なプログラムであると、処理実行の都合上より好都合である。
なお、コンピュータとしては、ＣＰＵ（高性能である程より好ましい）、インターフェイス等を備えた通常構成のコンピュータが利用される。また、これに接続されるディスプレイとしては、ＣＲＴディスプレイ、液晶ディスプレイおよびプラズマディスプレイなどが使用される。
エアポケット発生判定プログラムは、対象物の浸漬処理をある設定条件で模擬試行した場合（例えばディップ塗装の模擬プロセス）において、得られる対象物についてエアポケットが発生するかどうかをその各々の表面部位について判定するプログラムであって、少なくとも、有限要素プログラム、エアポケット判定プログラム（第一および第二のエアポケット判定プログラム）および表示プログラムを有するものであるが、これら以外のプログラム、例えばワークの浸漬処理を模擬試行するときの様子をコンピュータのディスプレイ上に動画表現するプログラムなどをさらに含むものであってもよいことは言うまでもない。
【０００９】
有限要素プログラムは、ワークの表面のうち、どの部位にエアポケットが発生するおそれがあるか否かを判定するために、その前段階としてワークの各表面を任意数の、例えば数千ないし数十万の三角ポリゴンに分割するプログラムである。本プログラムは、公知の有限要素プログラムと同様の機能、即ち図３７(a) (b) に示すようにワークの各表面をその頂点座標データに基づいて所定数の三角ポリゴンに分割しうる機能を有するものでよい。ワークの頂点座標データは、キーボードまたはマウスより直接入力してもよいが、三次元ＣＡＤ（３ｄＣＡＤ）で作成されたワークの立体図形についての頂点座標データをそのまま本プログラムにおける頂点座標データとして流用することも可能である。なお、本発明で三角ポリゴンを選択したのは、頂点が４個以上の多角ポリゴン例えば四角ポリゴンを選定すると、ポリゴンが歪む可能性があり、模擬の精度低下につながるからである。
本発明におけるエアポケット判定は、ワークをある入槽角で浸漬槽に模擬浸漬した際を基準として、エアポケットという不良の発生の有無を判定するものである。従って、本判定のためのプログラムは、ワークの頂点座標データ並びに分割された各三角ポリゴンの頂点座標データを、ワークが入力された入槽角の姿勢にある状態に変換するプログラムを利用するものとし、そして、入力された入槽角の姿勢に座標変換された三角ポリゴンの頂点座標データを使用して、エアポケット有無の判定をなすプログラム構成とするのがより好都合である。ちなみに、本実施例においては、ワークの頂点座標データに基づいて分割された各々の三角ポリゴンの頂点座標データを、基本の姿勢より入力された入槽角の姿勢に極座標変換する座標変換プログラムが組み込まれ、座標変換された三角ポリゴンの頂点座標データは第一および第二のエアポケット判定プログラムのそれぞれに共通利用されている。なお、入槽角の入力は、コンピュータのキーボードまたはマウスを用いてなされる。
【００１０】
エアポケット判定プログラムは、ワークが入力された入槽角の姿勢にある条件の下、その姿勢に座標変換された各々の三角ポリゴンについて、エアポケットとなって塗装されない可能性がある表面部位であるか否かの判定を実行するものであって、第一のエアポケット判定プログラムと、好ましくは第二のエアポケット判定プログラムとの二段階プログラムよりなる。第一のエアポケット判定プログラムは、図２５に示すように、上記の姿勢にあるワークに対して、その周囲よりかつ水平より上側の視線方向で眺めたとき、見えず死角になる部位は、ワークの浸漬槽への浸漬の際、エアポケットになる可能性があるという論理の下、組み立てられたプログラムであり、詳細には、図２６に示すように、入力された入槽角の姿勢にあるワークに対して、上方より並びに、いくつかの水平方向より、通常前方、後方、左方および右方の４方向よりそれぞれ眺めたとき、死角にならない部位であるかどうかの判断を、分割されたそれぞれの三角ポリゴンについて実行し、そして死角にならない部位の三角ポリゴンはエアポケットとならない部位の三角ポリゴンであると判定するものである。より具体的には、第一のエアポケット判定プログラムは、入槽角の姿勢に座標変換された各々の三角ポリゴンについて、その姿勢のワークを上方、前方、後方、左方および右方より眺めるそれぞれの場合において、重なり合う三角ポリゴンが存在するか否かを判断し、存在するときには、その中で最も手前に位置する三角ポリゴンは死角にならない部位の三角ポリゴンであり、よってエアポケットとならない部位の三角ポリゴンであると判定し、また、存在しないときには、その三角ポリゴンは死角にならない部位、即ちエアポケットとならない部位の三角ポリゴンであると判定するプログラム構成よりなる。第二のエアポケット判定プログラムは、入槽角姿勢のワークを水平より上側の視線方向で眺めたとき、死角になる部位であっても、図２７に示すように、ワークがその入槽角の姿勢にあるときで、エアポケットとならない部位より下方へのみ連続する表面を経由して接続される表面部位は、ワークの浸漬槽への浸漬の際、槽内の塗料と接触することができ、エアポケットにはならないという論理の下組み立てられたプログラムであって、詳細には、図２８に示すように、第一のエアポケット判定プログラムに従いもしくは本プログラムに従いエアポケットとならない部位と判定された部位の三角ポリゴンに隣接する三角ポリゴンについて、該エアポケットとならない部位の三角ポリゴンよりも下方に位置するかどうかの判断を実行し、そして、下方に位置する三角ポリゴンはエアポケットとならない部位の三角ポリゴンであると追加判定するプログラム構成よりなる。より具体的には、第二のエアポケット判定プログラムは、エアポケットとならない部位と未だ判定されていない三角ポリゴンの中より、その三角ポリゴンの頂点座標が既に判定された「エアポケットとならない部位の三角ポリゴン」の頂点座標と共通するか否かの判断をなすことにより、エアポケットとならない部位の三角ポリゴンに隣接する三角ポリゴンを選出し、次いで、該隣接する三角ポリゴンについて、前記エアポケットとならない部位の三角ポリゴンよりも下方に位置するかどうかの判断を例えば重心の対比により実行し、そして、下方に位置するとき、その隣接する三角ポリゴンはエアポケットとならない部位の三角ポリゴンであると新たに判定し、さらに、この新たに判定された三角ポリゴンを既判定の「エアポケットとならない部位の三角ポリゴン」に加えて、この一連の判定手順を、エアポケットとならない部位の三角ポリゴンである旨の新たな判定が発生しなくなるまで、繰り返すというプログラム構成よりなる。
【００１１】
表示プログラムは、浸漬処理の模擬プロセスにおけるエアポケット発生の有無の結果をワークの各々の表面部位についてコンピュータのディスプレイ上に表示するためのプログラムであり、詳細には、分割された各三角ポリゴンについて、上記エアポケット判定プログラム（第一および第二のプログラム）に従う判定結果をディスプレイ上に表示するプログラム構成よりなる。
【００１２】
【実施例】
以下、本発明の実施例を図面により説明する。この実施例は、非制限的な例であって、本発明がこれに限定されないことは、言うまでもない。
本実施例の記録媒体は、対象となるワークの各々の表面部位について浸漬処理の模擬プロセスにおけるエアポケット発生の有無を判定しそしてディスプレイ上に表示するプログラム、即ち、エアポケット発生判定プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００１３】
エアポケット発生判定プログラムは、図１に示すように、「三角ポリゴンの頂点座標データ入力」処理１を実行する有限要素プログラム、「ワークの姿勢を入槽角に変更」処理２を実行する座標変換プログラム、「エアポケット▲１▼の判定」処理３を実行する第一のエアポケット判定プログラムおよび「エアポケット▲２▼の判定」処理４を実行する第二のエアポケット判定プログラム、そして、この判定の結果についての「判定の表示」処理５を実行する表示プログラムより構成されている。
一方、本実施例の記録媒体は、そのデータ領域において、基本姿勢の頂点テーブル（図２）、姿勢変換後の頂点テーブル（図３）、および表示用頂点テーブル（図４）、並びに三角ポリゴンテーブル（図６）を有する。
頂点テーブルはいずれも、縦欄が三角ポリゴン１０・・を作る各頂点の番号を示し、横欄がその頂点のＸ座標、Ｙ座標およびＺ座標の各データを示す。なお、本実施例においては、図５に示すように、Ｘ座標は水平方向の座標で、Ｙ座標は垂直方向の座標で、そしてＺ座標はＸＹ表面に直交する手前方向の座標であると設定されている。
基本姿勢の頂点テーブルは、ワークが基本姿勢にあるときの所定数の三角ポリゴン１０・・を作る総ての頂点の座標データを記録保存するものである。また、姿勢変換後の頂点テーブルは、ワークが入槽角の姿勢にあるときの所定数の三角ポリゴン１０・・を作る総ての頂点の座標データを記録保存するものである。さらに、表示用頂点テーブルは、ワークを視線の方向より眺めたときの所定数の三角ポリゴン１０・・を作る総ての頂点の座標データを記録保存するものである。
三角ポリゴンテーブルは、それぞれの三角ポリゴンについて、上記各種の判定の結果を記録保存しそしてディスプレイに表示する際の基礎データとするものであって、縦欄が所定数の三角ポリゴン１０の番号を示し、横欄が「頂点Ｐ1 」、「頂点Ｐ2 」および「頂点Ｐ3 」の項にて各々の三角ポリゴンの三つの頂点の番号、「エアポケット」の項にてエアポケット判定の結果、および、「Ｚ位置」の項にて三角ポリゴンの三つの頂点のＺ座標の平均値を示す。
なお、本実施例では、図７に示すように、頂点Ｐ1 、Ｐ2 およびＰ3 が平面上で右回りに並ぶとき、その平面は、それら三つの頂点Ｐ1 、Ｐ2 およびＰ3 で作られる三角ポリゴンの表面であり、頂点Ｐ1 、Ｐ2 およびＰ3 が平面上で左回りに並ぶとき、その平面は、それら三つの頂点Ｐ1 、Ｐ2 およびＰ3 で作られる三角ポリゴンの裏面であると設定されている。
【００１４】
「三角ポリゴンの頂点座標データ入力」処理１は、上記の有限要素プログラムに従い、次の処理が実行される。すなわち、入力されたワークの頂点座標データに基づいて、そのワークの各表面を図３７(a) および図３７(b) に示されるように所定数（数千ないし数十万）の三角ポリゴン１０・・に分割し、そして作られた所定数の三角ポリゴンの各々の頂点のＸ座標、Ｙ座標およびＺ座標のデータを図２に示す基本姿勢の頂点テーブルの「Ｘ座標」、「Ｙ座標」および「Ｚ座標」の各項にそれぞれ入力する。この座標データの入力の際、三角ポリゴンの各頂点は番号付けされる。そして、三角ポリゴンの各頂点が番号付けされると同時に、その頂点番号は三角ポリゴンテーブルの「頂点Ｐ1 」、「頂点Ｐ2 」および「頂点Ｐ3 」の項に入力され、そして、３つの頂点Ｐ1 、Ｐ2 、Ｐ3 で作られる各三角ポリゴンが番号付けされる。有限要素プログラムとしては、例えば株式会社クレイドル販売のソフトＰｒｅ．Ｍが使用される。ワークの頂点座標データは、キーボードもしくはマウスより直接入力してもよいが、市販の３Ｄ−ＣＡＤソフト例えばユリーカＧｏｌｄ（トヨタケーラム株式会社製）で作成されたワークの立体図形についての頂点座標データをそのまま本プログラムにおける頂点座標データとして流用することができる。
「ワークの姿勢を入槽角に変更」処理２は、上記の座標変換プログラムの流れ図（図８）に示される手順に従って次のとおり実行される。
1)計画している浸漬処理をなす際の入槽角θのＸ座標、Ｙ座標およびＺ座標の各成分（θｘ、θｙ、θｚ）をキーボードまたはマウスから入力する。
2)基本姿勢の頂点テーブル内の総ての頂点Ｐ1 〜ＰN のＸ座標、Ｙ座標およびＺ座標の各データを、ワークを極座標で回転することによって、基本姿勢のものから入槽角θの姿勢のものに変換する。
なお、さらに入槽角θの姿勢から入槽角θ’の姿勢に変換する場合には、直前の姿勢の頂点テーブル内の総ての頂点Ｐ1 〜ＰN のＸ座標、Ｙ座標およびＺ座標の各データを、ワークを極座標で回転することによって、直前の姿勢のものから入槽角θ’の姿勢のものに変換する。
3)入槽角θの姿勢に変換された各々の頂点のＸ座標、Ｙ座標およびＺ座標のデータを図３に示す姿勢変換後の頂点テーブルの「Ｘ座標」、「Ｙ座標」および「Ｚ座標」の各項にそれぞれ入力する。
そして、これ以後の処理は、姿勢変換後の頂点テーブル内における各々の頂点の「Ｘ座標」、「Ｙ座標」および「Ｚ座標」のデータを使用して実行される。すなわち、座標変換された三角ポリゴンの頂点座標データは、第一および第二のエアポケット判定プログラムに共通して利用され、各々のの判定の基本となる。
なお、三角ポリゴンを作る各頂点の番号は、基本姿勢の頂点テーブルにおけるものと姿勢変換後の頂点テーブルにおけるものとで一致している。また、三角ポリゴンテーブルにおける三角ポリゴンの番号と、その三角ポリゴンを作る「頂点Ｐ1 」、「頂点Ｐ2 」および「頂点Ｐ3 」の番号との関係は、座標変換後もそのまま維持される。
【００１５】
「エアポケット▲１▼の判定」処理３は、上記の第一のエアポケット判定プログラムの流れ図（図９）に示される手順に従って次のとおり実行される。
1)姿勢変換後の頂点テーブル内の各頂点の「Ｘ座標」、「Ｙ座標」および「Ｚ座標」のデータを、座標をＸ軸に−９０°回転したとき（即ち、ワークの上面を正面にしたとき）のものに変更し、そしてこれらをその頂点の「Ｘ座標」、「Ｙ座標」および「Ｚ座標」の項にそれぞれ入力し、一時的に保存する。
2)サブルーチン「非エアポケットの算出」を実行する。
3)次に、姿勢変換後の頂点テーブル内の各頂点の「Ｘ座標」、「Ｙ座標」および「Ｚ座標」のデータ（復帰された当初のデータ）を、座標をＹ軸に９０°回転したとき（即ち、ワークの左面を正面にしたとき）のものに変更し、そしてこれらをその頂点の「Ｘ座標」、「Ｙ座標」および「Ｚ座標」の項にそれぞれ入力し、一時的に保存する。
4)サブルーチン「非エアポケットの算出」を実行する。
5)次に、姿勢変換後の頂点テーブル内の各頂点の「Ｘ座標」、「Ｙ座標」および「Ｚ座標」のデータ（復帰された当初のデータ）を、座標をＹ軸に−９０°回転したとき（即ちワークの右面を正面にしたとき）のものに変更し、そしてこれらをその頂点の「Ｘ座標」、「Ｙ座標」および「Ｚ座標」の項にそれぞれ入力し、一時的に保存する。
6)サブルーチン「非エアポケットの算出」を実行する。
7)次に、姿勢変換後の頂点テーブル内の各頂点の「Ｘ座標」、「Ｙ座標」および「Ｚ座標」のデータ（復帰された当初のデータ）を、座標をＹ軸に−１８０°回転したとき（即ち、ワークの後面を正面にしたとき）のものに変更し、そしてこれらをその頂点の「Ｘ座標」、「Ｙ座標」および「Ｚ座標」の項にそれぞれ入力し、一時的に保存する。
8)サブルーチン「非エアポケットの算出」を実行する。
9)次に、姿勢変換後の頂点テーブル内の各頂点の「Ｘ座標」、「Ｙ座標」および「Ｚ座標」のデータ（復帰された当初のデータ）を、座標を当初のもの（即ち、ワークの前面を正面にしたときのもの）に変更し、そして、これらをその頂点の「Ｘ座標」、「Ｙ座標」および「Ｚ座標」の項にそれぞれ入力し、一時的に保存する。
10) サブルーチン「非エアポケットの算出」を実行する。
上記のサブルーチン「非エアポケットの算出」は、図１０のプログラム流れ図に示される手順に従って次のとおり実行される。
1)まず、番号１の三角ポリゴンより順に、三角ポリゴンＭ（Ｎ）を判定の対象に選び、この番号Ｎの三角ポリゴンＭ（Ｎ）について、ＸＹ平面上の重心Ｇをその三角ポリゴンの３つの頂点のＸ座標値およびＹ座標値に基づいて求める。
なお、以下の図面において、番号Ｎの三角ポリゴンは三角Ｍ（Ｎ）と表わされる場合もある。また、番号Ｎを除く他の三角ポリゴンは三角Ｍ（Ｎ２）と表わされる場合もある。
2)サブルーチン「Ｇと重なるほかの三角ポリゴンよりもＭ（Ｎ）は手前か」を実行する。
すなわち、三角ポリゴンＭ（Ｎ）のＸＹ平面上の重心Ｇと重なる他の三角ポリゴンＭ（Ｎ２）が存在するか否かを判断し、そして存在するとき、三角ポリゴンＭ（Ｎ）がその他の三角ポリゴンＭ（Ｎ２）よりも手前に位置するか否かを判断し、そして手前に位置するとき、図６に示す三角ポリゴンテーブルにおける番号Ｎの三角ポリゴンＭ（Ｎ）についての「エアポケット」項に、０に代えて１を入力する。あるいは、重心Ｇと重なる他の三角ポリゴンＭ（Ｎ２）が存在しないときも、三角ポリゴンテーブル（図６）における番号Ｎの三角ポリゴンＭ（Ｎ）についての「エアポケット」項に、１を入力する。
3)上記のようにサブルーチンにおいてＹＥＳのとき、１を三角ポリゴンテーブル（図６）内の番号Ｎの三角ポリゴンＭ（Ｎ）についての「エアポケット」項に入力し、一方、ＮＯのとき、つまり番号Ｎの三角ポリゴンＭ（Ｎ）が重心Ｇと重なる他の三角ポリゴンＭ（Ｎ２）よりも手前に位置しないとき、処理の対象を次番号の三角ポリゴンに移す。
4)「Ｎ＋１」を「Ｎ」に代入して、以上の手順1)ないし3)を番号２以降の三角ポリゴンについて（即ち、総ての三角ポリゴンについて）繰り返す。
また、上記のサブルーチン「Ｇと重なるほかの三角ポリゴンよりもＭ（Ｎ）は手前か」は、図１１のプログラム流れ図に示される手順に従って次のとおり実行される。
1)三角ポリゴンの群（判定対象に選ばれた三角ポリゴンＭ（Ｎ）を除く）より、他の三角ポリゴンＭ（Ｎ２）を番号１から順次選定する。
2)サブルーチン「三角Ｍ（Ｎ２）のＸＹ投影面とＧは重なっているか」を実行する。
すなわち、三角ポリゴンＭ（Ｎ）のＸＹ平面上の重心Ｇは、手順1)で選ばれた他の三角ポリゴンＭ（Ｎ２）のＸＹ投影面と重なるか否かを判断する。
3)手順2)のサブルーチンでＹＥＳと判断されたとき、即ち三角ポリゴンＭ（Ｎ）の重心Ｇが他の三角ポリゴンＭ（Ｎ２）のＸＹ投影面の中に含まれるとき、三角ポリゴンＭ（Ｎ）のＺ位置（Ｚ座標値）は他の三角ポリゴンＭ（Ｎ２）のＺ位置（Ｚ座標値）よりも大きいか否かを判断する。
4)手順3)でＮＯと判断されたとき、つまり三角ポリゴンＭ（Ｎ）のＺ位置は他の三角ポリゴンＭ（Ｎ２）のそれよりも大きくないと判断されたとき、図１０のプログラム流れ図におけるサブルーチン「Ｇと重なるほかの三角ポリゴンよりもＭ（Ｎ）は手前か」に、ＮＯを返す。
5)手順4)でＹＥＳと判断されたとき、つまり三角ポリゴンＭ（Ｎ）のＺ位置は他の三角ポリゴンＭ（Ｎ２）のそれよりも大きいと判断されたとき、あるいは、手順2)のサブルーチンでＮＯと判断されたとき、即ち三角ポリゴンＭ（Ｎ）の重心Ｇが他の三角ポリゴンＭ（Ｎ２）のＸＹ投影面の中に含まれないとき、次の番号の他の三角ポリゴンＭ（Ｎ２）を選出する。
6)「Ｎ２＋１」を「Ｎ２」に代入して、以上の手順1)ないし5)を、次番号以降の他の三角ポリゴンＭ（Ｎ２）について（即ち総ての他の三角ポリゴンＭ（Ｎ２）について）繰り返す。
7)最大の番号の他の三角ポリゴンＭ（Ｎ２）にまで手順6)を繰り返したとき、即ち、手順6)を処理すべき総ての他の三角ポリゴンＭ（Ｎ２）について完了したとき、図１０のプログラム流れ図におけるサブルーチン「Ｇと重なるほかの三角ポリゴンよりもＭ（Ｎ）は手前か」に、ＹＥＳを返す。
また、上記のサブルーチン「三角Ｍ（Ｎ２）のＸＹ投影面とＧは重なっているか」は、図１２ないし図１４のプログラム流れ図に示される手順に従って次のとおり実行される。
1)他の三角ポリゴンＭ（Ｎ２）の３つの頂点がＸＹ平面に投影された３つの点を頂点Ｐ1 、Ｐ2 およびＰ3 と定める。
2)頂点Ｐ1 、Ｐ2 およびＰ3 で作られる三角形Ｐ1 −Ｐ2 −Ｐ3 を、三角ポリゴンＭ（Ｎ）のＸＹ平面上の重心Ｇと一緒に、頂点Ｐ1 の座標がＸ＝０、Ｙ＝０に位置するところまで移動する。
3)移動した三角形Ｐ1 −Ｐ2 −Ｐ3 の辺Ｐ1 −Ｐ2 とＸ軸との間の角度θ°を求める。
4)手順3)の三角形Ｐ1 −Ｐ2 −Ｐ3 を、三角ポリゴンＭ（Ｎ）のＸＹ平面上の重心Ｇと一緒に、Ｚ軸に−θ°回転する。つまり、三角形Ｐ1 −Ｐ2 −Ｐ3 を重心Ｇと一緒に、辺Ｐ1 −Ｐ2 がＸ軸上に重なるまで回転する。
5)回転した後の三角ポリゴンＭ（Ｎ）の重心ＧのＹ位置（Ｙ座標値）をＹ1 に代入する。
6)三角形Ｐ1 −Ｐ2 −Ｐ3 および三角ポリゴンＭ（Ｎ）の重心Ｇを手順1)における原位置にそれぞれ戻す。
7)三角形Ｐ1 −Ｐ2 −Ｐ3 を三角ポリゴンＭ（Ｎ）の重心Ｇと一緒に、頂点Ｐ2 の座標がＸ＝０、Ｙ＝０に位置するところまで移動する。
8)移動した三角形Ｐ1 −Ｐ2 −Ｐ3 の辺Ｐ2 −Ｐ3 とＸ軸との間の角度θ°を求める。
9)手順8)の三角形Ｐ1 −Ｐ2 −Ｐ3 を、三角ポリゴンＭ（Ｎ）のＸＹ平面上の重心Ｇと一緒に、Ｚ軸に−θ°回転する。つまり、三角形Ｐ1 −Ｐ2 −Ｐ3 を重心Ｇと一緒に、辺Ｐ2 −Ｐ3 がＸ軸上に重なるまで回転する。
10) 回転した後の三角ポリゴンＭ（Ｎ）の重心ＧのＹ位置（Ｙ座標値）をＹ2 に代入する。
11) 三角形Ｐ1 −Ｐ2 −Ｐ3 および三角ポリゴンＭ（Ｎ）の重心Ｇを手順1)における原位置にそれぞれ戻す。
12) 三角形Ｐ1 −Ｐ2 −Ｐ3 を三角ポリゴンＭ（Ｎ）の重心Ｇと一緒に頂点Ｐ3 の座標がＸ＝０、Ｙ＝０に位置するところまで移動する。
13) 移動した三角形Ｐ1 −Ｐ2 −Ｐ3 の辺Ｐ3 −Ｐ1 とＸ軸との間の角度θ°を求める。
14) 手順13) の三角形Ｐ1 −Ｐ2 −Ｐ3 を、三角ポリゴンＭ（Ｎ）のＸＹ平面上の重心Ｇと一緒に、Ｚ軸に−θ°回転する。つまり、三角形Ｐ1 −Ｐ2 −Ｐ3 を重心Ｇと一緒に、辺Ｐ3 −Ｐ1 がＸ軸上に重なるまで回転する。
15) 回転した後の三角ポリゴンＭ（Ｎ）の重心ＧのＹ位置（Ｙ座標値）をＹ3 に代入する。
16) Ｙ1 ＜０かつＹ2 ＜０かつＹ3 ＜０であるか否かを判断する。
17) 手順16) でＹＥＳと判断されたとき、図１１のプログラム流れ図におけるサブルーチン「三角Ｍ（Ｎ２）のＸＹ投影面とＧは重なっているか」に、ＹＥＳを返す。
18) 手順16) でＮＯと判断されたとき、Ｙ1 ＞０かつＹ2 ＞０かつＹ3 ＞０であるか否かを判断する。
19) 手順18) でＹＥＳと判断されたとき、図１１のプログラム流れ図におけるサブルーチン「三角Ｍ（Ｎ２）のＸＹ投影面とＧは重なっているか」に、ＹＥＳを返す。
20) 一方、手順18) でＮＯと判断されたとき、図１１のプログラム流れ図におけるサブルーチン「三角Ｍ（Ｎ２）のＸＹ投影面とＧは重なっているか」に、ＮＯを返す。
以上のように、第一のエアポケット判定プログラムは、まず、入槽角の姿勢にあるワークに対して、上方より眺めた場合を想定し、姿勢変換後の頂点テーブル内の各頂点の「Ｘ座標」、「Ｙ座標」および「Ｚ座標」のデータを、ワークの上面が回転により正面を向くまで、変更し、次に、サブルーチン「非エアポケットの算出」により、三角ポリゴンＭ（Ｎ）がそのＸＹ平面上の重心Ｇと重なる他の三角ポリゴンＭ（Ｎ２）よりも手前に位置するか否かの判断を実行し、そして、ＹＥＳのとき、三角ポリゴンテーブル（図６）における三角ポリゴンＭ（Ｎ）についての「エアポケット」項に、１を順に入力していく。ＮＯのときは、０を維持する。
次に、第一のエアポケット判定プログラムは、入槽角の姿勢にあるワークに対して、左方より眺めた場合を想定し、姿勢変換後の頂点テーブル内の各々の頂点の「Ｘ座標」、「Ｙ座標」および「Ｚ座標」のデータを、ワークの左面が回転により正面を向くまで変更し、次に、サブルーチン「非エアポケットの算出」により、三角ポリゴンＭ（Ｎ）がそのＸＹ平面上の重心Ｇと重なる他の三角ポリゴンＭ（Ｎ２）よりも手前に位置するか否かの判断を実行し、そしてＹＥＳのとき、三角ポリゴンテーブル（図６）における三角ポリゴンＭ（Ｎ）についての「エアポケット」項に、１を順に入力していく。ＮＯのときは、０を維持する。
さらに、第一のエアポケット判定プログラムは、入槽角の姿勢にあるワークに対して、右方より、後方よりそして前方より眺めた場合を順に想定し、上記と同様の処理を繰り返すものである。
ここで、三角ポリゴンＭ（Ｎ）がその重心Ｇと重なる他の三角ポリゴンＭ（Ｎ２）よりも手前に位置するとは、重なり合う三角ポリゴンの中で、その三角ポリゴンＭ（Ｎ）は、ワークに対して当該視線方向より眺めたとき、死角にならない部位の三角ポリゴンであることを意味する。また、重心Ｇと重なる他の三角ポリゴンＭ（Ｎ２）が存在しないときも、その三角ポリゴンＭ（Ｎ）は、ワークに対して当該視線方向より眺めたとき、死角にならない部位の三角ポリゴンであることを意味する。
要するに、第一のエアポケット判定プログラムは、入槽角の姿勢に座標変換された各々の三角ポリゴンについて、その姿勢のワークに対して上方より、左方より、右方より、後方より、そして前方より眺めたそれぞれの場合において、死角にならない部位であるか否かを判断し、そして死角にならない部位の三角ポリゴンはエアポケットとならない部位の三角ポリゴンであると判定し、三角ポリゴンテーブル（図６）において、１を各々の三角ポリゴンＭ（Ｎ）についての「エアポケット」項に入力するものである。
【００１６】
「エアポケット▲２▼の判定」処理４は、上記の第二のエアポケット判定プログラムの流れ図（図１５）に示される手順に従って次のとおり実行される。
1)最初に、カウント (count)を０に設定しておく。
2)次に、番号１の三角ポリゴンより順に三角ポリゴンＭ（Ｎ）について、三角ポリゴンテーブル（図６）におけるその三角ポリゴンＭ（Ｎ）の「エアポケット」項が１であるか否かを判断する。
3)手順2)でＮＯと判断されたとき、「Ｎ＋１」を「Ｎ」に代入し、次番号の三角ポリゴンＭ（Ｎ）について、手順2)と同様の判断を行う。
4)手順2)でＹＥＳと判断されたとき、サブルーチン「隣接三角ポリゴンのエアポケット正・否判定および新たな非エアポケットのカウント」を実行する。
5)「Ｎ＋１」を「Ｎ」に代入して、以上の手順1)ないし4)を最大の番号の三角ポリゴンについてまで、即ち総ての三角ポリゴンＭ（Ｎ）について繰り返す。
6)総ての三角ポリゴンＭ（Ｎ）について以上の手順を経る過程で、エアポケットとならない部位の三角ポリゴンＭ（Ｎ）が新たに発生したか否か、つまりカウント (count)が１（有り）もしくは０（無し）であるかを判断する。
7)手順6)でＹＥＳ（カウント有り）と判断されたとき、手順1)に戻る。
8)一方、手順6)でＮＯと判断されたとき、エアポケット判定のための処理を完了する。
上記のサブルーチン「隣接三角ポリゴンのエアポケット正・否判定および新たな非エアポケットのカウント」は、図１６および図１７のプログラム流れ図に示される手順に従って次のとおり実行される。
1)三角ポリゴンＭ（Ｎ）［これは「エアポケット▲１▼の判定」処理によりエアポケットとならない部位の三角ポリゴンであると判定されている。］の３つの頂点を頂点Ｐ1 、Ｐ2 およびＰ3 と定める。
2)その三角ポリゴンＭ（Ｎ）について、三角ポリゴンテーブル（図６）の「エアポケット」項に、２を１に代えて入力する。
3)その三角ポリゴンＭ（Ｎ）を除く他の三角ポリゴンＭ（Ｎ２）について、番号１の三角ポリゴンより順に、三角ポリゴンテーブル（図６）におけるその三角ポリゴンＭ（Ｎ２）の「エアポケット」項が０であるか否かを判断する。
4)手順3)でＮＯと判断されたとき、「Ｎ２＋１」を「Ｎ２」に代入し、次番号の他の三角ポリゴンＭ（Ｎ２）について、手順3)と同様の判断を行う。
5)手順3)でＹＥＳと判断されたとき、その他の三角ポリゴンＭ（Ｎ２）の３つの頂点を頂点Ｐ4 、Ｐ5 およびＰ6 と定める。
6)そして、頂点Ｐ1 が頂点Ｐ4 と一致するか否か、頂点Ｐ1 が頂点Ｐ5 と一致するか否か、頂点Ｐ1 が頂点Ｐ6 と一致するか否か、頂点Ｐ2 が頂点Ｐ4 と一致するか否か、頂点Ｐ2 が頂点Ｐ5 と一致するか否か、頂点Ｐ2 が頂点Ｐ6 と一致するか否か、頂点Ｐ3 が頂点Ｐ4 と一致するか否か、頂点Ｐ3 が頂点Ｐ5 と一致するか否か、そして頂点Ｐ3 が頂点Ｐ6 と一致するか否かをそれぞれ判断する。
すなわち、三角ポリゴンＭ（Ｎ）と他の三角ポリゴンＭ（Ｎ２）との間で各々の頂点を共通するか否かにより、他の三角ポリゴンＭ（Ｎ２）が三角ポリゴンＭ（Ｎ）に隣接するかどうかを判断する。
7)手順6)で、いずれの判断においても、ＮＯと判断されたとき、「Ｎ２＋１」を「Ｎ２」に代入し、次番号の他の三角ポリゴンＭ（Ｎ２）について、手順3)と同様の判断を行う。
8)手順6)で、少なくとも一つの判断においてＹＥＳと判断されたとき、三角ポリゴンＭ（Ｎ）の重心Ｇを求め、そのＹ位置（Ｙ座標値）をＹ1 と定め、また、他の三角ポリゴンＭ（Ｎ２）の重心Ｇを求め、そのＹ位置（Ｙ座標値）をＹ2 と定める。
9)次いで、Ｙ1 ＞Ｙ2 であるか否か、つまり他の三角ポリゴンＭ（Ｎ２）の重心Ｇが三角ポリゴンＭ（Ｎ）の重心Ｇより下方に位置するか否かを判断する。
10) 手順9)でＮＯと判断されたとき、「Ｎ２＋１」を「Ｎ２」に代入し、次番号の他の三角ポリゴンＭ（Ｎ２）について、手順3)と同様の判断を行う。
11) 手順9)でＹＥＳと判断されたとき、その他の三角ポリゴンＭ（Ｎ２）について、三角ポリゴンテーブル（図６）における「エアポケット」項に、１を入力する。続いて「count ＋１」を「count 」に代入し、カウントを１に変更する。
12) 「Ｎ２＋１」を「Ｎ２」に代入して、以上の手順1)ないし11) を、次番号以降の他の三角ポリゴンＭ（Ｎ２）について（即ち、手順1)で対象とされた三角ポリゴンＭ（Ｎ）を除く総ての他の三角ポリゴンＭ（Ｎ２）について）繰り返す。
13) 最大番号の他の三角ポリゴンＭ（Ｎ２）にまで手順12) を完了したとき、図１５のプログラム流れ図における判断「新たな非エアポケットの三角ポリゴンが発生したか」に、カウント (count)１（有り）もしくは０（無し）を返す。
以上のように、第二のエアポケット判定プログラムは、まず、第一のエアポケット判定プログラムによりエアポケットとならない部位と判定された三角ポリゴンＭ（Ｎ）について、２を三角ポリゴンテーブル（図６）の「エアポケット」項に入力し、次に、エアポケットとならない部位と未だ判定されていない他の三角ポリゴンＭ（Ｎ２）の中より、既に判定された「エアポケットとならない部位の三角ポリゴンＭ（Ｎ）」に隣接する三角ポリゴンを選出し、次いで、その隣接する他の三角ポリゴンＭ（Ｎ２）について、前記「エアポケットとならない部位の三角ポリゴンＭ（Ｎ）」よりも下方に位置するかどうかの判断を重心の対比により実行し、そして、下方に位置するとき、その隣接する他の三角ポリゴンＭ（Ｎ２）はエアポケットとならない部位の三角ポリゴンであると新たに判定し、三角ポリゴンテーブル（図６）において１をその他の三角ポリゴンＭ（Ｎ２）の「エアポケット」項に入力するものである。
そして、この判定プログラムはその後、最初に、新たに判定された三角ポリゴンについて、既判定の「エアポケットとならない部位の三角ポリゴンＭ（Ｎ）」と同様に、２を三角ポリゴンテーブル（図６）の「エアポケット」項に入力し、次に、エアポケットとならない部位と未だ判定されていない他の三角ポリゴンＭ（Ｎ２）の中より、既に判定された「エアポケットとならない部位の三角ポリゴンＭ（Ｎ）」に隣接する三角ポリゴンを選出し、次いで、その隣接する他の三角ポリゴンＭ（Ｎ２）について、前記「エアポケットとならない部位の三角ポリゴンＭ（Ｎ）」よりも下方に位置するかどうかの判断を重心の対比により実行し、そして、下方に位置するとき、その隣接する他の三角ポリゴンＭ（Ｎ２）はエアポケットとならない部位の三角ポリゴンであると新たに判定し、三角ポリゴンテーブル（図６）において、１をその他の三角ポリゴンＭ（Ｎ２）の「エアポケット」項に入力し、さらに以降、この一連の処理を同様に繰り返すものである。
要するに、第二のエアポケット判定プログラムは、ワークが入槽角の姿勢にある条件の下で、第一のエアポケット判定プログラムに従いもしくは本プログラムに従いエアポケットとならない部位と判定された部位の三角ポリゴンＭ（Ｎ）に隣接する他の三角ポリゴンＭ（Ｎ２）について、そのエアポケットとならない部位の三角ポリゴンＭ（Ｎ）よりも下方に位置するかどうかの判断を実行し、そして、下方に位置する他の三角ポリゴンＭ（Ｎ２）はエアポケットとならない部位の三角ポリゴンであると追加判定するものである。
したがって、上記のエアポケット判定プログラムにより、ワークが入槽角の姿勢にある条件の下、その姿勢に座標変換された各々の三角ポリゴンについて、エアポケットとなる表面部位であるか否かの判定が実行される。
【００１７】
「判定の表示」処理５は、上記の表示プログラムの流れ図（図１８）に示される手順に従って次のとおり実行される。
1)サブルーチン「ワークの回転」を実行する。
2)サブルーチン「視点の移動」を実行する。
3)サブルーチン「視点の距離順に並び替え」を実行する。
4)サブルーチン「全三角ポリゴンの表示」を実行する。
上記のサブルーチン「ワークの回転」は、図１９のプログラム流れ図に示される手順に従って次のとおり実行される。
1)入槽角θのＸ座標θｘ、Ｙ座標θｙおよびＺ座標θｚの各値をマウスまたはキーボードより入力する。
2)ワーク（基本姿勢）の各表面を三角ポリゴンに分割したときの総ての頂点を、Ｘ軸の回りにθｘ回転し、Ｙ軸の回りにθｙ回転し、そしてＺ軸の回りにθｚ回転する。
3)手順2)により入槽角θの姿勢に変換された総ての頂点の座標データを、姿勢変更後の頂点テーブル（図３）に記録保存する。
上記のサブルーチン「視点の移動」は、図２０のプログラム流れ図に示される手順に従って次のとおり実行される。
1)視点角ΘのＸ座標Θｘ、Ｙ座標ΘｙおよびＺ座標Θｚの各値をマウスまたはキーボードより入力する。
2)姿勢変更後の頂点テーブル（図３）に記録保存された座標データを使用して、入槽角の姿勢にあるワークについて、その表面を分割した三角ポリゴンＭ（Ｎ）の総ての頂点を、Ｘ軸の回りにΘｘ回転し、Ｙ軸の回りにΘｙ回転し、そしてＺ軸の回りにΘｚ回転する。
3)手順2)により視点角Θの姿勢に変換された総ての頂点の座標データを、表示用頂点テーブル（図４）に記録保存する。
上記のサブルーチン「視点の距離順に並び替え」は、図２１(a) のプログラム流れ図に示される手順に従って次のとおり実行される。
1)視点角Θの姿勢に変換された三角ポリゴンＭ（Ｎ）について、番号１の三角ポリゴンより順に、三角ポリゴンＭ（Ｎ）の頂点１をＰ1 、頂点２をＰ2 、そして頂点３をＰ3 とそれぞれ定める。
2)番号Ｎの三角ポリゴンＭ（Ｎ）について、頂点Ｐ1 、頂点Ｐ2 および頂点Ｐ3 の各Ｚ座標値（Ｐ1 ｚ、Ｐ2 ｚ、Ｐ3 ｚ）の平均値Ｚ（Ｎ）を次式：
Ｚ（Ｎ）＝（Ｐ1 ｚ＋Ｐ2 ｚ＋Ｐ3 ｚ）／３
により算出し、そして、得られたＺ（Ｎ）値を三角ポリゴンテーブル（図６）における三角ポリゴンＭ（Ｎ）についての「Ｚ位置」項に入力する。
3)「Ｎ＋１」を「Ｎ」に代入して、以上の手順1)ないし2)を次番号以降の三角ポリゴンＭ（Ｎ）について繰り返す。
4)最大の番号の三角ポリゴンＭ（Ｎ）にまで手順3)を繰り返したか否か、即ち手順3)を総ての三角ポリゴンＭ（Ｎ）について完了したか否かを判断する。
5)手順4)においてＮＯのとき、手順3)に戻る。一方、ＹＥＳのとき、図２１(b) および図２１(c) に示すように、三角ポリゴンテーブル（図６）について、Ｚ位置の絶対値がより小さな順に三角ポリゴンＭ（Ｎ）の順番を並び替える。図２１(b) は並び替え前における三角ポリゴンテーブルを示し、図２１(c) は並び替え後における三角ポリゴンテーブルを示す。
上記のサブルーチン「全三角ポリゴンの表示」は、図２２のプログラム流れ図に示される手順に従って次のとおり実行される。
1)視点角Θの姿勢に変換された三角ポリゴンＭ（Ｎ）について、番号１の三角ポリゴンより順に、三角ポリゴンＭ（Ｎ）の頂点１をＰ1 、頂点２をＰ2 、そして頂点３をＰ3 とそれぞれ定める。
2)頂点Ｐ1 と頂点Ｐ2 を結ぶ直線Ｐ1 −Ｐ2 を例えば図２３に示すようなディスプレイの画面に描画し、頂点Ｐ2 と頂点Ｐ3 を結ぶ直線Ｐ2 −Ｐ3 を該ディスプレイの画面に描画し、頂点Ｐ3 と頂点Ｐ1 を結ぶ直線Ｐ3 −Ｐ1 を該ディスプレイの画面に描画する。
3)所定の色相の中より、三角ポリゴンＭ（Ｎ）の色を選択し、指定する。すなわち、処理３および処理４により、三角ポリゴンテーブル（図６）における「エアポケット」項において、エアポケットとならない部位と判定された三角ポリゴンＭ（Ｎ）については、２が記録され、そうでない部位と判定された三角ポリゴンＭ（Ｎ）については、０が記録されている。よって、「エアポケットとならない部位」でない部位と判定された三角ポリゴンＭ（Ｎ）について、着色すべき色を指定する。
4)手順3)で指定された色を用いて、「エアポケットとならない部位」でない部位の三角ポリゴンＭ（Ｎ）の内部を塗り潰す。
5)「Ｎ＋１」を「Ｎ」に代入して、以上の手順1)ないし4)を次番号以降の三角ポリゴンＭ（Ｎ）について繰り返す。
6)総ての三角ポリゴンＭ（Ｎ）について、上記ディスプレイの画面に描画された三角ポリゴンの内部を着色する処理を完了したか否かを判断する。
7)手順6)においてＮＯのとき、手順5)に戻る。一方、ＹＥＳのとき、処理を完了する。
以上のように、表示プログラムは、入槽角の姿勢にあるワークについて、表面分割された各々の三角ポリゴンＭ（Ｎ）を単位として、「エアポケットとならない部位」か否かの判定の結果をディスプレイ上に、異なる種々の視点角にて、着色表示、例えば赤色と無色とで色分け表示する処理を実行するものである。
従って、図２３に示すディスプレイの画面には、ワークＡ（入槽角の姿勢にある）について、その各表面のそれぞれの三角ポリゴンＭ（Ｎ）が、塗料面Ｂ（水平姿勢）とともに表示される。それぞれの三角ポリゴンＭ（Ｎ）について、エアポケット発生の有無について上記判定の結果が例えば赤色で色分け表示される。また、ワークＡの姿勢は異なる種々の視点角に変更することができ、それぞれの視点角から眺めた場合の上記の「判定結果」がそれぞれ表示されうるようになっている。
【００１８】
以上のように、本実施例の記録媒体を用いたコンピュータによるプログラムの動作により、浸漬処理を試みようとするワークについて、エアポケットが発生するか否かを、ワーク表面の各三角ポリゴン単位にて、また異なる種々の入槽角姿勢においてディスプレイ上に表示することができ、従ってエアポケット不良の発生の有無などを事前に判断することができる。
【００１９】
【発明の効果】
以上説明したように、本発明によれば、浸漬処理を試みようとする製品もしくは試作品について、ワーク（試作品）を液中に浸漬して表面処理をなすプロセスを実際に試行せずとも、コンピュータによるプログラムの動作により、その模擬プロセスにおけるエアポケット発生の有無をワークの各々の入槽角姿勢ごとにディスプレイ上に表示することができ、従ってエアポケット不良の発生の有無などを事前に判断もしくは予測することができるという効果が得られる。
また、本発明によれば、従来の手法でなされていた製品の試作品を用いた浸漬処理試験それ自体も必要性が大きく減少する。したがって、本発明によれば、浸漬処理すべき対象製品の外形を設計してから浸漬処理によるその製品の量産に移行するまでの期間を大幅に短縮することができ、よってその期間における手間および費用を格段に減少させることができるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施例の記録媒体に記録されるエアポケット発生判定プログラムを示すプログラム流れ図である。
【図２】実施例の記録媒体のデータ領域に記録される基本姿勢の頂点テーブルを示す図である。
【図３】実施例の記録媒体のデータ領域に記録される姿勢変換後の頂点テーブルを示す図である。
【図４】実施例の記録媒体のデータ領域に記録される表示用頂点テーブルを示す図である。
【図５】実施例の記録媒体に記録されるプログラムにおいて適用されている座標軸を示す図である。
【図６】実施例の記録媒体のデータ領域に記録される三角ポリゴンテーブルを示す図である。
【図７】実施例のプログラムにおいて使用される三角ポリゴンを示す模式図である。
【図８】実施例の記録媒体に記録される座標変換プログラムを示すプログラム流れ図である。
【図９】実施例の記録媒体に記録される第一のエアポケット判定プログラムを示すプログラム流れ図である。
【図１０】図９の第一のエアポケット判定プログラムに組み入れられたサブルーチン「非エアポケットの算出」を示すプログラム流れ図である。
【図１１】図１０のサブルーチン「非エアポケットの算出」に組み入れられたサブルーチン「Ｇと重なるほかの三角ポリゴンよりもＭ（Ｎ）は手前か」を示すプログラム流れ図である。
【図１２】図１１のサブルーチン「Ｇと重なるほかの三角ポリゴンよりもＭ（Ｎ）は手前か」に組み入れられたサブルーチン「三角形Ｍ（Ｎ２）のＸＹ投影面とＧは重なっているか」の前部を、各処理を図示する図とともに示すプログラム流れ図である。
【図１３】図１２のサブルーチンに続くサブルーチン「三角形Ｍ（Ｎ２）のＸＹ投影面とＧは重なっているか」の中間部を、各処理を図示する図とともに示すプログラム流れ図である。
【図１４】図１３のサブルーチンに続くサブルーチン「三角形Ｍ（Ｎ２）のＸＹ投影面とＧは重なっているか」の後部を、各処理を図示する図とともに示すプログラム流れ図である。
【図１５】実施例の記録媒体に記録される第二のエアポケット判定プログラムを示すプログラム流れ図である。
【図１６】図１５の第二のエアポケット判定プログラムに組み入れられたサブルーチン「隣接三角ポリゴンのエアポケット正・否判定および新たな非エアポケットのカウント」の前半部を示すプログラム流れ図である。
【図１７】図１６のサブルーチンに続くサブルーチン「隣接三角ポリゴンのエアポケット正・否判定および新たな非エアポケットのカウント」の後半部を示すプログラム流れ図である。
【図１８】実施例の記録媒体に記録される表示プログラムを示すプログラム流れ図である。
【図１９】図１８の表示プログラムに組み入れられたサブルーチン「ワークの回転」を示すプログラム流れ図である。
【図２０】図１８の表示プログラムに組み入れられたサブルーチン「視点の移動」を示すプログラム流れ図である。
【図２１】図２１(a) は図１８の表示プログラムに組み入れられたサブルーチン「視点の距離順に並び替え」を示すプログラム流れ図である。図２１(b) は並び替え前における三角ポリゴンテーブルの主要部を示す図であり、図２１(c) は並び替え後における三角ポリゴンテーブルの主要部を示す図である。
【図２２】図１８の表示プログラムに組み入れられたサブルーチン「全三角ポリゴンの表示」を示すプログラム流れ図である。
【図２３】実施例の記録媒体を用いたコンピュータの動作により表示される、ディスプレイの一画面を示す図である。
【図２４】図２４(a) は有限要素プログラムにより立方体ワークの各表面が数多くの三角ポリゴンに分割された様子を示す模式図であり、図２４(b) は有限要素プログラムにより球体ワークの表面が数多くの三角ポリゴンに分割された様子を示す図である。
【図２５】ワークのどの表面部位において、エアポケットとなりうるかを説明する図である。
【図２６】エアポケットとならない部位の判定のために、実施例における第一のエアポケット判定プログラムに貫かれている論理を説明する図である。
【図２７】エアポケットとならない部位の判定のために、実施例における第二のエアポケット判定プログラムに貫かれている論理を説明する図である。
【図２８】実施例における第二のエアポケット判定プログラムに従う、エアポケットとならない部位の判定方法を説明する図である。
【図２９】浸漬塗装プロセスにおいてエアポケットという不良が生じる様子を説明する図である。
【図３０】浸漬塗装プロセスに使用される代表的なものとして、自動車工場における電着塗装装置の全体構成を示す概略図である。
【符号の説明】
１０    三角ポリゴン
１１    浸漬槽
１２    塗料
Ａ      ワーク
【図１】
0003840603.tif 000002
【図２】
0003840603.tif 000003
【図３】
0003840603.tif 000004
【図４】
0003840603.tif 000005
【図５】
0003840603.tif 000006
【図６】
0003840603.tif 000007
【図７】
0003840603.tif 000008
【図８】
0003840603.tif 000009
【図９】
0003840603.tif 000010
【図１０】
0003840603.tif 000011
【図１１】
0003840603.tif 000012
【図１２】
0003840603.tif 000013
【図１３】
0003840603.tif 000014
【図１４】
0003840603.tif 000015
【図１５】
0003840603.tif 000016
【図１６】
0003840603.tif 000017
【図１７】
0003840603.tif 000018
【図１８】
0003840603.tif 000019
【図１９】
0003840603.tif 000020
【図２０】
0003840603.tif 000021
【図２１】
0003840603.tif 000022
【図２２】
0003840603.tif 000023
【図２３】
0003840603.tif 000024
【図２４】
0003840603.tif 000025
【図２５】
0003840603.tif 000026
【図２６】
0003840603.tif 000027
【図２７】
0003840603.tif 000028
【図２８】
0003840603.tif 000029
【図２９】
0003840603.tif 000030
【図３０】
0003840603.tif 000031