JP2002073697A - 投影面積を求める方法及び情報処理装置 - Google Patents

投影面積を求める方法及び情報処理装置

Info

Publication number
JP2002073697A
JP2002073697A JP2000261615A JP2000261615A JP2002073697A JP 2002073697 A JP2002073697 A JP 2002073697A JP 2000261615 A JP2000261615 A JP 2000261615A JP 2000261615 A JP2000261615 A JP 2000261615A JP 2002073697 A JP2002073697 A JP 2002073697A
Authority
JP
Japan
Prior art keywords
area
coordinate
projection
point
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2000261615A
Other languages
English (en)
Inventor
Masaru Kageura
勝 影浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2000261615A priority Critical patent/JP2002073697A/ja
Publication of JP2002073697A publication Critical patent/JP2002073697A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

(57)【要約】 【課題】 簡単な処理で、専用のハードウェア等を用い
ずに、高速に投影面積を計算すること。 【解決手段】 求める投影面積の精度を設定する工程
(S1)と、前記精度に基づいて試行回数を設定する工
程(S2)と、投影面を設定する工程(S3)と、物体
の各面を前記投影面上に投影する工程(S4)と、前記
投影された領域を全て含むように、所定形状の領域を設
定する工程(S7)と、前記所定形状の領域に含まれる
任意の点を発生する発生工程(S8)と、前記任意の点
が前記投影領域のいずれかに含まれるか否かを判定する
判定工程(S9〜S12)と、前記試行回数分、前記発
生工程と判定工程とを繰り返させる工程(S16)と、
前記投影領域に含まれる任意の点の数をカウントする工
程(S13)と、前記所定形状の面積及び、前記カウン
トされた任意の点の数と前記試行回数との割合に基づい
て、前記投影領域の面積を推定する工程(S17)とを
有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、CAD(Computer
AidedDesign)などの対話的な処理を用いて形状を作成
したり、その形状を使った工学上の処理を行ったりする
ことを目的とする情報装置及び情報処理方法に関し、例
えば、工業製品の形状のモデルを作成したり、その形状
を基にして金型等を作成するNC工作機械用のコードを
作成したり、その製品製作の工程やそのコスト等の計算
を行うための情報処理装置及び情報処理方法に用いて好
適なものである。
【0002】
【従来の技術】従来、製品の形状モデルを作成して工学
上の諸計算を行うために、3次元上で定義された製品の
形状をある特定の平面に投影した投影面積を求める必要
がある。例えば、ある製品形状を射出成型を使って製造
しようとして成型機の大きさを求める必要があるときな
どに、その製品形状の投影面積を求める必要がある。
【0003】従来は、この投影面積を求めるために、隠
面処理というアルゴリズムを使って、製品の形状を構成
する各面に対して、投影する平面側から製品形状を見て
手前側に見える面の領域を求め、物体の見える投影イメ
ージを作成して、その面積を求めるという方法があっ
た。
【0004】隠面処理の方法としてはいくつかの方法が
知られており、論理的に製品形状を構成する各面の干渉
関係を計算して、各面ごとに一番手前側に見える形状の
領域を算出する方法や、製品形状を構成する各面を近似
的にポリゴンという微少平面の集まりに変換し、Zバッ
ファ法やスキャンライン法という、表示装置のピクセル
単位やスキャンライン単位で、一番手前側に見える部分
を求めるという方法がある。後者の方法は主に専用のハ
ードウェアを利用することを前提にして高速に表示イメ
ージを求めることができるという方法である。
【0005】上記のような方法は、主に製品形状をリア
ルに表示装置上に表示するための方法であり、単純な投
影形状を求めるものではない。
【0006】単純に投影形状を作る方法としては、製品
形状を構成する各面を、投影する平面に投影して、閉領
域をつくり、それらの閉領域の和形状を作成することに
よって、2次元の投影形状を作成することができる。こ
の形状の面積を求めることによって、投影面積を求める
ことができる。
【0007】
【発明が解決しようとする課題】しかし、上記のような
方法は、複雑なアルゴリズムが必要であったり、専用の
ハードウェアの助けが必要で、適用範囲が狭かったり、
指定した精度を得る方法が不明確であったり、非常に多
数の面から構成される製品形状においては、処理時間が
非常にかかるという問題があった。更に、計算中に装置
にノイズ等の誤差が入ったとき、計算が破綻してしま
い、装置が暴走してしまうなどの不具合があった。
【0008】本発明は上記問題点を鑑みてなされたもの
であり、投影形状が求まらなくても、投影面積が分かれ
ば良く、更にそれほど精密な精度を必要しない場合に、
簡単な処理で、専用のハードウェア等を用いずに、高速
に投影面積を計算できるようにすることを目的とする。
【0009】
【発明を解決するための手段】上記目的を達成するため
に、本発明における物体の投影面積を求める方法は、求
める投影面積の精度を設定する精度設定工程と、前記精
度に基づいて、試行回数を設定する回数設定工程と、物
体を投影する投影面を設定する投影面設定工程と、物体
を構成する各面を前記投影面上に投影する投影工程と、
前記投影された各面の投影領域を全て含むように、所定
形状の領域を設定する所定領域設定工程と、前記所定形
状の領域に含まれる任意の点を発生する発生工程と、前
記任意の点が前記投影領域のいずれかに含まれるか否か
を判定する判定工程と、前記試行回数分、前記発生工程
と判定工程とを繰り返すさせる反復工程と、前記投影領
域のいずれかに含まれる任意の点の数をカウントするカ
ウント工程と、前記所定形状の面積及び、前記カウント
された任意の点の数と前記試行回数との割合に基づい
て、前記投影領域の面積を推定する推定工程とを有す
る。
【0010】また、本発明において、物体の投影面積を
求める情報処理装置は、求める投影面積の精度を設定す
る精度設定手段と、前記精度に基づいて、試行回数を設
定する回数設定手段と、物体を投影する投影面を設定す
る投影面設定手段と、物体を構成する各面を前記投影面
上に投影する投影手段と、前記投影された各面の投影領
域を全て含むように、所定形状の領域を設定する所定領
域設定手段と、前記所定形状の領域に含まれる任意の点
を発生する発生手段と、前記任意の点が前記投影領域の
いずれかに含まれるか否かを判定する判定手段と、前記
試行回数分、前記発生手段と判定手段を動作させる制御
手段と、前記投影領域のいずれかに含まれる任意の点の
数をカウントするカウント手段と、前記所定形状の面積
及び、前記カウントされた任意の点の数と前記試行回数
との割合に基づいて、前記投影領域の面積を推定する推
定手段とを有する。
【0011】本発明の好適な一様態によれば、前記推定
工程及び前記推定手段は、前記所定形状の面積をS0、
前記カウントされた任意の点の数をN1、前記試行回数
をN、前記投影領域の面積をSとした場合に、 S=S0×N1/N
【0012】により面積を推定する。また、本発明の好
適な一様態によれば、前記方法は前記投影領域をそれぞ
れ含むように、所定形状の最小領域を設定する最小領域
設定工程を更に有し、前記所定領域設定工程では、前記
最小領域を全て含むように、所定形状の領域を設定す
る。また、前記情報処理装置は前記投影領域をそれぞれ
含むように、所定形状の最小領域を設定する最小領域設
定手段を更に有し、前記所定領域設定手段は、前記最小
領域を全て含むように、所定形状の領域を設定する。
【0013】また、本発明の好適な一様態によれば、前
記所定形状は、前記投影面上に規定された直行する2つ
の軸に平行な辺を有する矩形であり、前記方法は前記最
小領域の矩形の左下点及び右上点の各座標毎に、座標値
の昇順または降順で当該矩形を各テーブルに登録するテ
ーブル作成工程を更に有し、前記情報処理装置は座標値
の昇順または降順で当該矩形を各テーブルに登録するテ
ーブル作成手段を更に有する。
【0014】また、本発明の好適な一様態によれば、前
記判定工程は、前記テーブルに基づいて、前記任意の点
が前記最小領域のいずれかに含まれるか否かを判断する
第1の判断工程と、前記任意の点を含む最小領域が存在
する場合に、当該最小領域に含まれる投影領域内に前記
任意の点が存在するか否かを判断する第2の判断工程と
を有し、前記判定手段は、前記テーブルに基づいて、前
記任意の点が前記最小領域のいずれかに含まれるか否か
を判断する第1の判断手段と、前記任意の点を含む最小
領域が存在する場合に、当該最小領域に含まれる投影領
域内に前記任意の点が存在するか否かを判断する第2の
判断手段とを有する。
【0015】また、本発明の好適な一様態によれば、前
記座標は、X座標及びY座標であり、前記第1の判断工
程は、前記任意の点のX座標及びY座標を取得する座標
取得工程と、左下点X座標に基づいて登録したテーブル
を検索して、前記矩形の内、左下点X座標が前記任意の
点のX座標以下である矩形を取得する第1の取得工程
と、右上点X座標に基づいて登録したテーブルを検索し
て、前記矩形の内、右上点X座標が前記任意の点のX座
標以上である矩形を取得する第2の取得工程と、左下点
Y座標に基づいて登録したテーブルを検索して、前記矩
形の内、左下点Y座標が前記任意の点のY座標以下であ
る矩形を取得する第3の取得工程と、右上点Y座標に基
づいて登録したテーブルを検索して、前記矩形の内、右
上点Y座標が前記任意の点のY座標以上である矩形を取
得する第4の取得手段と、前記第1乃至第4の取得工程
で取得した矩形の内、共通する矩形があるか否かを判断
する工程とを有し、また、前記第1の判断手段は、前記
任意の点のX座標及びY座標を取得する座標取得手段
と、左下点X座標に基づいて登録したテーブルを検索し
て、前記矩形の内、左下点X座標が前記任意の点のX座
標以下である矩形を取得する第1の取得手段と、右上点
X座標に基づいて登録したテーブルを検索して、前記矩
形の内、右上点X座標が前記任意の点のX座標以上であ
る矩形を取得する第2の取得手段と、左下点Y座標に基
づいて登録したテーブルを検索して、前記矩形の内、左
下点Y座標が前記任意の点のY座標以下である矩形を取
得する第3の取得手段と、右上点Y座標に基づいて登録
したテーブルを検索して、前記矩形の内、右上点Y座標
が前記任意の点のY座標以上である矩形を取得する第4
の取得手段と、前記第1乃至第4の取得手段で取得した
矩形の内、共通する矩形があるか否かを判断する手段と
を有する。
【0016】また、本発明の好適な一様態によれば、前
記第2の判断工程は、前記任意の点を端点とする任意の
半無限直線を定義する工程と、前記投影領域の境界線と
前記半無限直線との交点の数をカウントする工程と、前
記交点の数が奇数の場合に、前記任意の点が前記投影領
域内に存在すると判断し、偶数の場合、前記任意の点が
前記投影領域外に存在すると判断する工程とを有し、前
記第2の判断手段は、前記任意の点を端点とする任意の
半無限直線を定義する手段と、前記投影領域の境界線と
前記半無限直線との交点の数をカウントする手段と、前
記交点の数が奇数の場合に、前記任意の点が前記投影領
域内に存在すると判断し、偶数の場合、前記任意の点が
前記投影領域外に存在すると判断する手段とを有する。
【0017】また、本発明の好適な一様態によれば、前
記方法は前記最小領域の面積を算出する工程と、前記最
小領域の面積が、前記所定領域設定工程で設定された所
定形状の領域の面積の所定の割合よりも小さい場合に、
前記所定領域をテーブルから削除する工程とを更に有
し、前記情報処理装置は前記最小領域の面積を算出する
手段と、前記最小領域の面積が、前記所定領域設定手段
で設定された所定形状の領域の面積の所定の割合よりも
小さい場合に、前記所定領域をテーブルから削除する手
段とを更に有する。
【0018】好ましくは、前記所定の割合を前記精度に
基づいて決定する工程または手段を更に有する。
【0019】また、本発明の好適な一様態によれば、物
体の投影面積を求める方法は、求める投影面積の精度を
設定する精度設定工程と、前記物体の形状の複雑さを判
定する判定工程と、前記複雑さ及び前記精度に基づい
て、複数の投影面積を求める方法のいずれかを選択する
選択工程とを有し、前記複数の投影面積を求める方法
は、上記記載のいずれかの方法を含む。
【0020】また、本発明の好適な一様態における物体
の投影面積を求める情報処理装置は、求める投影面積の
精度を設定する精度設定手段と、前記物体の形状の複雑
さを判定する判定手段と、上記いずれかに記載の方法を
実行する第1の演算手段と、上記いずれかに記載の方法
以外で物体の投影面積を求める方法を実行する第2の演
算手段と、前記複雑さ及び前記精度に基づいて、前記第
1の演算手段と前記第2の演算手段のいずれかを選択す
る選択手段とを有する。
【0021】好ましくは、前記判定工程は、物体を構成
する面の数をカウントする工程と、各構成面および境界
の幾何形状境界と構成稜線の数を取得する工程とを有
し、前記判定手段は、物体を構成する面の数をカウント
する手段と、各構成面および境界の幾何形状境界と構成
稜線の数を取得する手段とを有する。
【0022】
【発明の実施の形態】以下、添付図面を参照して本発明
の好適な実施の形態を詳細に説明する。
【0023】本発明では、モンテカルロ法を利用して、
投影面積を推定する。
【0024】まず、モンテカルロ法を利用して、既知の
面積を有する領域内における、閉じた領域の面積を推定
する方法を図1を参照して説明する。
【0025】図1において、100は既知の面積を有す
る領域を規定する外枠であり、200は、面積を求めよ
うとする領域を規定する内枠である。外枠100に囲ま
れた領域の面積をS0とし、内枠200に囲まれた領域
の面積をSとする。外枠100内に存在する点をランダ
ムにN個発生させた場合、内枠200の内側にある点の
数(図1では黒丸の数)がN1である時、発生された点
の数Nが充分に大きければ、統計上、 S=S0×N1/N
【0026】により、内枠200に囲まれた領域の面積
Sを推定することができる。本発明では、この推定方法
を利用する。この方法を用いることにより、複雑な形状
の面積も容易に推定することができる。
【0027】《ハードウェア構成の説明》図2は、本発
明の実施の形態に係る情報処理装置のハードウェア構成
を示すブロック図である。
【0028】この図2において、21は中央処理装置
(CPU)であり、本装置の全体の制御や演算処理を行
う。また、11は文字や数値の入力を行うためのキーボ
ード、12は座標や図形を指示するためのマウスであ
る。41は表示装置であり、図形データおよび文字デー
タ、各種操作パネルやボタンを表示する。
【0029】また、31は読出専用記憶装置(ROM)
であり、本実施の形態に係るプログラムは、このROM
31に格納され、CPU21によって実行される。32
は読出書込記憶装置(RAM)であり、本実施の形態に
係るプログラムの実行中、CPU21は、必要に応じ
て、RAM32に、データを読み書きしながら処理を行
う。33は、フロッピー(登録商標)ディスク装置(F
D)やハードディスク装置(HD)などの外部記憶装置
であり、文字の書体情報やコード情報といった各種デー
タが格納されている。
【0030】なお、本実施の形態に係るプログラムを、
外部記憶装置33に格納させておき、RAM32に読み
込んでから、CPU21によって実行するようにしても
よいし、また、文字の書体情報やコード情報などのデー
タを、ROM31に格納させておき、CPU21が、必
要に応じてそれらのデータを読み出して使用するように
してもよい。また、51はレーザープリンタであり、本
装置によって作成された印刷データを、校正刷り(印刷
データの確認のための出力)し、また、印刷ログファイ
ルの内容を出力する。52はイメージセッターであり、
本装置によって作成された印刷データを、清刷り(正式
な版下となる高精度な出力)する。53はレーザーマー
カーであり、本装置によつて作成された印刷データを、
レーザーで直接、製品に焼き付ける。
【0031】以下、レーザープリンタ51と、イメージ
セッター52と、レーザーマーカー53の違いについて
説明する。
【0032】まず、レーザープリンタ51は、レーザー
を感光ドラムに照射してトナーを吸着させ、それを紙に
転写するプリンタであり、解像度は、1500DPI程
度まで可能である。また、イメージセッター52は、レ
ーザーを直接、感光紙に照射するプリンタであり、解像
度は、4000DPI程度まで可能である。なお、用紙
サイズは、A1程度まで印刷可能である。また、レーザ
ーマーカー53は、レーザーを直接、成形品に照射し、
樹脂材料を溶融して黒化させるか、充填材を配合した特
殊材料を使用して発色させる印刷装置である。
【0033】なお、22はシステムバスであり、本装置
を構成するハードウェアの各要素は、全て、このシステ
ムバス22を介して、プログラムおよびデータの受け渡
しを行っている。
【0034】<第1の実施形態>本第1の実施形態で
は、本発明を3次元形状をある投影面に対して投影した
形状の面積を求める装置において実施した例を、図3の
フローチャートに従って、詳細に説明する。
【0035】なお、以下の説明における「閉領域」と
は、図4に示すように、連続する閉じた稜線列一つ(以
下、「外ループ」と呼ぶ。)と、外ループの中にある互
いに干渉し合わない複数の閉じた稜線列(以下、「内ル
ープ」と呼ぶ。)とにより囲まれる2次元の領域(図4
では斜線の領域)を言うものとする。外ループは製品形
状の外側の稜線、内ループは製品形状の穴を構成する稜
線に対応する。
【0036】まず図3のステップS1において、求めよ
うとする面積の精度をユーザに指定させる。例えば、±
10%というように指示する。
【0037】次にステップS2において、ステップS1
で指定された精度に応じて、指定された精度を確保する
ための試行回数を決定する。統計的な理論により、精度
は試行回数の1/2乗に反比例するので、それに基づい
て試行回数を決定する。
【0038】ステップS3では、投影する方向に垂直な
投影平面をユーザに設定させ、ステップS4で物体を構
成する各面をそれぞれ投影面に投影した場合の閉領域を
算出する。図5は、物体1のある1面を下方向に投影面
2上に投影した場合に得られる、閉領域を示す。
【0039】次にステップS5において、各閉領域につ
いて、投影面に設定されたXY座標系に従って、各閉領
域を囲む最小のX,Y軸に平行な辺を持つ矩形(以下、
「Min−MaxBox」と呼ぶ。)を求める。具体的
にはMin−MaxBoxの左下点および右上点座標を
求める。図6(a)は、ステップS5で行う動作の概念
を示し、閉領域が6つある場合を示している。なお、こ
こではMin−MaxBoxを求める方法については特
に説明しないが、公知の方法を用いて求めればよい。
【0040】ステップS6では、ステップS5で求めた
各Min−MaxBoxの左下点・右上点のX,Y座標
をテーブルに保存すると共に、Min−MaxBoxの
番号をソートしながら登録する。作成したテーブルの例
を図6(b)に、ソートの種類及び結果を図6(c)〜
図6(f)に示す。図6(c)は、左下点のX座標が小
さい順にMin−MaxBoxをソートしたもの、図6
(d)は、左下点のY座標が小さい順にMin−Max
Boxをソートしたもの、図6(e)は、右上点のX座
標が小さい順にMin−MaxBoxをソートしたも
の、そして、図6(f)は、右上点のY座標が小さい順
にMin−MaxBoxをソートしたものである。
【0041】次にステップS7では、ステップS5で求
めた各閉領域のMin−MaxBoxの和をとることに
よって、投影した閉領域全部を囲むMin−MaxBo
x(図7の一点鎖線で示す領域3)を算出する。この領
域が、図1の外枠100に囲まれた領域S0に相当す
る。2つのMin−MaxBoxの和をとる処理は、左
下点の各X,Y座標については、二つの値のうち小さい
方、右上点の各X,Y座標については、二つの値のうち
大きいほうをとることによって処理できる。従って、全
領域のMin−MaxBoxを算出するに当たっては、
すべてのMin−MaxBoxに関して上記の処理を繰
り返せばよい。
【0042】次にステップS8で、ステップS7で求め
た図7の領域3内に存在する任意の一点P0をランダム
に発生する。具体的には、領域3内に入るX,Y座標値
をそれぞれ乱数を使って発生させる。
【0043】ステップS9では、ステップS6で作成し
たMin−MaxBoxの左下点、右上点の各X,Y座
標値のソートテーブル(図6(c)〜(f))を利用し
て、P0を含むMin−MaxBoxを持つ閉領域を探
索する。この探索方法を図8及び図9を参照して説明す
る。
【0044】具体的には、まず、P0のX座標及びY座
標を取り出し(ステップS20)、P0のX座標と、左
下点X座標のソートテーブル(図6(c))を使って、
2分法により、P0の左下点X座標より小さな左下点X
座標を持つMin−MaxBoxと大きな左下点X座標
を持つMin−MaxBoxとを区分する(ステップS
21)。P0を含むMin−MaxBoxを持つ可能性
のある閉領域は、P0のX座標よりも必ず小さな左下点
X座標を持つ。従って、P0が図9(a)に示すような
位置である場合、Min−MaxBox4とMin−M
axBox2の左下点X座標の間にP0が存在するた
め、図9(b)の斜線部で示すように、Min−Max
Box4よりも小さい左下点X座標を有するMin−M
axBox1,5,6,4だけがP0のX座標よりも小
さい左下点X座標を有することが分かる。
【0045】同様に、ステップS22において、P0の
Y座標と左下点Y座標ソートテーブルを使って、P0の
Y座標より小さな左下点Y座標を持つMin−MaxB
oxと、大きな左下点Y座標を持つMin−MaxBo
xとを区分する。P0を含むMin−MaxBoxを持
つ可能性のある閉領域は、P0のY座標よりも必ず小さ
な左下点Y座標を持つため、ここでは図9(c)の斜線
部で示すMin−MaxBox5,4,7がP0を含む
可能性があることが分かる。
【0046】更に、ステップS23において、P0のX
座標と右上点X座標ソートテーブルを使って、P0のX
座標より大きな右上点X座標を持つMin−MaxBo
xと、小さな右上点X座標を持つMin−MaxBox
とを区分する。P0を含むMin−MaxBoxを持つ
可能性のある閉領域は、P0のX座標よりも必ず大きな
右上点X座標を持つため、ここでは図9(d)の斜線部
で示すMin−MaxBox5,6,4,2,7,3が
P0を含む可能性があることが分かる。
【0047】同様に、ステップS24において、P0の
Y座標と右上点Y座標ソートテーブルを使って、P0の
Y座標より大きな右上点Y座標を持つMin−MaxB
oxと、小さな右上点Y座標を持つMin−MaxBo
xとを区分する。P0を含むMin−MaxBoxを持
つ可能性のある閉領域は、P0のY座標よりも大きな右
上点Y座標を持つため、ここでは図9(e)の斜線部で
示すMin−MaxBox5,4,2,7,3,6,1
がP0を含む可能性があることが分かる。
【0048】なお、上記ステップS21〜S24の処理
は、どのような順番で行っても良い。
【0049】上記ステップS21〜S24での処理後、
得られたMin−MaxBoxの積集合を取ることによ
り(すなわち、図9(b)〜(e)の斜線分AND演算
を行う)、高速にP0を含むMin−MaxBoxを持
つ閉領域を探索することができる(ステップS25)。
P0を含む閉領域は必ず、そのMin−MaxBoxも
P0を含むわけであるから、この処理によりラフチェッ
クができる。図9に示す例では、Min−MaxBox
5,4がP0を含む(図9(f))。
【0050】上述のようにして、図3のステップS9で
P0を含む可能性のあるMin−MaxBoxを求める
演算後、ステップS10に進み、P0を含むMin−M
axBoxが存在したか否かを判定する。存在しなかっ
た場合にはステップS15に進み、P0が投影領域の外
に存在すると判定する。
【0051】一方、P0を含むMin−MaxBoxが
存在する場合にはステップS11に進み、そのMin−
MaxBoxの閉領域について、本来の閉領域の境界形
状を用いてP0が閉領域内にあるか否かの判定(内外判
定)を行う。内外判定の方法としては、例えばよく知ら
れた方法として、その点を端点とする任意の半無限直線
を定義して、境界形状との交点の数をカウントする方法
がある。図10に示すように、閉領域を斜線で示す領域
とすると、判定する点が閉領域内にある場合は交点の数
は必ず奇数になり、閉領域外に有る場合は、交点の数は
必ず偶数となる。従って、交点の数が奇数ならば領域内
部の点、偶数ならば領域外部の点と判定できる。なお、
本発明による処理の場合、投影面積を出すことが目的で
あるので、閉領域の外ループ及び内ループ上の点も内と
判定する。
【0052】ステップS12では、ステップS11の判
定結果、P0が閉領域内(すなわち、投影形状内)に存
在するか否かを判定し、閉領域内に存在する場合にはス
テップS13に進み、閉領域内に存在する点の数を記憶
するためのインカウントの数を一つカウントアップす
る。なお、例えば図9に示すように複数のMin−Ma
xBoxが検出されている場合、対応する閉領域のどれ
か一つでも点が内にあると判定されれば投影形状の内に
あるわけであるから、次のMin−MaxBoxに対応
する閉領域について調べる必要はなく、ここで内外判定
処理を打ち切る。
【0053】また、ステップS12でP0がステップS
11で内外判定を行った閉領域内には無いと判定する
と、ステップS14に進み、他に調べていない閉領域
(Min−MaxBox)があるかどうかを判断する。
まだ調べていない閉領域がある場合、ステップS11に
戻り、その閉領域について内外判定を行う。
【0054】また、P0を含む全てのMin−MaxB
oxに対応する閉領域ついて判定を終えている場合には
ステップS15に進み、P0が投影領域外にあると判定
する。
【0055】次にステップS16において、ステップS
2で設定された試行回数分、任意に発生した点の内外判
定処理を行ったか否かを判断し、試行回数に満たない場
合はステップS8に戻って新たなP0を発生して上述の
内外判定を行い、試行回数行ってからステップS17に
進む。
【0056】ステップS17では、上記図1を参照して
説明したモンテカルロ法の原理に基づいて、閉領域の面
積を推定する。ここでは、ステップS7で求めた全Mi
n−MaxBoxを含むMin−MaxBoxの面積、
ステップS13でカウントしたインカウント数、及びス
テップS2で設定された試行回数を用いて、
【0057】(全Min−MaxBoxを含むMin−
MaxBoxの面積)*(インカウント数)/(試行回
数) 上記のように本第1の実施形態によれば、簡単な処理で
専用のハードウェア等を用いずに、高速に投影面積を推
定することができる。
【0058】<第2の実施形態>本第2の実施形態で
は、上記第1の実施形態で説明した処理に加えて、指定
された精度に応じて、Min−MaxBoxの面積が、
全Min−MaxBoxの面積のある一定の値以下な
ら、そのMin−MaxBoxの値を持つ閉領域を対象
から外す処理を行うものである。
【0059】ここでは、図11に示すように、ステップ
S36において、図3のステップS6で作成するテーブ
ルに加え、面積の大小を示すテーブルを作成する。そし
て、ステップS7で全Min−MaxBoxを算出後、
ステップS37でステップS1で設定された精度に基づ
いて、所定割合以下の面積を有するMin−MaxBo
xを、ステップS36で作成した面積テーブルを用い
て、ステップS36で作成した全てのテーブルから外
す。その他の処理は第1の実施形態で図3を参照して説
明したものと同様であるので、説明を省略する。
【0060】複雑な形状を持つ製品の場合、多くの複雑
で小さな面積を持つ面を構成面として持つが、これらは
投影面積の計算に関しては小さな影響しか持たず、しか
も複雑な計算が必要であるが、これらを省くことにより
効率的に計算が行える。また、小さな面積を有する面は
縮退しやすく、これらの面を対象とする処理は、ノイズ
等の計算誤差に弱い処理となることがしばしばあり、装
置の暴走の原因となる。従って、本第2の実施形態にお
ける処理により、上記の処理を加えることによりこれら
の問題を防ぐことができる。
【0061】<第3の実施形態>製品形状の複雑さや求
められる精度によっては、従来からの方法による方が有
利なことがある。そこで、本第3の実施形態における処
理では、それらを事前に判定し、状況に応じて、第1の
実施形態で説明した方法とその他の処理とを使い分け
る。例えば、製品の形状を構成する面の数や、その面の
幾何形状やその面の境界を構成する稜線の数や幾何形状
や精度に応じて処理を使い分ける。この処理について図
12を参照して説明する。
【0062】まずステップS41において、物体を構成
する面の数をカウントし、ステップS42では各構成面
及び境界の幾何学状境界を構成する稜線の数をチェック
する。次に、ステップS43でユーザーが求める精度を
確認する。
【0063】ステップS44では、面の数、構成面及び
境界線の状態、及び精度に基づいて、上記第1の実施形
態で説明した方法が適切であるか、従来の方法が適切で
あるかを判断する。この判断にあたっては、面の数や、
面の形状が自由曲面であるか、また、自由曲線の数等と
いった情報に基づいて物体の複雑さを判定する。比較的
物体の形状が複雑で且つ、高い精度が求められていない
ときは、第1の実施形態で説明した、モンテカルロ法を
原理とする方法を行い(ステップS45)、比較的物体
の形状が簡単で且つ、高い精度が求められているときに
は、従来の方法を行う(ステップS46)。
【0064】従来の方法の一例として、図13に示すよ
うに、まず製品を構成する各面を投影面に投影して各領
域を作り(ステップS51)、それぞれの閉領域を算出
し(ステップS52)、その閉領域の和形状を作って正
確な投影形状を作り(ステップS53)、その投影面積
を計算する(ステップS54)というものである。例え
ば、図14(a)に示すような物体の形状の場合、図1
4(b)及び(c)に示すような複数の閉領域をステッ
プS52で算出し、その後、ステップS53において、
図14(b)及び(c)の和領域を取ることにより、図
14(a)の形状を算出する。
【0065】なお、図12のステップS44の判断基準
は、状況に応じて装置が自動的に判断したり、ユーザに
選択させるなどにより変更することができる。
【0066】このように第3の実施形態によれば、より
適切な方法を用いて投影面積を算出することができる。
【0067】
【他の実施形態】本発明の目的は、前述した実施形態の
機能を実現するソフトウェアのプログラムコードを記録
した記憶媒体(または記録媒体)を、システムあるいは
装置に供給し、そのシステムあるいは装置のコンピュー
タ(またはCPUやMPU)が記憶媒体に格納されたプ
ログラムコードを読み出し実行することによっても、達
成されることは言うまでもない。この場合、記憶媒体か
ら読み出されたプログラムコード自体が前述した実施形
態の機能を実現することになり、そのプログラムコード
を記憶した記憶媒体は本発明を構成することになる。ま
た、コンピュータが読み出したプログラムコードを実行
することにより、前述した実施形態の機能が実現される
だけでなく、そのプログラムコードの指示に基づき、コ
ンピュータ上で稼働しているオペレーティングシステム
(OS)などが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれることは言うまでもない。
【0068】さらに、記憶媒体から読み出されたプログ
ラムコードが、コンピュータに挿入された機能拡張カー
ドやコンピュータに接続された機能拡張ユニットに備わ
るメモリに書込まれた後、そのプログラムコードの指示
に基づき、その機能拡張カードや機能拡張ユニットに備
わるCPUなどが実際の処理の一部または全部を行い、
その処理によって前述した実施形態の機能が実現される
場合も含まれることは言うまでもない。
【0069】本発明を上記記憶媒体に適用する場合、そ
の記憶媒体には、先に説明した図3および図8、または
図11及び/または図13に示すフローチャートに対応
するプログラムコードが格納されることになる。
【0070】
【発明の効果】以上説明したように本発明によれば、簡
単な処理で、専用のハードウェア等を用いずに、高速に
投影面積を計算できる。
【図面の簡単な説明】
【図1】モンテカルロ法によって面積を求める原理を説
明する図である。
【図2】本発明の実施の形態における情報処理装置のハ
ードウェア構成を示すブロック図である。
【図3】本発明の第1の実施形態の処理の手順を説明す
るフローチャートである。
【図4】閉領域を説明する図である。
【図5】製品形状を構成する各面を投影面に投影して閉
領域を作成することを説明する図である。
【図6】Min−MaxBox及びその左下点、右上点
の座標値に基づくソートテーブルを示す図である。
【図7】全Min−MaxBoxを含むMin−Max
Boxを説明する図である。
【図8】任意の点を内に含むMin−MaxBoxを探
索する処理を説明するフローチャートである。
【図9】任意の点を内に含むMin−MaxBoxを探
索する処理を説明する図である。
【図10】内外判定方法を説明する図である。
【図11】本発明の第2の実施形態の処理の手順を説明
するフローチャートである。
【図12】本発明の第3の実施形態の処理の手順を説明
するフローチャートである。
【図13】従来の投影面積を求める処理を説明するフロ
ーチャートである。
【図14】投影した領域の和形状作成の処理を説明する
図である。

Claims (24)

    【特許請求の範囲】
  1. 【請求項1】 物体の投影面積を求める方法であって、 求める投影面積の精度を設定する精度設定工程と、 前記精度に基づいて、試行回数を設定する回数設定工程
    と、 物体を投影する投影面を設定する投影面設定工程と、 物体を構成する各面を前記投影面上に投影する投影工程
    と、 前記投影された各面の投影領域を全て含むように、所定
    形状の領域を設定する所定領域設定工程と、 前記所定形状の領域に含まれる任意の点を発生する発生
    工程と、 前記任意の点が前記投影領域のいずれかに含まれるか否
    かを判定する判定工程と、 前記試行回数分、前記発生工程と判定工程とを繰り返す
    させる反復工程と、 前記投影領域のいずれかに含まれる任意の点の数をカウ
    ントするカウント工程と、 前記所定形状の面積及び、前記カウントされた任意の点
    の数と前記試行回数との割合に基づいて、前記投影領域
    の面積を推定する推定工程とを有することを特徴とする
    方法。
  2. 【請求項2】 前記推定工程では、前記所定形状の面積
    をS0、前記カウントされた任意の点の数をN1、前記
    試行回数をN、前記投影領域の面積をSとした場合に、 S=S0×N1/N により面積を推定することを特徴とする請求項1に記載
    の方法。
  3. 【請求項3】 前記投影領域をそれぞれ含むように、所
    定形状の最小領域を設定する最小領域設定工程を更に有
    し、 前記所定領域設定工程では、前記最小領域を全て含むよ
    うに、所定形状の領域を設定することを特徴とする請求
    項1または2に記載の方法。
  4. 【請求項4】 前記所定形状は、前記投影面上に規定さ
    れた直行する2つの軸に平行な辺を有する矩形であり、 前記最小領域の矩形の左下点及び右上点の各座標毎に、
    座標値の昇順または降順で当該矩形を各テーブルに登録
    するテーブル作成工程を更に有することを特徴とする請
    求項3に記載の方法。
  5. 【請求項5】 前記判定工程は、 前記テーブルに基づいて、前記任意の点が前記最小領域
    のいずれかに含まれるか否かを判断する第1の判断工程
    と、 前記任意の点を含む最小領域が存在する場合に、当該最
    小領域に含まれる投影領域内に前記任意の点が存在する
    か否かを判断する第2の判断工程とを有することを特徴
    とする請求項4に記載の方法。
  6. 【請求項6】 前記座標は、X座標及びY座標であり、
    前記第1の判断工程は、 前記任意の点のX座標及びY座標を取得する座標取得工
    程と、 左下点X座標に基づいて登録したテーブルを検索して、
    前記矩形の内、左下点X座標が前記任意の点のX座標以
    下である矩形を取得する第1の取得工程と、 右上点X座標に基づいて登録したテーブルを検索して、
    前記矩形の内、右上点X座標が前記任意の点のX座標以
    上である矩形を取得する第2の取得工程と、 左下点Y座標に基づいて登録したテーブルを検索して、
    前記矩形の内、左下点Y座標が前記任意の点のY座標以
    下である矩形を取得する第3の取得工程と、 右上点Y座標に基づいて登録したテーブルを検索して、
    前記矩形の内、右上点Y座標が前記任意の点のY座標以
    上である矩形を取得する第4の取得手段と、 前記第1乃至第4の取得工程で取得した矩形の内、共通
    する矩形があるか否かを判断する工程とを有することを
    特徴とする請求項5に記載の方法。
  7. 【請求項7】 前記第2の判断工程は、 前記任意の点を端点とする任意の半無限直線を定義する
    工程と、 前記投影領域の境界線と前記半無限直線との交点の数を
    カウントする工程と、 前記交点の数が奇数の場合に、前記任意の点が前記投影
    領域内に存在すると判断し、偶数の場合、前記任意の点
    が前記投影領域外に存在すると判断する工程とを有する
    ことを特徴とする請求項5または6に記載の方法。
  8. 【請求項8】 前記最小領域の面積を算出する工程と、 前記最小領域の面積が、前記所定領域設定工程で設定さ
    れた所定形状の領域の面積の所定の割合よりも小さい場
    合に、前記所定領域をテーブルから削除する工程とを更
    に有することを特徴とする請求項4乃至7のいずれかに
    記載の方法。
  9. 【請求項9】 前記所定の割合を前記精度に基づいて決
    定する工程を更に有することを特徴とする請求項8に記
    載の方法。
  10. 【請求項10】 物体の投影面積を求める方法であっ
    て、 求める投影面積の精度を設定する精度設定工程と、 前記物体の形状の複雑さを判定する判定工程と、 前記複雑さ及び前記精度に基づいて、複数の投影面積を
    求める方法のいずれかを選択する選択工程とを有し、 前記複数の投影面積を求める方法は、請求項1乃至8の
    いずれかに記載の方法を含むことを特徴とする方法。
  11. 【請求項11】 前記判定工程は、 物体を構成する面の数をカウントする工程と、 各構成面および境界の幾何形状境界と構成稜線の数を取
    得する工程とを有することを特徴とする請求項10に記
    載の方法。
  12. 【請求項12】 物体の投影面積を求める情報処理装置
    であって、 求める投影面積の精度を設定する精度設定手段と、 前記精度に基づいて、試行回数を設定する回数設定手段
    と、 物体を投影する投影面を設定する投影面設定手段と、 物体を構成する各面を前記投影面上に投影する投影手段
    と、 前記投影された各面の投影領域を全て含むように、所定
    形状の領域を設定する所定領域設定手段と、 前記所定形状の領域に含まれる任意の点を発生する発生
    手段と、 前記任意の点が前記投影領域のいずれかに含まれるか否
    かを判定する判定手段と、 前記試行回数分、前記発生手段と判定手段を動作させる
    制御手段と、 前記投影領域のいずれかに含まれる任意の点の数をカウ
    ントするカウント手段と、 前記所定形状の面積及び、前記カウントされた任意の点
    の数と前記試行回数との割合に基づいて、前記投影領域
    の面積を推定する推定手段とを有することを特徴とする
    情報処理装置。
  13. 【請求項13】 前記推定手段は、前記所定形状の面積
    をS0、前記カウントされた任意の点の数をN1、前記
    試行回数をN、前記投影領域の面積をSとした場合に、 S=S0×N1/N により面積を推定することを特徴とする請求項12に記
    載の情報処理装置。
  14. 【請求項14】 前記投影領域をそれぞれ含むように、
    所定形状の最小領域を設定する最小領域設定手段を更に
    有し、 前記所定領域設定手段は、前記最小領域を全て含むよう
    に、所定形状の領域を設定することを特徴とする請求項
    12または13に記載の情報処理装置。
  15. 【請求項15】 前記所定形状は、前記投影面上に規定
    された直行する2つの軸に平行な辺を有する矩形であ
    り、 前記最小領域の矩形の左下点及び右上点の各座標毎に、
    座標値の昇順または降順で当該矩形を各テーブルに登録
    するテーブル作成手段を更に有することを特徴とする請
    求項14に記載の情報処理装置。
  16. 【請求項16】 前記判定手段は、 前記テーブルに基づいて、前記任意の点が前記最小領域
    のいずれかに含まれるか否かを判断する第1の判断手段
    と、 前記任意の点を含む最小領域が存在する場合に、当該最
    小領域に含まれる投影領域内に前記任意の点が存在する
    か否かを判断する第2の判断手段とを有することを特徴
    とする請求項15に記載の情報処理装置。
  17. 【請求項17】 前記座標は、X座標及びY座標であ
    り、前記第1の判断手段は、 前記任意の点のX座標及びY座標を取得する座標取得手
    段と、 左下点X座標に基づいて登録したテーブルを検索して、
    前記矩形の内、左下点X座標が前記任意の点のX座標以
    下である矩形を取得する第1の取得手段と、 右上点X座標に基づいて登録したテーブルを検索して、
    前記矩形の内、右上点X座標が前記任意の点のX座標以
    上である矩形を取得する第2の取得手段と、 左下点Y座標に基づいて登録したテーブルを検索して、
    前記矩形の内、左下点Y座標が前記任意の点のY座標以
    下である矩形を取得する第3の取得手段と、 右上点Y座標に基づいて登録したテーブルを検索して、
    前記矩形の内、右上点Y座標が前記任意の点のY座標以
    上である矩形を取得する第4の取得手段と、 前記第1乃至第4の取得手段で取得した矩形の内、共通
    する矩形があるか否かを判断する手段とを有することを
    特徴とする請求項16に記載の情報処理装置。
  18. 【請求項18】 前記第2の判断手段は、 前記任意の点を端点とする任意の半無限直線を定義する
    手段と、 前記投影領域の境界線と前記半無限直線との交点の数を
    カウントする手段と、 前記交点の数が奇数の場合に、前記任意の点が前記投影
    領域内に存在すると判断し、偶数の場合、前記任意の点
    が前記投影領域外に存在すると判断する手段とを有する
    ことを特徴とする請求項16または17に記載の情報処
    理装置。
  19. 【請求項19】 前記最小領域の面積を算出する手段
    と、 前記最小領域の面積が、前記所定領域設定手段で設定さ
    れた所定形状の領域の面積の所定の割合よりも小さい場
    合に、前記所定領域をテーブルから削除する手段とを更
    に有することを特徴とする請求項15乃至18のいずれ
    かに記載の情報処理装置。
  20. 【請求項20】 前記所定の割合を前記精度に基づいて
    決定する手段を更に有することを特徴とする請求項19
    に記載の情報処理装置。
  21. 【請求項21】 物体の投影面積を求める情報処理装置
    であって、 求める投影面積の精度を設定する精度設定手段と、 前記物体の形状の複雑さを判定する判定手段と、 請求項1乃至8のいずれかに記載の方法を実行する第1
    の演算手段と、 請求項1乃至8のいずれかに記載の方法以外で物体の投
    影面積を求める方法を実行する第2の演算手段と、 前記複雑さ及び前記精度に基づいて、前記第1の演算手
    段と前記第2の演算手段のいずれかを選択する選択手段
    とを有することを特徴とする情報処理装置。
  22. 【請求項22】 前記判定手段は、 物体を構成する面の数をカウントする手段と、 各構成面および境界の幾何形状境界と構成稜線の数を取
    得する手段とを有することを特徴とする請求項21に記
    載の情報処理装置。
  23. 【請求項23】 請求項1乃至11のいずれかに記載の
    投影面積を求める方法を実現するためのプログラムコー
    ドを保持する記憶媒体。
  24. 【請求項24】 請求項1乃至11のいずれかに記載の
    投影面積を求める方法を実現するためのプログラム。
JP2000261615A 2000-08-30 2000-08-30 投影面積を求める方法及び情報処理装置 Withdrawn JP2002073697A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000261615A JP2002073697A (ja) 2000-08-30 2000-08-30 投影面積を求める方法及び情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000261615A JP2002073697A (ja) 2000-08-30 2000-08-30 投影面積を求める方法及び情報処理装置

Publications (1)

Publication Number Publication Date
JP2002073697A true JP2002073697A (ja) 2002-03-12

Family

ID=18749426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000261615A Withdrawn JP2002073697A (ja) 2000-08-30 2000-08-30 投影面積を求める方法及び情報処理装置

Country Status (1)

Country Link
JP (1) JP2002073697A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008027139A (ja) * 2006-07-20 2008-02-07 Fuji Xerox Co Ltd 金型設計装置及び金型設計装置用プログラム
JP2010262644A (ja) * 2009-05-01 2010-11-18 Livermore Software Technology Corp コンピュータ支援工学解析における近傍判定方法およびシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008027139A (ja) * 2006-07-20 2008-02-07 Fuji Xerox Co Ltd 金型設計装置及び金型設計装置用プログラム
JP2010262644A (ja) * 2009-05-01 2010-11-18 Livermore Software Technology Corp コンピュータ支援工学解析における近傍判定方法およびシステム

Similar Documents

Publication Publication Date Title
JP4893148B2 (ja) 形状簡略化装置及びそれに用いられるプログラム
CN112765695B (zh) 支撑体生成方法、3d打印机、计算机装置及存储介质
JP2000089448A (ja) 露光用パターン表示・検査・修正方法
US7145563B2 (en) Method for generating mesh of object for three-dimensional analysis
JP2004252873A (ja) 三次元cadシステムにおける部分再投影方法、装置及びコンピュータプログラム
JP2002073697A (ja) 投影面積を求める方法及び情報処理装置
JPH05269956A (ja) 任意の線に沿って組版する電子組版装置
US5740275A (en) Method and apparatus for processing characters using pattern data conversion
JP3931701B2 (ja) 画像生成装置及びプログラム
JP2662539B2 (ja) 3次元図形処理装置
JPH07200873A (ja) 3次元モデルの作成方法
JP3952358B2 (ja) データ変換装置およびその方法、並びに当該方法を用いたプログラム
JP2680295B2 (ja) 電子ビーム露光装置の描画データ作成方法及びその装置
JP3305395B2 (ja) 図形分割装置
JP2001092805A (ja) 解析メッシュ生成装置、方法及び記憶媒体
JP2002324093A (ja) 情報処理装置及び情報処理方法
JP3344471B2 (ja) 設計変更箇所検証装置、設計変更箇所検証方法、及び設計変更箇所検証プログラムを記録した記録媒体
JP2810051B2 (ja) 自動要素分割装置
JP3786412B2 (ja) フィレット作成方法、及び3次元cadプログラム
JPH10254523A (ja) 加工用工具移動経路の作成方法
JP3721763B2 (ja) 3次元モデルの作成方法
JP2886702B2 (ja) アウトラインフォント処理装置
JP2755398B2 (ja) ソリッドモデルに対する点の内外判定処理方法
JP3324831B2 (ja) Cad装置
JP2003271687A (ja) 干渉モデル検出装置、方法及び記憶媒体

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071106