|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--jp.go.ipa.jgcl.JgclGeometry | +--jp.go.ipa.jgcl.JgclVector | +--jp.go.ipa.jgcl.JgclVector3D
3次元のベクトルを表す抽象クラス。
JgclPoint3D
, 直列化された形式フィールドの概要 | |
static JgclVector3D |
xUnitVector
3次元のグローバルな直交座標系の X 軸方向の単位ベクトル。 |
static JgclVector3D |
yUnitVector
3次元のグローバルな直交座標系の Y 軸方向の単位ベクトル。 |
static JgclVector3D |
zeroVector
3次元のゼロベクトル。 |
static JgclVector3D |
zUnitVector
3次元のグローバルな直交座標系の Z 軸方向の単位ベクトル。 |
コンストラクタの概要 | |
protected |
JgclVector3D()
オブジェクトを構築する。 |
protected |
JgclVector3D(boolean confirmedAsUnitized)
オブジェクトを構築する。 |
メソッドの概要 | |
JgclVector3D |
add(JgclVector3D mate)
ベクトル同士の和を返す。 |
double |
angleWith(JgclVector3D mate,
JgclVector3D norm)
他のベクトルとの角度 (ラジアン) を求める。 |
JgclVector3D |
crossProduct(JgclVector3D mate)
外積を返す。 |
int |
dimension()
次元を返す。 |
JgclVector3D |
divide(double scale)
与えられたスケールで割ったベクトルを返す。 |
double |
dotProduct(JgclVector3D mate)
内積を返す。 |
protected abstract JgclVector3D |
doTransformBy(boolean reverseTransform,
JgclCartesianTransformationOperator3D transformationOperator,
java.util.Hashtable transformedGeometries)
このベクトルを、与えられた幾何的変換演算子で変換する。 |
boolean |
identical(JgclVector3D mate)
二ベクトルの同一性を判定する。 |
boolean |
identicalDirection(JgclVector3D mate)
二ベクトルの同一方向性を判定する。 |
boolean |
is3D()
3次元か否かを返す。 |
JgclVector3D |
multiply(double scale)
与えられたスケールを乗じたベクトルを返す。 |
double |
norm()
ベクトルのノルムを返す。 |
static JgclLiteralVector3D |
of(double[] components)
JgclLiteralVector3D のインスタンスを生成する。 |
static JgclLiteralVector3D |
of(double x,
double y,
double z)
JgclLiteralVector3D のインスタンスを生成する。 |
boolean |
parallelDirection(JgclVector3D mate)
二ベクトルの同一方向性を判定する。 |
JgclVector3D |
project(JgclVector3D dNorm)
ベクトルを平面に投影する。 |
JgclVector3D |
reverse()
各成分の符号を反転させたベクトルを返す。 |
JgclVector3D |
reverseTransformBy(JgclCartesianTransformationOperator3D transformationOperator,
java.util.Hashtable transformedGeometries)
このベクトルを、与えられた幾何的変換演算子で逆変換する。 |
JgclVector3D |
subtract(JgclVector3D mate)
ベクトル同士の差を返す。 |
double[] |
toDoubleArray()
doubleの配列に変換する。 |
JgclPoint3D |
toPoint3D()
3次元の点 (JgclPoint3D) に変換する。 |
static JgclPoint3D[] |
toPoint3D(JgclVector3D[] vecs)
ベクトルの配列を3次元の点 (JgclPoint3D) の配列に変換する。 |
JgclVector3D |
transformBy(boolean reverseTransform,
JgclCartesianTransformationOperator3D transformationOperator,
java.util.Hashtable transformedGeometries)
このベクトルを、与えられた幾何的変換演算子で変換する。 |
JgclVector3D |
transformBy(JgclCartesianTransformationOperator3D transformationOperator,
java.util.Hashtable transformedGeometries)
このベクトルを、与えられた幾何的変換演算子で変換する。 |
JgclVector3D |
unitized()
単位化したベクトルを返す。 |
JgclVector3D |
verticalVector()
自分に垂直なベクトルを勝手に選んで返す。 |
abstract double |
x()
ベクトルの X 成分を返す抽象メソッド。 |
static JgclVector3D |
xUnitVector()
3次元のグローバルな直交座標系の X 軸方向の単位ベクトルを返す。 |
abstract double |
y()
ベクトルの Y 成分を返す抽象メソッド。 |
static JgclVector3D |
yUnitVector()
3次元のグローバルな直交座標系の Y 軸方向の単位ベクトルを返す。 |
abstract double |
z()
ベクトルの Z 成分を返す抽象メソッド。 |
static JgclVector3D |
zeroVector()
3次元のゼロベクトルを返す。 |
static JgclVector3D |
zUnitVector()
3次元のグローバルな直交座標系の Z 軸方向の単位ベクトルを返す。 |
クラス jp.go.ipa.jgcl.JgclVector から継承したメソッド |
isVector, length, magnitude |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public static final JgclVector3D zeroVector
public static final JgclVector3D xUnitVector
public static final JgclVector3D yUnitVector
public static final JgclVector3D zUnitVector
コンストラクタの詳細 |
protected JgclVector3D()
生成しようとするベクトルが 単位ベクトルであるかどうか分からない場合、もしくは 単位ベクトルでないことが保証されている場合には、 このコンストラクタを使用する。
protected JgclVector3D(boolean confirmedAsUnitized)
生成しようとするベクトルが 単位ベクトルであるかどうか分かる場合には、 このコンストラクタを使用する。
confirmedAsUnitized
- 生成しようとするベクトルが
単位ベクトルであるならば true
、
さもなくば false
メソッドの詳細 |
public static JgclVector3D zeroVector()
public static JgclVector3D xUnitVector()
public static JgclVector3D yUnitVector()
public static JgclVector3D zUnitVector()
public int dimension()
常に 3 を返す。
JgclGeometry
内の dimension
public boolean is3D()
常に true を返す。
JgclGeometry
内の is3D
true
public abstract double x()
public abstract double y()
public abstract double z()
public JgclVector3D unitized()
長さを持たないベクトルに対してこのメソッドを呼んだ場合、 現実装ではゼロベクトルを返すようになっている。 しかし、本来は例外 JgclZeroLength を投げるべきである。
public JgclVector3D reverse()
public JgclVector3D verticalVector()
public double dotProduct(JgclVector3D mate)
mate
- 内積を取る相手のベクトルpublic JgclVector3D crossProduct(JgclVector3D mate)
mate
- 外積を取る相手のベクトルpublic JgclVector3D add(JgclVector3D mate)
mate
- 和を取る相手のベクトルpublic JgclVector3D subtract(JgclVector3D mate)
mate
- 差を取る相手のベクトルpublic JgclVector3D multiply(double scale)
scale
- スケールpublic JgclVector3D divide(double scale)
scale
- スケールpublic boolean identical(JgclVector3D mate)
二つのベクトルの差の大きさが、 現在設定されている演算条件の「距離の許容誤差」より小さければ、 二つのベクトルは同一であるものと判断する。
mate
- 判定の対象となるベクトルJgclConditionOfOperation
,
identicalDirection(JgclVector3D)
public boolean identicalDirection(JgclVector3D mate)
二つのベクトルのなす角度が、 現在設定されている演算条件の「角度の許容誤差」より小さければ、 二つのベクトルは同一方向であるものと判断する。
なお、反転状態は同一とみなさない。
mate
- 判定の対象となるベクトルJgclConditionOfOperation
,
identical(JgclVector3D)
,
parallelDirection(JgclVector3D)
public boolean parallelDirection(JgclVector3D mate)
二つのベクトルのなす角度が、 現在設定されている演算条件の「角度の許容誤差」より小さければ、 二つのベクトルは同一方向であるものと判断する。
なお、反転状態も同一とみなす。
mate
- 判定の対象となるベクトルJgclConditionOfOperation
,
identicalDirection(JgclVector3D)
public double norm()
JgclVector
内の norm
public JgclVector3D project(JgclVector3D dNorm)
dNorm
- 平面の法線ベクトルpublic JgclPoint3D toPoint3D()
public static JgclPoint3D[] toPoint3D(JgclVector3D[] vecs)
public double[] toDoubleArray()
public double angleWith(JgclVector3D mate, JgclVector3D norm)
this から mate への左回りの角度 (0 〜 2pi)
ここでの左回りとは、norm が向かっている方向から見たときの左回り
mate
- 相手のベクトルnorm
- 「左回り」を決める基準となるベクトルprotected abstract JgclVector3D doTransformBy(boolean reverseTransform, JgclCartesianTransformationOperator3D transformationOperator, java.util.Hashtable transformedGeometries)
transformedGeometries は、 変換前の幾何要素をキーとし、 変換後の幾何要素を値とするハッシュテーブルである。
this が transformedGeometries 内にキーとして存在しない場合には、 this を transformationOperator で変換したものを返す。 この際にメソッド内部では this をキー、 変換結果を値として transformedGeometries に追加する。
this が transformedGeometries 内に既にキーとして存在する場合には、 実際の変換は行なわず、そのキーに対応する値を返す。 この処理は再帰的に行なわれる。
transformedGeometries は null でも構わない。 transformedGeometries は null の場合には、 常に this を transformationOperator で変換したものを返す。
reverseTransform
- 逆変換するのであれば true、そうでなければ falsetransformationOperator
- 幾何的変換演算子transformedGeometries
- 既に同様の変換を施した幾何要素を含むハッシュテーブルpublic JgclVector3D transformBy(boolean reverseTransform, JgclCartesianTransformationOperator3D transformationOperator, java.util.Hashtable transformedGeometries)
transformedGeometries は、 変換前の幾何要素をキーとし、 変換後の幾何要素を値とするハッシュテーブルである。
this が transformedGeometries 内にキーとして存在しない場合には、 this を transformationOperator で変換したものを返す。 この際にメソッド内部では this をキー、 変換結果を値として transformedGeometries に追加する。
this が transformedGeometries 内に既にキーとして存在する場合には、 実際の変換は行なわず、そのキーに対応する値を返す。 この処理は再帰的に行なわれる。
transformedGeometries は null でも構わない。 transformedGeometries は null の場合には、 常に this を transformationOperator で変換したものを返す。
reverseTransform
- 逆変換するのであれば true、そうでなければ falsetransformationOperator
- 幾何的変換演算子transformedGeometries
- 既に同様の変換を施した幾何要素を含むハッシュテーブルpublic JgclVector3D transformBy(JgclCartesianTransformationOperator3D transformationOperator, java.util.Hashtable transformedGeometries)
transformedGeometries は、 変換前の幾何要素をキーとし、 変換後の幾何要素を値とするハッシュテーブルである。
this が transformedGeometries 内にキーとして存在しない場合には、 this を transformationOperator で変換したものを返す。 この際にメソッド内部では this をキー、 変換結果を値として transformedGeometries に追加する。
this が transformedGeometries 内に既にキーとして存在する場合には、 実際の変換は行なわず、そのキーに対応する値を返す。 この処理は再帰的に行なわれる。
transformedGeometries は null でも構わない。 transformedGeometries は null の場合には、 常に this を transformationOperator で変換したものを返す。
transformationOperator
- 幾何的変換演算子transformedGeometries
- 既に同様の変換を施した幾何要素を含むハッシュテーブルpublic JgclVector3D reverseTransformBy(JgclCartesianTransformationOperator3D transformationOperator, java.util.Hashtable transformedGeometries)
transformedGeometries は、 変換前の幾何要素をキーとし、 変換後の幾何要素を値とするハッシュテーブルである。
this が transformedGeometries 内にキーとして存在しない場合には、 this を transformationOperator で逆変換したものを返す。 この際にメソッド内部では this をキー、 変換結果を値として transformedGeometries に追加する。
this が transformedGeometries 内に既にキーとして存在する場合には、 実際の変換は行なわず、そのキーに対応する値を返す。 この処理は再帰的に行なわれる。
transformedGeometries は null でも構わない。 transformedGeometries は null の場合には、 常に this を transformationOperator で逆変換したものを返す。
transformationOperator
- 幾何的変換演算子transformedGeometries
- 既に同様の変換を施した幾何要素を含むハッシュテーブルpublic static JgclLiteralVector3D of(double x, double y, double z)
x
- X 成分y
- Y 成分z
- Z 成分public static JgclLiteralVector3D of(double[] components)
components
- X, Y成分の配列 (要素数 3)
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |