JP2003085569A - 内外点判定アルゴリズム - Google Patents
内外点判定アルゴリズムInfo
- Publication number
- JP2003085569A JP2003085569A JP2001280180A JP2001280180A JP2003085569A JP 2003085569 A JP2003085569 A JP 2003085569A JP 2001280180 A JP2001280180 A JP 2001280180A JP 2001280180 A JP2001280180 A JP 2001280180A JP 2003085569 A JP2003085569 A JP 2003085569A
- Authority
- JP
- Japan
- Prior art keywords
- point
- polygon
- line
- half line
- outside
- 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
Links
Landscapes
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
(57)【要約】
【目的】 折線閉多角形と或る点が与えられたとき、判
定点と閉多角形の位置関係に拘らず、判定点が閉多角形
内にあるか否かを判定することができる内外点判定アル
ゴリズムを提供すること。 【構成】 多角形Aの頂点の座標列と或る点Pの座標が
与えられたとき、第1に多角形Aの頂点のうちに点Pと
一致するものが存在する場合は、該点Pは多角形の頂点
上にあるとし、第2に点Pが多角形の頂点上にない場合
で、該多角形の何れかの辺上に点Pを含む場合は、該点
Pは多角形の辺上にあるとし、第3に点Pが多角形の頂
点上にも辺上にも存在しない場合、点Pから或る方向に
半直線PXを引き、初期値0の内外判定数Nを考え、多
角形Aの全ての辺に対して辺と半直線PXが共有点を持
たない場合はNの増減は0とし、半直線PXと交差する
とNに1を加える。
定点と閉多角形の位置関係に拘らず、判定点が閉多角形
内にあるか否かを判定することができる内外点判定アル
ゴリズムを提供すること。 【構成】 多角形Aの頂点の座標列と或る点Pの座標が
与えられたとき、第1に多角形Aの頂点のうちに点Pと
一致するものが存在する場合は、該点Pは多角形の頂点
上にあるとし、第2に点Pが多角形の頂点上にない場合
で、該多角形の何れかの辺上に点Pを含む場合は、該点
Pは多角形の辺上にあるとし、第3に点Pが多角形の頂
点上にも辺上にも存在しない場合、点Pから或る方向に
半直線PXを引き、初期値0の内外判定数Nを考え、多
角形Aの全ての辺に対して辺と半直線PXが共有点を持
たない場合はNの増減は0とし、半直線PXと交差する
とNに1を加える。
Description
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、計算機を利用した
様々な応用分野、例えば数値シミュレーションの分野や
グラフィックの基本ツール群としてグラフィック描画装
置に応用することができる内外点判定アルゴリズムに関
する。 【0002】 【従来の技術】平面上に与えられた点が同一平面上の閉
曲線の内に存在するか否かという問題は、数学的興味か
ら古くから研究されてきた。現在では基本群と呼ばれる
トポロジーの言葉で最も厳密且つ抽象的に表現すること
が可能であるが、留数の定理に関連する解析的な問題で
もある。 【0003】与えられた平面に自然な複素座標を導入す
ることによって平面を複素平面と見なし、与えられた閉
曲線をΓとし、与えられた点をz0 とすると、関数f
(z)=1/(z−z0 )として次の一周積分: を計算することによって、与えられた点が平曲線の内点
か否かを判定することができる。つまり、留数の定理に
よると、この積分の値が零であれば、z0 は曲線の外に
存在し、零でなければ、即ち±2πiであれば、点は閉
曲線内の点であることが判明する。 【0004】デュドネ編「数学史1700-1900 I」(波書
店1985年発行)によると、留数の定理を発見したのはコ
ーシーのようである。1826年のSur un nouveau genre d
e calcul infinitesmal という題の論文(Exercices de
mathematiques)において、特異点の周りの無限小解析
を行うことにより留数の定理を発見したとある。コーシ
ーは、その後、長方形の周りでの複素函数の積分がその
内部の留数の総和であることを計算し、その後20年に
亘ってこの問題に深く関わったとある。この留数の計算
をもって幾何学と函数論とが結び付いたと言っても過言
ではない。つまり、解析的な関数の値の和(積分)によ
って純粋に幾何学的な事実が判明するのである。 【0005】実際の計算においては、閉曲線は任意のも
のではなく、区分的に直線で表されたものがより実用的
に重要である。つまり、多角形と点Pが与えられた際に
点Pが多角形の内部にあるか否かの判定をする場合が多
い。 【0006】このような与えられた点が図形の内点か否
かを判定する必要性は計算機の性能の発達と共に、近
年、非常に増加していると考えられる。近年のグラフィ
ック描画装置或はそれに関する基本的な問題において
は、マウス等で指示した点が与えられた図形の内点か否
かという判定を必要とする。又、モンテカルロ法等の数
値計算においては、多数の点が1つの多角形の内点か否
かを判断することが求められる。 【0007】上述の留数の定理に従った内外判定アルゴ
リズムは、多角形の各辺の終端の点Pから臨む角度を計
算し、その角度の総和が±2πであるか否かを調べる必
要がある。 【0008】しかしながら、角度の計算は超越関数であ
る逆3角関数を使うため、計算時間を多く必要とするも
のである。 【0009】特許第2595361号に記載の「折線か
ら成る図形の内外判定方法」においては、上述の留数の
定理に沿った内外判定を多くの場合使わないで内外判定
を行う方法が提案されている。この発明は、上述の留数
の定理を利用したものとx−y座標の特徴を利用した外
接する長方形での内外判定を組み合わせたものである。
計算時間を多く必要な留数の定理を利用した内外判定の
問題点を避けるために図11に示すようなフローチャー
トに従ったアルゴリズムが特許第2595361号に記
載の「折線から成る図形の内外判定方法」では提供され
ている。 【0010】図9に示すように、多角形Aと点Pが与え
られたとき、多角形Aを内包する長方形Dを多角形Aの
座標のx軸、y軸の最大値と最小値を利用して形成す
る。図11に示すフローチャートにおいては、先ず始め
に図形の埋め込まれたxy座標のx、y軸のそれぞれの
最大値と最小値によって形成される長方形に関して、予
め大小判定による内外判定を行い、その後、長方形の内
であるとした場合は、長方形内の点に対する多角形の内
外判定を行うこととなっている。 【0011】又、Postscriptリフアレンスマニュアル
第2版Adobe Systems 著:アドビシステムズジャパン監
訳、アスキー出版: 1991 には、ワインディング規則及
び奇偶規則による内点判定法が記載されている。ワイン
ディング規則は、判定しようとする点から或る方向に伸
びる半直線を引く。0から数え始めて、1つの方向に多
角形の辺がこの半直線と交差する毎に1を加える。そし
て、逆方向に多角形の辺が半直線と交差する毎に1を引
く。全ての交差をカウントした後、結果が0の場合に
は、その点は多角形の外側である。結果が0以外の場合
には、その点は多角形の内側である。 【0012】図12に示すように、奇偶規則では、単に
半直線と交差する多角形の辺の数をカウントすることに
よりその点が内部か否か判断する。この数が奇数である
場合には、点は内側にある。この数が偶数である場合に
は、点は外側にあるとする。 【0013】 【発明が解決使用とする課題】従来の技術である特許第
2595361号に記載された発明においては、一般の
多角形に対する内点判定は計算時間を非常に必要とする
ため、多角形を埋め込んだ長方形に対する予備的内点判
定を行っていた後に、もしも目的とする点が長方形外に
存在した場合は、該点が多角形の外部に存在していると
判定し、又、逆に長方形の内部に存在した場合は、計算
時間の掛かる多角形と点に対する内外判定を行ってい
た。 【0014】しかしながら、図10に示したような多角
形Aがxy軸に対して斜めの方向に延びている場合、対
応するx軸とy軸の最大値と最小値から形成される長方
形は広い面積を持つ。そのため、図11のフローチャー
トに沿った予備的な内点判定を行う長方形の面積が本来
求めたい多角形の面積に比較して非常に大きくなり、ラ
ンダムな点分布を考えた場合、予備的内点判定が十分機
能していないこととなる。つまり、予備的な内点判定を
行っても、次の詳細な内点判定の計算を非常に多くの場
合、行う必要が生じて高速化を図ることができない。 【0015】又、ワインディング規則や奇偶規則におい
ては、多角形の辺が半直線と一致する場合やその半直線
に接する場合にどうすべきかを指定しない。任意の半直
線を使用できることから、単にそのような問題のある交
差に出会わない別の直線を選ぶことにしているのみであ
る。従って、或る多角形に対して、多数の判定すべき点
を有する問題に関しては、判定点によっては何度も半直
線を取り直す必要が生じる可能性が高い。 【0016】本発明は上記問題に鑑みてなされたもの
で、その目的とする処は、折線閉多角形と或る点が与え
られたとき、判定点と閉多角形の位置関係に拘らず、判
定点が閉多角形内にあるか否かを判定することができる
内外点判定アルゴリズムを提供することにある。 【0017】 【課題を解決するための手段】上記目的を達成するた
め、本発明は、多角形Aの頂点の座標列と或る点Pの座
標が与えられたとき、第1に多角形Aの頂点のうちに点
Pと一致するものが存在する場合は、該点Pは多角形の
頂点上にあるとし、第2に点Pが多角形の頂点上にない
場合で、該多角形の何れかの辺上に点Pを含む場合は、
該点Pは多角形の辺上にあるとし、第3に点Pが多角形
の頂点上にも辺上にも存在しない場合、点Pから或る方
向に半直線PXを引き、初期値0の内外判定数Nを考
え、多角形Aの全ての辺に対して辺と半直線PXが共有
点を持たない場合はNの増減は0とし、半直線PXと交
差するとNに1を加え、多角形Aの或る辺の始点及び終
点の両方が半直線PX上にある場合は、Nの増減は0、
多角形Aの或る辺の始点或は終点の何れか一方が半直線
PX上にある場合は、始点或は終点が半直線PX上にあ
る辺を、該始点或は終点方向に延長した線分が一方向き
に半直線PXと交差するとNに0.5を加え、他方向き
に半直線PXと交差するとNに0.5を減じる演算を行
い、最終的にNが偶数ならば、点Pは多角形Aの外点で
あり、Nが奇数ならば、点Pは多角形Aの内点であると
することを特徴とする。 【0018】 【発明の実施の形態】以下に本発明の実施の形態を添付
図面に基づいて説明する。 【0019】図1に本発明の内外点判定アルゴリズムの
概要を示す。 【0020】多角形Aと判定点Pを考え、Ai Ai+1 を
多角形Aの辺の1つとする。図1(a)に示すように、
Ai 或はAi+1 が点Pと一致する場合は、該点Pは多角
形Aの頂点上にある。 【0021】次に、図1(b)に示すように、Ai 或は
Ai+1 は点Pと一致しないが、線分Ai Ai+1 上に点P
がある場合は、該点Pは多角形Aの辺上にある。更に、
点Pが多角形Aの頂点上にも辺上にも存在しない場合、
内外判定数Nを考える。多角形Aの全ての辺に対して、
その辺の始点及び終点を考慮し、或る辺の終点が次に続
く辺の始点となると考える。即ち、各辺を向きを持った
線分と考える。 【0022】更に、点Pからある半直線PXを引き、多
角形の全ての辺に対応する向きを持った線分と半直線P
Xとの位置関係によって、内外判定数Nを初期値0から
増減させ、最終的にNが0ならば、点Pは外点、Nが0
でなければ内点とする。 【0023】Nの増減の仕方を図1(c)に示す。即
ち、図中、A1 A2 、A3 A4 、A5A6 のように辺が
半直線PXと共有点を持たない場合は、Nの増減は0、
A7 A 8 、A9 A10のように線分と半直線が交差すると
きはNに1を加える。A11A12のように向き付き線分の
始点及び終点の両方が半直線PX上にある場合は、Nの
増減は0、更に線分の始点或は終点の一方のみが半直線
上にある場合、半直線PXを下から上に横切る場合を正
の方向と仮定した場合、A13A14、A15A16のように向
き付き線分の始点或は終点の一方が半直線PX上にあ
り、該向き付き線分と半直線PXの交差方向が正の向き
である場合はNに0.5を加え、逆にA17A 18、A19A
20のように向き付き線分の始点或は終点の一方が半直線
PX上にあり、該向き付き線分と半直線PXの交差方向
が負の向きである場合はNから0.5を減ずる。 【0024】以上の操作を多角形Aの全ての辺に対応す
る向き付けされた線分に対して行えば良い。尚、ここで
は、辺が半直線PXを下から上に横切る場合に正の方向
としたが、逆にこの交差方向を負の方向としても、内外
判定に影響しないことは明らかである。図2に上述のア
ルゴリズムをフローチャートにて示す。 【0025】以上説明した方法によって、或る多角形A
に対してどのような判定点P、半直線PXを考えても、
半直線PXを選び直すことなく必ずPの内外判定を行う
ことができる。 【0026】[実施例1]図3に実施例1を示す。三角
形ABCの各頂点の座標がA(1,3)、B(2,
1)、C(3,2)であるとき、点P(1,1)) が三
角形の内点であるか否かを判定する。 【0027】点Pを原点とする座標系では三角形ABC
の各頂点の座標はA(0,2)、B(1,0)、C
(2,1)となる。点Pを原点とする座標系のx軸の正
の部分を判定に用いる半直線と考え、三角形ABCの各
辺が交差するか否かを調べる。尚、始点或は終点の一方
のみが半直線上にある場合のNの増減の符号を決定する
ための方向付けは、上向きの交差をプラス、下向きの交
差をマイナスとした。 【0028】先ず、内外半定数Nを0とする。辺ABに
ついて、頂点Aのy座標は正であり、頂点Bのx座標は
正、y座標は0、従って、辺ABのx軸の正の部分との
交差は−0.5であるため、Nの値を0.5減ずる。辺
BCについて、頂点Cのy座標は正であり、頂点Bはx
軸上の正の領域にあるため、辺BCのx軸の正の部分と
の交差は+0.5であり、Nの値に0.5を加える。 【0029】辺CAについて、頂点Cと頂点Aのy座標
は共に正であるため、辺CAのx軸の正の部分との交差
は0であり、Nの増減はない。最終的にNの値は0で偶
数となる。従って、点Pは三角形ABCの外側にあると
判定される。 【0030】[実施例2]図4は実施例2を示す。三角
形ABCの各頂点の座標がA(1,3)、B(2,
1)、C(2,2)であるとき、点P(2,3)が三角
形の内点であるか否かを判定する。 【0031】点Pを原点とする座標系では三角形ABC
の各頂点の座標はA(−1,0)、B(0,−2)、C
(0,−1)となる。点Pを原点とする座標系のy軸の
負の部分を判定に用いる半直線とし、三角形ABCの各
辺が交差するか否かを調べる。尚、始点或は終点の一方
のみが半直線上にある場合のNの増減の符号を決定する
ための方向付けは、右向きの交差をプラス、左向きの交
差をマイナスとした。 【0032】先ず、内外判定数Nの初期値を0とする。
ABについて、頂点Aのx座標は負であり、頂点Bのx
座標は0、y座標は負、即ち、頂点Bはy軸上の負の領
域にある。従って、辺BCとy軸の負の部分との交差は
正方向であり、Nの値に0.5を加える。辺BCについ
て、頂点Cのx座標は0、y座標は負、即ち、頂点Bと
頂点Cは共にy軸上の負の領域にある。従って、辺BC
とy軸の負の部分との交差はなく、Nの増減はない。辺
CAについて、頂点Cはy軸上の負の領域にあり、頂点
Aのx座標は負であるため、辺CAとy軸の負の部分と
の交差は負方向であり、Nの値を0.5減ずる。 【0033】以上の結果から最終的にNの値は0、つま
り偶数であるため、点Pは三角形ABCの外側にあると
判定される。 【0034】[実施例3]図5は実施例3を示す。本実
施例では、22角形を考える。 【0035】今、判定点Pを原点、及び判定に用いる半
直線をx軸正の方向とする座標系で考える。図5中、2
2角形の22本の辺上には点Pは存在しないため、半直
線PXと各辺との位置関係から内外半定数Nを計算する
ことになる。具体的には、各頂点Ai x、y座標値、及
び各線分と半直線PXとの交点が存在する場合はそのx
座標値を求めることによりNの増減を決定するが、ここ
では、その計算の過程は説明しない。今、半直線PXを
下から交差する場合を正の向きとすると、各辺に対応す
るNの増減は次の通りとなる。 【0036】即ち、A1 A2 、A2 A3 、A3 A4 、A
4 A5 、A5 A6 、A8 A9 、A10A11、A13A14、A
15A16、A17A18、A19A20、A22A1 ではNの増減は
0、A6 A7 、A11A12、AA16A17、A21A22ではN
の値は1増加し、A14A15、A18A19ではNの値は0.
5増加し、A7 A8 、A9 A10、A12A13、A20A21で
はNの値は0.5減少する。全体では、N=1×4+
0.5×2−0.5×4=3で奇数であるため、点Pは
22角形の内点である。 【0037】[実施例4]本実施例は、2次元平面を図
8に示すように有限の要素に分割し、その分割された要
素中を運動する粒子の軌道を計算するシミュレーション
装置に関するものである。 【0038】本実施例の実現は図6に示したような計算
機内で行われる。図6において、61は計算機本体であ
り、CPU、メモリ、記憶媒体であるフロッピー(登録
商標)を読み込む装置65、CD−ROMを読み込む装
置66、ハードディスク67等を含んでいる。又、モニ
ター62やキーボード63やマウス64とケーブルを通
じて電気的に連結され、様々な制御を行ったり、又は行
われたりしている。 【0039】本発明の内外点判定方法は、実施例1〜3
で示したものであり、粒子の運動を計算する方法と共に
プログラムとして媒体68に書かれている。媒体68の
データを計算機61内部のメモリに展開し、実際の内外
点判定を計算機61内で行っている。 【0040】本実施例は、図8に示したような粒子の運
動についてのものである。図8において矢印が粒子の軌
跡を示している。要素を指定すると粒子に加わる力が一
意的に決まるとし、粒子は加わった力から或る運動方程
式を解いて次のステップの軌道を描いて運動するとして
いる。従って、本実施例の問題は、粒子の位置を決定し
た際に、その粒子がどの要素に属しているかを決定する
ことが重要なステップである。 【0041】図7に本実施例の荷電粒子の運動を本実施
例の荷電粒子の運動を計算するアルゴリズムを示す。 【0042】先ず、各要素は閉多角形で構成されている
こととする。ステップ21で開始したシミュレーション
はステップ22の前処理計算で、全ての要素に対して粒
子の力を予め計算することとする。ステップ23におい
て粒子の軌道計算が所望の結果を得て終了するか否かの
判断をする。計算を終えない場合はステップ24に進
み、どの要素に属するかの内外点判定を行う。或る要素
を指定すると仮定より粒子に加わる力が計算されるた
め、対応する力で軌道計算(ステップ25)を行い、点
の移動をステップ26で行い、ステップ23に進む。こ
のようにして、所望の結果を得るまで粒子の軌道を追っ
てゆけば良い。 【0043】尚、本実施例では、粒子の軌道シミュレー
ションを行う装置及びそのシミュレーションを行うプロ
グラムを記録した記録媒体について述べたが、本発明の
内外点判定アルゴリズムは、粒子の軌道シミュレーショ
ンに限って応用されるものではない。より汎用のグラフ
ィック処理装置においても使用可能である。 【0044】 【発明の効果】以上の説明で明らかなように、本発明に
よれば、多角形Aの頂点の座標列と或る点Pの座標が与
えられたとき、第1に多角形Aの頂点のうちに点Pと一
致するものが存在する場合は、該点Pは多角形の頂点上
にあるとし、第2に点Pが多角形の頂点上にない場合
で、該多角形の何れかの辺上に点Pを含む場合は、該点
Pは多角形の辺上にあるとし、第3に点Pが多角形の頂
点上にも辺上にも存在しない場合、点Pから或る方向に
半直線PXを引き、初期値0の内外判定数Nを考え、多
角形Aの全ての辺に対して辺と半直線PXが共有点を持
たない場合はNの増減は0とし、半直線PXと交差する
とNに1を加え、多角形Aの或る辺の始点及び終点の両
方が半直線PX上にある場合は、Nの増減は0、多角形
Aの或る辺の始点或は終点の何れか一方が半直線PX上
にある場合は、始点或は終点が半直線PX上にある辺
を、該始点或は終点方向に延長した線分が一方向きに半
直線PXと交差するとNに0.5を加え、他方向きに半
直線PXと交差するとNに0.5を減じる演算を行い、
最終的にNが偶数ならば、点Pは多角形Aの外点であ
り、Nが奇数ならば、点Pは多角形Aの内点であるとし
たため、折線閉多角形と或る点が与えられたとき、判定
点と閉多角形の位置関係に拘らず、判定点が閉多角形内
にあるか否かを判定することができるという効果が得ら
れる。
様々な応用分野、例えば数値シミュレーションの分野や
グラフィックの基本ツール群としてグラフィック描画装
置に応用することができる内外点判定アルゴリズムに関
する。 【0002】 【従来の技術】平面上に与えられた点が同一平面上の閉
曲線の内に存在するか否かという問題は、数学的興味か
ら古くから研究されてきた。現在では基本群と呼ばれる
トポロジーの言葉で最も厳密且つ抽象的に表現すること
が可能であるが、留数の定理に関連する解析的な問題で
もある。 【0003】与えられた平面に自然な複素座標を導入す
ることによって平面を複素平面と見なし、与えられた閉
曲線をΓとし、与えられた点をz0 とすると、関数f
(z)=1/(z−z0 )として次の一周積分: を計算することによって、与えられた点が平曲線の内点
か否かを判定することができる。つまり、留数の定理に
よると、この積分の値が零であれば、z0 は曲線の外に
存在し、零でなければ、即ち±2πiであれば、点は閉
曲線内の点であることが判明する。 【0004】デュドネ編「数学史1700-1900 I」(波書
店1985年発行)によると、留数の定理を発見したのはコ
ーシーのようである。1826年のSur un nouveau genre d
e calcul infinitesmal という題の論文(Exercices de
mathematiques)において、特異点の周りの無限小解析
を行うことにより留数の定理を発見したとある。コーシ
ーは、その後、長方形の周りでの複素函数の積分がその
内部の留数の総和であることを計算し、その後20年に
亘ってこの問題に深く関わったとある。この留数の計算
をもって幾何学と函数論とが結び付いたと言っても過言
ではない。つまり、解析的な関数の値の和(積分)によ
って純粋に幾何学的な事実が判明するのである。 【0005】実際の計算においては、閉曲線は任意のも
のではなく、区分的に直線で表されたものがより実用的
に重要である。つまり、多角形と点Pが与えられた際に
点Pが多角形の内部にあるか否かの判定をする場合が多
い。 【0006】このような与えられた点が図形の内点か否
かを判定する必要性は計算機の性能の発達と共に、近
年、非常に増加していると考えられる。近年のグラフィ
ック描画装置或はそれに関する基本的な問題において
は、マウス等で指示した点が与えられた図形の内点か否
かという判定を必要とする。又、モンテカルロ法等の数
値計算においては、多数の点が1つの多角形の内点か否
かを判断することが求められる。 【0007】上述の留数の定理に従った内外判定アルゴ
リズムは、多角形の各辺の終端の点Pから臨む角度を計
算し、その角度の総和が±2πであるか否かを調べる必
要がある。 【0008】しかしながら、角度の計算は超越関数であ
る逆3角関数を使うため、計算時間を多く必要とするも
のである。 【0009】特許第2595361号に記載の「折線か
ら成る図形の内外判定方法」においては、上述の留数の
定理に沿った内外判定を多くの場合使わないで内外判定
を行う方法が提案されている。この発明は、上述の留数
の定理を利用したものとx−y座標の特徴を利用した外
接する長方形での内外判定を組み合わせたものである。
計算時間を多く必要な留数の定理を利用した内外判定の
問題点を避けるために図11に示すようなフローチャー
トに従ったアルゴリズムが特許第2595361号に記
載の「折線から成る図形の内外判定方法」では提供され
ている。 【0010】図9に示すように、多角形Aと点Pが与え
られたとき、多角形Aを内包する長方形Dを多角形Aの
座標のx軸、y軸の最大値と最小値を利用して形成す
る。図11に示すフローチャートにおいては、先ず始め
に図形の埋め込まれたxy座標のx、y軸のそれぞれの
最大値と最小値によって形成される長方形に関して、予
め大小判定による内外判定を行い、その後、長方形の内
であるとした場合は、長方形内の点に対する多角形の内
外判定を行うこととなっている。 【0011】又、Postscriptリフアレンスマニュアル
第2版Adobe Systems 著:アドビシステムズジャパン監
訳、アスキー出版: 1991 には、ワインディング規則及
び奇偶規則による内点判定法が記載されている。ワイン
ディング規則は、判定しようとする点から或る方向に伸
びる半直線を引く。0から数え始めて、1つの方向に多
角形の辺がこの半直線と交差する毎に1を加える。そし
て、逆方向に多角形の辺が半直線と交差する毎に1を引
く。全ての交差をカウントした後、結果が0の場合に
は、その点は多角形の外側である。結果が0以外の場合
には、その点は多角形の内側である。 【0012】図12に示すように、奇偶規則では、単に
半直線と交差する多角形の辺の数をカウントすることに
よりその点が内部か否か判断する。この数が奇数である
場合には、点は内側にある。この数が偶数である場合に
は、点は外側にあるとする。 【0013】 【発明が解決使用とする課題】従来の技術である特許第
2595361号に記載された発明においては、一般の
多角形に対する内点判定は計算時間を非常に必要とする
ため、多角形を埋め込んだ長方形に対する予備的内点判
定を行っていた後に、もしも目的とする点が長方形外に
存在した場合は、該点が多角形の外部に存在していると
判定し、又、逆に長方形の内部に存在した場合は、計算
時間の掛かる多角形と点に対する内外判定を行ってい
た。 【0014】しかしながら、図10に示したような多角
形Aがxy軸に対して斜めの方向に延びている場合、対
応するx軸とy軸の最大値と最小値から形成される長方
形は広い面積を持つ。そのため、図11のフローチャー
トに沿った予備的な内点判定を行う長方形の面積が本来
求めたい多角形の面積に比較して非常に大きくなり、ラ
ンダムな点分布を考えた場合、予備的内点判定が十分機
能していないこととなる。つまり、予備的な内点判定を
行っても、次の詳細な内点判定の計算を非常に多くの場
合、行う必要が生じて高速化を図ることができない。 【0015】又、ワインディング規則や奇偶規則におい
ては、多角形の辺が半直線と一致する場合やその半直線
に接する場合にどうすべきかを指定しない。任意の半直
線を使用できることから、単にそのような問題のある交
差に出会わない別の直線を選ぶことにしているのみであ
る。従って、或る多角形に対して、多数の判定すべき点
を有する問題に関しては、判定点によっては何度も半直
線を取り直す必要が生じる可能性が高い。 【0016】本発明は上記問題に鑑みてなされたもの
で、その目的とする処は、折線閉多角形と或る点が与え
られたとき、判定点と閉多角形の位置関係に拘らず、判
定点が閉多角形内にあるか否かを判定することができる
内外点判定アルゴリズムを提供することにある。 【0017】 【課題を解決するための手段】上記目的を達成するた
め、本発明は、多角形Aの頂点の座標列と或る点Pの座
標が与えられたとき、第1に多角形Aの頂点のうちに点
Pと一致するものが存在する場合は、該点Pは多角形の
頂点上にあるとし、第2に点Pが多角形の頂点上にない
場合で、該多角形の何れかの辺上に点Pを含む場合は、
該点Pは多角形の辺上にあるとし、第3に点Pが多角形
の頂点上にも辺上にも存在しない場合、点Pから或る方
向に半直線PXを引き、初期値0の内外判定数Nを考
え、多角形Aの全ての辺に対して辺と半直線PXが共有
点を持たない場合はNの増減は0とし、半直線PXと交
差するとNに1を加え、多角形Aの或る辺の始点及び終
点の両方が半直線PX上にある場合は、Nの増減は0、
多角形Aの或る辺の始点或は終点の何れか一方が半直線
PX上にある場合は、始点或は終点が半直線PX上にあ
る辺を、該始点或は終点方向に延長した線分が一方向き
に半直線PXと交差するとNに0.5を加え、他方向き
に半直線PXと交差するとNに0.5を減じる演算を行
い、最終的にNが偶数ならば、点Pは多角形Aの外点で
あり、Nが奇数ならば、点Pは多角形Aの内点であると
することを特徴とする。 【0018】 【発明の実施の形態】以下に本発明の実施の形態を添付
図面に基づいて説明する。 【0019】図1に本発明の内外点判定アルゴリズムの
概要を示す。 【0020】多角形Aと判定点Pを考え、Ai Ai+1 を
多角形Aの辺の1つとする。図1(a)に示すように、
Ai 或はAi+1 が点Pと一致する場合は、該点Pは多角
形Aの頂点上にある。 【0021】次に、図1(b)に示すように、Ai 或は
Ai+1 は点Pと一致しないが、線分Ai Ai+1 上に点P
がある場合は、該点Pは多角形Aの辺上にある。更に、
点Pが多角形Aの頂点上にも辺上にも存在しない場合、
内外判定数Nを考える。多角形Aの全ての辺に対して、
その辺の始点及び終点を考慮し、或る辺の終点が次に続
く辺の始点となると考える。即ち、各辺を向きを持った
線分と考える。 【0022】更に、点Pからある半直線PXを引き、多
角形の全ての辺に対応する向きを持った線分と半直線P
Xとの位置関係によって、内外判定数Nを初期値0から
増減させ、最終的にNが0ならば、点Pは外点、Nが0
でなければ内点とする。 【0023】Nの増減の仕方を図1(c)に示す。即
ち、図中、A1 A2 、A3 A4 、A5A6 のように辺が
半直線PXと共有点を持たない場合は、Nの増減は0、
A7 A 8 、A9 A10のように線分と半直線が交差すると
きはNに1を加える。A11A12のように向き付き線分の
始点及び終点の両方が半直線PX上にある場合は、Nの
増減は0、更に線分の始点或は終点の一方のみが半直線
上にある場合、半直線PXを下から上に横切る場合を正
の方向と仮定した場合、A13A14、A15A16のように向
き付き線分の始点或は終点の一方が半直線PX上にあ
り、該向き付き線分と半直線PXの交差方向が正の向き
である場合はNに0.5を加え、逆にA17A 18、A19A
20のように向き付き線分の始点或は終点の一方が半直線
PX上にあり、該向き付き線分と半直線PXの交差方向
が負の向きである場合はNから0.5を減ずる。 【0024】以上の操作を多角形Aの全ての辺に対応す
る向き付けされた線分に対して行えば良い。尚、ここで
は、辺が半直線PXを下から上に横切る場合に正の方向
としたが、逆にこの交差方向を負の方向としても、内外
判定に影響しないことは明らかである。図2に上述のア
ルゴリズムをフローチャートにて示す。 【0025】以上説明した方法によって、或る多角形A
に対してどのような判定点P、半直線PXを考えても、
半直線PXを選び直すことなく必ずPの内外判定を行う
ことができる。 【0026】[実施例1]図3に実施例1を示す。三角
形ABCの各頂点の座標がA(1,3)、B(2,
1)、C(3,2)であるとき、点P(1,1)) が三
角形の内点であるか否かを判定する。 【0027】点Pを原点とする座標系では三角形ABC
の各頂点の座標はA(0,2)、B(1,0)、C
(2,1)となる。点Pを原点とする座標系のx軸の正
の部分を判定に用いる半直線と考え、三角形ABCの各
辺が交差するか否かを調べる。尚、始点或は終点の一方
のみが半直線上にある場合のNの増減の符号を決定する
ための方向付けは、上向きの交差をプラス、下向きの交
差をマイナスとした。 【0028】先ず、内外半定数Nを0とする。辺ABに
ついて、頂点Aのy座標は正であり、頂点Bのx座標は
正、y座標は0、従って、辺ABのx軸の正の部分との
交差は−0.5であるため、Nの値を0.5減ずる。辺
BCについて、頂点Cのy座標は正であり、頂点Bはx
軸上の正の領域にあるため、辺BCのx軸の正の部分と
の交差は+0.5であり、Nの値に0.5を加える。 【0029】辺CAについて、頂点Cと頂点Aのy座標
は共に正であるため、辺CAのx軸の正の部分との交差
は0であり、Nの増減はない。最終的にNの値は0で偶
数となる。従って、点Pは三角形ABCの外側にあると
判定される。 【0030】[実施例2]図4は実施例2を示す。三角
形ABCの各頂点の座標がA(1,3)、B(2,
1)、C(2,2)であるとき、点P(2,3)が三角
形の内点であるか否かを判定する。 【0031】点Pを原点とする座標系では三角形ABC
の各頂点の座標はA(−1,0)、B(0,−2)、C
(0,−1)となる。点Pを原点とする座標系のy軸の
負の部分を判定に用いる半直線とし、三角形ABCの各
辺が交差するか否かを調べる。尚、始点或は終点の一方
のみが半直線上にある場合のNの増減の符号を決定する
ための方向付けは、右向きの交差をプラス、左向きの交
差をマイナスとした。 【0032】先ず、内外判定数Nの初期値を0とする。
ABについて、頂点Aのx座標は負であり、頂点Bのx
座標は0、y座標は負、即ち、頂点Bはy軸上の負の領
域にある。従って、辺BCとy軸の負の部分との交差は
正方向であり、Nの値に0.5を加える。辺BCについ
て、頂点Cのx座標は0、y座標は負、即ち、頂点Bと
頂点Cは共にy軸上の負の領域にある。従って、辺BC
とy軸の負の部分との交差はなく、Nの増減はない。辺
CAについて、頂点Cはy軸上の負の領域にあり、頂点
Aのx座標は負であるため、辺CAとy軸の負の部分と
の交差は負方向であり、Nの値を0.5減ずる。 【0033】以上の結果から最終的にNの値は0、つま
り偶数であるため、点Pは三角形ABCの外側にあると
判定される。 【0034】[実施例3]図5は実施例3を示す。本実
施例では、22角形を考える。 【0035】今、判定点Pを原点、及び判定に用いる半
直線をx軸正の方向とする座標系で考える。図5中、2
2角形の22本の辺上には点Pは存在しないため、半直
線PXと各辺との位置関係から内外半定数Nを計算する
ことになる。具体的には、各頂点Ai x、y座標値、及
び各線分と半直線PXとの交点が存在する場合はそのx
座標値を求めることによりNの増減を決定するが、ここ
では、その計算の過程は説明しない。今、半直線PXを
下から交差する場合を正の向きとすると、各辺に対応す
るNの増減は次の通りとなる。 【0036】即ち、A1 A2 、A2 A3 、A3 A4 、A
4 A5 、A5 A6 、A8 A9 、A10A11、A13A14、A
15A16、A17A18、A19A20、A22A1 ではNの増減は
0、A6 A7 、A11A12、AA16A17、A21A22ではN
の値は1増加し、A14A15、A18A19ではNの値は0.
5増加し、A7 A8 、A9 A10、A12A13、A20A21で
はNの値は0.5減少する。全体では、N=1×4+
0.5×2−0.5×4=3で奇数であるため、点Pは
22角形の内点である。 【0037】[実施例4]本実施例は、2次元平面を図
8に示すように有限の要素に分割し、その分割された要
素中を運動する粒子の軌道を計算するシミュレーション
装置に関するものである。 【0038】本実施例の実現は図6に示したような計算
機内で行われる。図6において、61は計算機本体であ
り、CPU、メモリ、記憶媒体であるフロッピー(登録
商標)を読み込む装置65、CD−ROMを読み込む装
置66、ハードディスク67等を含んでいる。又、モニ
ター62やキーボード63やマウス64とケーブルを通
じて電気的に連結され、様々な制御を行ったり、又は行
われたりしている。 【0039】本発明の内外点判定方法は、実施例1〜3
で示したものであり、粒子の運動を計算する方法と共に
プログラムとして媒体68に書かれている。媒体68の
データを計算機61内部のメモリに展開し、実際の内外
点判定を計算機61内で行っている。 【0040】本実施例は、図8に示したような粒子の運
動についてのものである。図8において矢印が粒子の軌
跡を示している。要素を指定すると粒子に加わる力が一
意的に決まるとし、粒子は加わった力から或る運動方程
式を解いて次のステップの軌道を描いて運動するとして
いる。従って、本実施例の問題は、粒子の位置を決定し
た際に、その粒子がどの要素に属しているかを決定する
ことが重要なステップである。 【0041】図7に本実施例の荷電粒子の運動を本実施
例の荷電粒子の運動を計算するアルゴリズムを示す。 【0042】先ず、各要素は閉多角形で構成されている
こととする。ステップ21で開始したシミュレーション
はステップ22の前処理計算で、全ての要素に対して粒
子の力を予め計算することとする。ステップ23におい
て粒子の軌道計算が所望の結果を得て終了するか否かの
判断をする。計算を終えない場合はステップ24に進
み、どの要素に属するかの内外点判定を行う。或る要素
を指定すると仮定より粒子に加わる力が計算されるた
め、対応する力で軌道計算(ステップ25)を行い、点
の移動をステップ26で行い、ステップ23に進む。こ
のようにして、所望の結果を得るまで粒子の軌道を追っ
てゆけば良い。 【0043】尚、本実施例では、粒子の軌道シミュレー
ションを行う装置及びそのシミュレーションを行うプロ
グラムを記録した記録媒体について述べたが、本発明の
内外点判定アルゴリズムは、粒子の軌道シミュレーショ
ンに限って応用されるものではない。より汎用のグラフ
ィック処理装置においても使用可能である。 【0044】 【発明の効果】以上の説明で明らかなように、本発明に
よれば、多角形Aの頂点の座標列と或る点Pの座標が与
えられたとき、第1に多角形Aの頂点のうちに点Pと一
致するものが存在する場合は、該点Pは多角形の頂点上
にあるとし、第2に点Pが多角形の頂点上にない場合
で、該多角形の何れかの辺上に点Pを含む場合は、該点
Pは多角形の辺上にあるとし、第3に点Pが多角形の頂
点上にも辺上にも存在しない場合、点Pから或る方向に
半直線PXを引き、初期値0の内外判定数Nを考え、多
角形Aの全ての辺に対して辺と半直線PXが共有点を持
たない場合はNの増減は0とし、半直線PXと交差する
とNに1を加え、多角形Aの或る辺の始点及び終点の両
方が半直線PX上にある場合は、Nの増減は0、多角形
Aの或る辺の始点或は終点の何れか一方が半直線PX上
にある場合は、始点或は終点が半直線PX上にある辺
を、該始点或は終点方向に延長した線分が一方向きに半
直線PXと交差するとNに0.5を加え、他方向きに半
直線PXと交差するとNに0.5を減じる演算を行い、
最終的にNが偶数ならば、点Pは多角形Aの外点であ
り、Nが奇数ならば、点Pは多角形Aの内点であるとし
たため、折線閉多角形と或る点が与えられたとき、判定
点と閉多角形の位置関係に拘らず、判定点が閉多角形内
にあるか否かを判定することができるという効果が得ら
れる。
【図面の簡単な説明】
【図1】本発明のアルゴリズムの説明図である。
【図2】本発明のアルゴリズムのフローチャートであ
る。 【図3】本発明の実施例1の説明図である。 【図4】本発明の実施例2の説明図である。 【図5】本発明の実施例3の説明図である。 【図6】本発明の実施例4のシミュレーション装置及び
記録媒体を示す図である。 【図7】本発明の実施例4の粒子の運動のシミュレーシ
ョンのフローチャートである。 【図8】本発明の実施例4の粒子の運動のシミュレーシ
ョンの説明図である。 【図9】従来の内外点判定アルゴリズムの説明図であ
る。 【図10】従来の内外点判定を示す図である。 【図11】従来の内点判定アルゴリズムのフローチャー
トである。 【図12】従来の奇遇規則の説明図である。 【符号の説明】 A 与えられた多角形 P 与えられた点 61 計算機本体 62 モニタ 63 キーボード 64 マウス 65 記録媒体であるフロッピーを読み込む装置 66 記録媒体であるCD−ROMを読み込む装置 67 ハードディスク 68 記録媒体
る。 【図3】本発明の実施例1の説明図である。 【図4】本発明の実施例2の説明図である。 【図5】本発明の実施例3の説明図である。 【図6】本発明の実施例4のシミュレーション装置及び
記録媒体を示す図である。 【図7】本発明の実施例4の粒子の運動のシミュレーシ
ョンのフローチャートである。 【図8】本発明の実施例4の粒子の運動のシミュレーシ
ョンの説明図である。 【図9】従来の内外点判定アルゴリズムの説明図であ
る。 【図10】従来の内外点判定を示す図である。 【図11】従来の内点判定アルゴリズムのフローチャー
トである。 【図12】従来の奇遇規則の説明図である。 【符号の説明】 A 与えられた多角形 P 与えられた点 61 計算機本体 62 モニタ 63 キーボード 64 マウス 65 記録媒体であるフロッピーを読み込む装置 66 記録媒体であるCD−ROMを読み込む装置 67 ハードディスク 68 記録媒体
Claims (1)
- 【特許請求の範囲】 【請求項1】 多角形Aの頂点の座標列と或る点Pの座
標が与えられたとき、第1に多角形Aの頂点のうちに点
Pと一致するものが存在する場合は、該点Pは多角形の
頂点上にあるとし、第2に点Pが多角形の頂点上にない
場合で、該多角形の何れかの辺上に点Pを含む場合は、
該点Pは多角形の辺上にあるとし、第3に点Pが多角形
の頂点上にも辺上にも存在しない場合、点Pから或る方
向に半直線PXを引き、初期値0の内外判定数Nを考
え、多角形Aの全ての辺に対して辺と半直線PXが共有
点を持たない場合はNの増減は0とし、半直線PXと交
差するとNに1を加え、多角形Aの或る辺の始点及び終
点の両方が半直線PX上にある場合は、Nの増減は0、
多角形Aの或る辺の始点或は終点の何れか一方が半直線
PX上にある場合は、始点或は終点が半直線PX上にあ
る辺を、該始点或は終点方向に延長した線分が一方向き
に半直線PXと交差するとNに0.5を加え、他方向き
に半直線PXと交差するとNに0.5を減じる演算を行
い、最終的にNが偶数ならば、点Pは多角形Aの外点で
あり、Nが奇数ならば、点Pは多角形Aの内点であると
することを特徴とする内外点判定アルゴリズム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001280180A JP2003085569A (ja) | 2001-09-14 | 2001-09-14 | 内外点判定アルゴリズム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001280180A JP2003085569A (ja) | 2001-09-14 | 2001-09-14 | 内外点判定アルゴリズム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003085569A true JP2003085569A (ja) | 2003-03-20 |
Family
ID=19104225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001280180A Withdrawn JP2003085569A (ja) | 2001-09-14 | 2001-09-14 | 内外点判定アルゴリズム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003085569A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011108113A (ja) * | 2009-11-19 | 2011-06-02 | Sumitomo Rubber Ind Ltd | 任意の実数群から探索点の最近傍値を探索する方法 |
JP2011215823A (ja) * | 2010-03-31 | 2011-10-27 | Sumitomo Rubber Ind Ltd | 流体シミュレーションにおける境界位置決定方法 |
JP2012088902A (ja) * | 2010-10-19 | 2012-05-10 | Fujitsu Advanced Engineering Ltd | 位置関係判定装置、位置関係判定方法、および位置関係判定プログラム |
WO2016009465A1 (ja) * | 2014-07-17 | 2016-01-21 | 日本電気株式会社 | 空域情報処理装置、空域情報処理方法、空域情報処理プログラムが格納された非一時的なコンピュータ可読媒体 |
CN107705311A (zh) * | 2017-08-16 | 2018-02-16 | 歌尔科技有限公司 | 图像轮廓的内外识别方法及设备 |
CN112509031A (zh) * | 2020-12-02 | 2021-03-16 | 湖北工业大学 | 一种位置判定方法 |
US20240087463A1 (en) * | 2022-09-09 | 2024-03-14 | The Boeing Company | Identifying an object in an area of interest |
-
2001
- 2001-09-14 JP JP2001280180A patent/JP2003085569A/ja not_active Withdrawn
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011108113A (ja) * | 2009-11-19 | 2011-06-02 | Sumitomo Rubber Ind Ltd | 任意の実数群から探索点の最近傍値を探索する方法 |
JP2011215823A (ja) * | 2010-03-31 | 2011-10-27 | Sumitomo Rubber Ind Ltd | 流体シミュレーションにおける境界位置決定方法 |
JP2012088902A (ja) * | 2010-10-19 | 2012-05-10 | Fujitsu Advanced Engineering Ltd | 位置関係判定装置、位置関係判定方法、および位置関係判定プログラム |
WO2016009465A1 (ja) * | 2014-07-17 | 2016-01-21 | 日本電気株式会社 | 空域情報処理装置、空域情報処理方法、空域情報処理プログラムが格納された非一時的なコンピュータ可読媒体 |
JPWO2016009465A1 (ja) * | 2014-07-17 | 2017-07-13 | 日本電気株式会社 | 空域情報処理装置、空域情報処理方法、空域情報処理プログラム |
CN107705311A (zh) * | 2017-08-16 | 2018-02-16 | 歌尔科技有限公司 | 图像轮廓的内外识别方法及设备 |
CN107705311B (zh) * | 2017-08-16 | 2020-10-09 | 歌尔科技有限公司 | 图像轮廓的内外识别方法及设备 |
CN112509031A (zh) * | 2020-12-02 | 2021-03-16 | 湖北工业大学 | 一种位置判定方法 |
CN112509031B (zh) * | 2020-12-02 | 2022-08-16 | 湖北工业大学 | 一种位置判定方法 |
US20240087463A1 (en) * | 2022-09-09 | 2024-03-14 | The Boeing Company | Identifying an object in an area of interest |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6787661B2 (ja) | 工作物の機械加工のシミュレート | |
Pudney | Distance-ordered homotopic thinning: a skeletonization algorithm for 3D digital images | |
US20120232848A1 (en) | Method for creating finite element model of rubber composite | |
CN113724401B (zh) | 一种三维模型切割方法、装置、计算机设备和存储介质 | |
CN110598331B (zh) | 一种屋顶建模的方法和装置 | |
JP2021131848A (ja) | 3dモデリングにおける没入型ジェスチャを用いたエッジの選択 | |
Kry et al. | Continuous contact simulation for smooth surfaces | |
KR20150073859A (ko) | Cad 기반 초기 표면 기하형상 정정 | |
JP2003085569A (ja) | 内外点判定アルゴリズム | |
CN104240290A (zh) | 一种基于包围球模型的三维电缆相交检测方法 | |
Veron et al. | Shape preserving polyhedral simplification with bounded error | |
JPH0962850A (ja) | 線対称図形整形装置及び任意の数の対称軸の全てについて線対称な図形を生成する方法 | |
KR101811135B1 (ko) | 최적 정밀도 결정을 통한 모델 단순화 장치 및 방법 | |
JP2006334684A (ja) | 面沿い加工工具経路決定方法、面沿い加工工具経路決定プログラム、面沿い加工工具経路決定装置 | |
Holmström et al. | Rounding facility for solid modelling of mechanical parts | |
JP6915237B2 (ja) | 情報処理装置、シミュレータ結果表示方法、及びシミュレータ結果表示プログラム | |
JP2003085577A (ja) | 内外点判定アルゴリズム | |
CN113590002A (zh) | 笔迹形成方法、笔迹形成装置及电子设备 | |
Ye et al. | An improved algorithm for triangle to triangle intersection test | |
JP4710029B2 (ja) | 幾何図形データ処理装置、幾何図形データ処理方法及び幾何図形データ処理プログラム | |
US7091969B2 (en) | Frontier advancing polygonization | |
JP4675129B2 (ja) | 3次元形状処理装置、3次元形状処理方法、プログラムおよび記録媒体 | |
Mäkinen | Line-segment insertion in constrained triangulations with applications in path-planning | |
JP2004030135A (ja) | Cadシステムにおける円の一部の描画方法及びプログラム | |
JP3679436B2 (ja) | 3次元上領域における領域内外の点の抽出方法及び装置、及び同一曲線上の点の並び順判定方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060201 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20081202 |