|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--jp.go.ipa.jgcl.JgclGeometry | +--jp.go.ipa.jgcl.JgclCartesianTransformationOperator | +--jp.go.ipa.jgcl.JgclCartesianTransformationOperator2D
2次元 : 幾何的な変換を行なう演算子を表すクラス。
幾何的な変換は、平行移動、回転移動、ミラーリング、均一なスケーリング で構成される。 この変換では、変換前と変換後で任意の二点間の距離の比は一定である。
まず、単位化された二つのベクトル U1, U2 が、各列を定義する直交行列 T を考える。
U1, U2 は互いに直交するベクトルである。
これらの単位ベクトルは、方向ベクトル axis1, axis2 より
JgclGeometrySchemaFunction.baseAxis
(axis1, axis2) で計算される。
T の行列式が -1 の場合には、T をその構成要素として含む変換はミラーリングを含む。
幾何的な変換は、T に加えて、
平行移動の量を決める局所的な原点 A (localOrigin)
および スケーリングの量を決める値 S
で定義される。
以下の記述で、A.b は点 (あるいはベクトル) A の b 成分を表す。
点 P の変換は、変換後の点を Q として、以下で定義される。
Q.x = A.x + S * (P.x * U1.x + P.y * U2.x) Q.y = A.y + S * (P.x * U1.y + P.y * U2.y)
ベクトル V の変換は、変換後のベクトルを W として、以下で定義される。
W.x = S * (V.x * U1.x + V.y * U2.x) W.y = S * (V.x * U1.y + V.y * U2.y)
長さ L の変換は、変換後の長さを M として、以下で定義される。
M = S * L
JgclCartesianTransformationOperator3D
, 直列化された形式コンストラクタの概要 | |
JgclCartesianTransformationOperator2D(JgclAxis2Placement2D position,
double scale)
局所座標系 (配置情報) から大域的な座標系への変換を表すオブジェクトを構築する。 |
|
JgclCartesianTransformationOperator2D(JgclVector2D axis1,
JgclVector2D axis2,
JgclPoint2D localOrigin,
double scale)
各フィールドの値を直接指定して、オブジェクトを構築する。 |
メソッドの概要 | |
JgclVector2D |
axis1()
この演算子の変換の第一軸 U1 を規定するベクトルを返す。 |
JgclVector2D |
axis2()
この演算子の変換の第二軸 U2 を規定するベクトルを返す。 |
int |
dimension()
この演算子の次元を返す。 |
JgclPoint2D |
localOrigin()
この演算子の平行移動の量を規定する局所的な原点を返す。 |
protected void |
output(java.io.PrintWriter writer,
int indent)
出力ストリームに形状情報を出力する。 |
JgclParametricCurve2D |
reverseTransform(JgclParametricCurve2D curve,
java.util.Hashtable transformedGeometries)
与えられた曲線をこの演算子で逆変換する。 |
JgclPoint2D |
reverseTransform(JgclPoint2D point)
与えられた点をこの演算子で逆変換する。 |
JgclPoint2D |
reverseTransform(JgclPoint2D point,
java.util.Hashtable transformedGeometries)
与えられた点をこの演算子で逆変換する。 |
JgclVector2D |
reverseTransform(JgclVector2D vector)
与えられたベクトルをこの演算子で逆変換する。 |
JgclVector2D |
reverseTransform(JgclVector2D vector,
java.util.Hashtable transformedGeometries)
与えられたベクトルをこの演算子で逆変換する。 |
JgclParametricCurve2D |
toEnclosed(JgclParametricCurve2D curve,
java.util.Hashtable transformedGeometries)
transform(JgclParametricCurve2D, java.util.Hashtable) の別名メソッド。
|
JgclPoint2D |
toEnclosed(JgclPoint2D point)
transform(JgclPoint2D) の別名メソッド。
|
JgclPoint2D |
toEnclosed(JgclPoint2D point,
java.util.Hashtable transformedGeometries)
transform(JgclPoint2D, java.util.Hashtable) の別名メソッド。
|
JgclVector2D |
toEnclosed(JgclVector2D vector)
transform(JgclVector2D) の別名メソッド。
|
JgclVector2D |
toEnclosed(JgclVector2D vector,
java.util.Hashtable transformedGeometries)
transform(JgclVector2D, java.util.Hashtable) の別名メソッド。
|
JgclParametricCurve2D |
toLocal(JgclParametricCurve2D curve,
java.util.Hashtable transformedGeometries)
reverseTransform(JgclParametricCurve2D, java.util.Hashtable) の別名メソッド。
|
JgclPoint2D |
toLocal(JgclPoint2D point)
reverseTransform(JgclPoint2D) の別名メソッド。
|
JgclPoint2D |
toLocal(JgclPoint2D point,
java.util.Hashtable transformedGeometries)
reverseTransform(JgclPoint2D, java.util.Hashtable) の別名メソッド。
|
JgclVector2D |
toLocal(JgclVector2D vector)
reverseTransform(JgclVector2D) の別名メソッド。
|
JgclVector2D |
toLocal(JgclVector2D vector,
java.util.Hashtable transformedGeometries)
reverseTransform(JgclVector2D, java.util.Hashtable) の別名メソッド。
|
JgclParametricCurve2D |
transform(JgclParametricCurve2D curve,
java.util.Hashtable transformedGeometries)
与えられた曲線をこの演算子で変換する。 |
JgclPoint2D |
transform(JgclPoint2D point)
与えられた点をこの演算子で変換する。 |
JgclPoint2D |
transform(JgclPoint2D point,
java.util.Hashtable transformedGeometries)
与えられた点をこの演算子で変換する。 |
JgclVector2D |
transform(JgclVector2D vector)
与えられたベクトルをこの演算子で変換する。 |
JgclVector2D |
transform(JgclVector2D vector,
java.util.Hashtable transformedGeometries)
与えられたベクトルをこの演算子で変換する。 |
JgclVector2D[] |
u()
この演算子の変換の軸となる単位ベクトル U1, U2 を返す。 |
JgclVector2D |
u1()
この演算子の変換の第一軸となる単位ベクトル U1 を返す。 |
JgclVector2D |
u2()
この演算子の変換の第二軸となる単位ベクトル U2 を返す。 |
クラス jp.go.ipa.jgcl.JgclCartesianTransformationOperator から継承したメソッド |
isTransformationOperator, reverseTransform, scale, transform |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
public JgclCartesianTransformationOperator2D(JgclVector2D axis1, JgclVector2D axis2, JgclPoint2D localOrigin, double scale)
axis1 は null でも構わない。
axis2 は null でも構わない。
localOgirin が null の場合には JgclInvalidArgumentValue の例外を発生する。
scale の値は正でなければならない。 scale の値が、現在設定されている演算条件の 距離の許容誤差以下の場合には JgclInvalidArgumentValue の例外を発生する。
axis1
- 変換の第一軸 U1 を規定するベクトルaxis2
- 変換の第二軸 U2 を規定するベクトルlocalOrigin
- 平行移動の量を決める局所的な原点 Ascale
- スケーリング量を決める値 SJgclInvalidArgumentValue
public JgclCartesianTransformationOperator2D(JgclAxis2Placement2D position, double scale)
position の原点/X 軸/Y軸をそれぞれ localOrigin/axis1/axis2 とする。
position が null の場合には JgclInvalidArgumentValue の例外を発生する。
scale の値は正でなければならない。 scale の値が、現在設定されている演算条件の 距離の許容誤差以下の場合には JgclInvalidArgumentValue の例外を発生する。
position
- 局所座標系 (配置情報)scale
- スケーリング値JgclInvalidArgumentValue
メソッドの詳細 |
public int dimension()
常に 2 を返す。
JgclGeometry
内の dimension
public JgclVector2D axis1()
public JgclVector2D axis2()
public JgclPoint2D localOrigin()
public JgclVector2D u1()
public JgclVector2D u2()
public JgclVector2D[] u()
結果として返る配列の要素数は 2 で、 最初の要素は U1、二番目の要素は U2 を含む。
public JgclVector2D transform(JgclVector2D vector)
vector
- ベクトルpublic JgclPoint2D transform(JgclPoint2D point)
point
- 点public JgclVector2D transform(JgclVector2D vector, java.util.Hashtable transformedGeometries)
transformedGeometries は、 変換前の幾何要素をキーとし、 変換後の幾何要素を値とするハッシュテーブルである。
vector が transformedGeometries 内にキーとして存在しない場合には、 vector を transformationOperator で変換したものを返す。 この際にメソッド内部では vector をキー、 変換結果を値として transformedGeometries に追加する。
vector が transformedGeometries 内に既にキーとして存在する場合には、 実際の変換は行なわず、そのキーに対応する値を返す。 この処理は再帰的に行なわれる。
transformedGeometries は null でも構わない。 transformedGeometries は null の場合には、 常に vector を transformationOperator で変換したものを返す。
vector
- ベクトルtransformedGeometries
- 既に同様の変換を施した幾何要素を含むハッシュテーブルpublic JgclPoint2D transform(JgclPoint2D point, java.util.Hashtable transformedGeometries)
transformedGeometries は、 変換前の幾何要素をキーとし、 変換後の幾何要素を値とするハッシュテーブルである。
point が transformedGeometries 内にキーとして存在しない場合には、 point を transformationOperator で変換したものを返す。 この際にメソッド内部では point をキー、 変換結果を値として transformedGeometries に追加する。
point が transformedGeometries 内に既にキーとして存在する場合には、 実際の変換は行なわず、そのキーに対応する値を返す。 この処理は再帰的に行なわれる。
transformedGeometries は null でも構わない。 transformedGeometries は null の場合には、 常に point を transformationOperator で変換したものを返す。
point
- 点transformedGeometries
- 既に同様の変換を施した幾何要素を含むハッシュテーブルpublic JgclParametricCurve2D transform(JgclParametricCurve2D curve, java.util.Hashtable transformedGeometries)
transformedGeometries は、 変換前の幾何要素をキーとし、 変換後の幾何要素を値とするハッシュテーブルである。
curve が transformedGeometries 内にキーとして存在しない場合には、 curve を transformationOperator で変換したものを返す。 この際にメソッド内部では curve をキー、 変換結果を値として transformedGeometries に追加する。
curve が transformedGeometries 内に既にキーとして存在する場合には、 実際の変換は行なわず、そのキーに対応する値を返す。 この処理は再帰的に行なわれる。
transformedGeometries は null でも構わない。 transformedGeometries は null の場合には、 常に curve を transformationOperator で変換したものを返す。
curve
- 曲線transformedGeometries
- 既に同様の変換を施した幾何要素を含むハッシュテーブルpublic JgclVector2D reverseTransform(JgclVector2D vector)
vector
- ベクトルpublic JgclPoint2D reverseTransform(JgclPoint2D point)
point
- 点public JgclVector2D reverseTransform(JgclVector2D vector, java.util.Hashtable transformedGeometries)
transformedGeometries は、 変換前の幾何要素をキーとし、 変換後の幾何要素を値とするハッシュテーブルである。
vector が transformedGeometries 内にキーとして存在しない場合には、 vector を transformationOperator で逆変換したものを返す。 この際にメソッド内部では vector をキー、 変換結果を値として transformedGeometries に追加する。
vector が transformedGeometries 内に既にキーとして存在する場合には、 実際の変換は行なわず、そのキーに対応する値を返す。 この処理は再帰的に行なわれる。
transformedGeometries は null でも構わない。 transformedGeometries は null の場合には、 常に vector を transformationOperator で逆変換したものを返す。
vector
- ベクトルtransformedGeometries
- 既に同様の変換を施した幾何要素を含むハッシュテーブルpublic JgclPoint2D reverseTransform(JgclPoint2D point, java.util.Hashtable transformedGeometries)
transformedGeometries は、 変換前の幾何要素をキーとし、 変換後の幾何要素を値とするハッシュテーブルである。
point が transformedGeometries 内にキーとして存在しない場合には、 point を transformationOperator で逆変換したものを返す。 この際にメソッド内部では point をキー、 変換結果を値として transformedGeometries に追加する。
point が transformedGeometries 内に既にキーとして存在する場合には、 実際の変換は行なわず、そのキーに対応する値を返す。 この処理は再帰的に行なわれる。
transformedGeometries は null でも構わない。 transformedGeometries は null の場合には、 常に point を transformationOperator で逆変換したものを返す。
point
- 点transformedGeometries
- 既に同様の変換を施した幾何要素を含むハッシュテーブルpublic JgclParametricCurve2D reverseTransform(JgclParametricCurve2D curve, java.util.Hashtable transformedGeometries)
transformedGeometries は、 変換前の幾何要素をキーとし、 変換後の幾何要素を値とするハッシュテーブルである。
curve が transformedGeometries 内にキーとして存在しない場合には、 curve を transformationOperator で逆変換したものを返す。 この際にメソッド内部では curve をキー、 変換結果を値として transformedGeometries に追加する。
curve が transformedGeometries 内に既にキーとして存在する場合には、 実際の変換は行なわず、そのキーに対応する値を返す。 この処理は再帰的に行なわれる。
transformedGeometries は null でも構わない。 transformedGeometries は null の場合には、 常に curve を transformationOperator で逆変換したものを返す。
curve
- 曲線transformedGeometries
- 既に同様の変換を施した幾何要素を含むハッシュテーブルpublic JgclVector2D toEnclosed(JgclVector2D vector)
transform(JgclVector2D)
の別名メソッド。
local座標 -> enclosed (global) 座標の変換であることをわかりやすくした。
vector
- ベクトルpublic JgclPoint2D toEnclosed(JgclPoint2D point)
transform(JgclPoint2D)
の別名メソッド。
local座標 -> enclosed (global) 座標の変換であることをわかりやすくした。
point
- 点public JgclVector2D toEnclosed(JgclVector2D vector, java.util.Hashtable transformedGeometries)
transform(JgclVector2D, java.util.Hashtable)
の別名メソッド。
local座標 -> enclosed (global) 座標の変換であることをわかりやすくした。
vector
- ベクトルtransformedGeometries
- 既に同様の変換を施した幾何要素を含むハッシュテーブルpublic JgclPoint2D toEnclosed(JgclPoint2D point, java.util.Hashtable transformedGeometries)
transform(JgclPoint2D, java.util.Hashtable)
の別名メソッド。
local座標 -> enclosed (global) 座標の変換であることをわかりやすくした。
point
- 点transformedGeometries
- 既に同様の変換を施した幾何要素を含むハッシュテーブルpublic JgclParametricCurve2D toEnclosed(JgclParametricCurve2D curve, java.util.Hashtable transformedGeometries)
transform(JgclParametricCurve2D, java.util.Hashtable)
の別名メソッド。
local座標 -> enclosed (global) 座標の変換であることをわかりやすくした。
curve
- 曲線transformedGeometries
- 既に同様の変換を施した幾何要素を含むハッシュテーブルpublic JgclVector2D toLocal(JgclVector2D vector)
reverseTransform(JgclVector2D)
の別名メソッド。
enclosed (global) 座標 -> local座標の変換であることをわかりやすくした。
vector
- ベクトルpublic JgclPoint2D toLocal(JgclPoint2D point)
reverseTransform(JgclPoint2D)
の別名メソッド。
enclosed (global) 座標 -> local 座標の変換であることをわかりやすくした。
point
- 点public JgclVector2D toLocal(JgclVector2D vector, java.util.Hashtable transformedGeometries)
reverseTransform(JgclVector2D, java.util.Hashtable)
の別名メソッド。
enclosed (global) 座標 -> local 座標の変換であることをわかりやすくした。
vector
- ベクトルtransformedGeometries
- 既に同様の変換を施した幾何要素を含むハッシュテーブルpublic JgclPoint2D toLocal(JgclPoint2D point, java.util.Hashtable transformedGeometries)
reverseTransform(JgclPoint2D, java.util.Hashtable)
の別名メソッド。
enclosed (global) 座標 -> local 座標の変換であることをわかりやすくした。
point
- 点transformedGeometries
- 既に同様の変換を施した幾何要素を含むハッシュテーブルpublic JgclParametricCurve2D toLocal(JgclParametricCurve2D curve, java.util.Hashtable transformedGeometries)
reverseTransform(JgclParametricCurve2D, java.util.Hashtable)
の別名メソッド。
enclosed (global) 座標 -> local 座標の変換であることをわかりやすくした。
curve
- 曲線transformedGeometries
- 既に同様の変換を施した幾何要素を含むハッシュテーブルprotected void output(java.io.PrintWriter writer, int indent)
JgclGeometry
内の output
writer
- PrintWriterindent
- インデントの深さJgclGeometry
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |