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