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