|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object | +--jp.go.ipa.jgcl.JgclParameterDomain
パラメトリックな関数における、ある一つのパラメータの定義域を表すクラス。
パラメータ定義域は、まず無限なものと有限なものに分けられる。
JGCL の曲線および曲面の表現においては、
無限な定義域を持つ関数の値域は無限、
有限な定義域を持つ関数の値域は有限、
であるものとしている。
無限なパラメータ定義域では、
パラメータの有効な区間は (-∞, ∞) である。
有限なパラメータ定義域は、さらに周期的なものと非周期的なものに分けられる。
有限で周期的なパラメータ定義域での
パラメータの有効な区間は (-∞, ∞) であるが、
プライマリな有効区間 [a, b] を持つ。
(b - a) をこの定義域の「周期」と呼ぶ。
ここで、二つのパラメータ t0, t1 があるとして、
t0 と t1 の差が (b - a) である場合、
関数 F(t) の t0, t1 それぞれに対する値 F(t0), F(t1) は同一になる。
有限で非周期的なパラメータ定義域では、
パラメータの有効な区間は [a, b] である。
この有効な区間を外れるパラメータ値 t に対して、F(t) は値を持たない。
なお、無限なパラメータ定義域は、常に非周期的であるものとする。
このクラスでは、パラメータは常に正の方向に進むものとして扱う。
JgclParameterSection,
JgclParametricCurve,
JgclParametricSurface, 直列化された形式| コンストラクタの概要 | |
JgclParameterDomain()
無限で非周期的なオブジェクトを構築する。 |
|
JgclParameterDomain(boolean periodic,
double start,
double increase)
有限なオブジェクトを構築する。 |
|
JgclParameterDomain(boolean periodic,
JgclParameterSection section)
有限なオブジェクトを構築する。 |
|
| メソッドの概要 | |
void |
checkValidity(double value)
与えられたパラメータ値が、この定義域に対して有効か否かを調べる。 |
void |
checkValidity(JgclParameterSection section)
与えられたパラメータ区間が、この定義域に対して有効か否かを調べる。 |
double |
force(double value)
与えられたパラメータ値を、このパラメータ定義域の 有効なパラメータ区間内に収まるよう強制変換した値を返す。 |
boolean |
isFinite()
このパラメータ定義域が有限か否かを返す。 |
boolean |
isInfinite()
このパラメータ定義域が無限か否かを返す。 |
boolean |
isNonPeriodic()
このパラメータ定義域が非周期的か否かを返す。 |
boolean |
isPeriodic()
このパラメータ定義域が周期的か否かを返す。 |
boolean |
isValid(double value)
与えれたパラメータ値が、このパラメータ定義域において有効か否かを返す。 |
JgclParameterSection |
section()
このパラメータ定義域の有効なパラメータ区間を返す。 |
double |
wrap(double value)
与えられたパラメータ値を、このパラメータ定義域の プライマリな周期内に折り畳んだ値を返す。 |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
public JgclParameterDomain()
public JgclParameterDomain(boolean periodic,
double start,
double increase)
periodic が true の場合、 start と increase は プライマリな有効区間を指定する値と解釈され、 increase がこのパラメータ定義域の周期となる。
increase は正の値でなければならない。 increase の値が負あるいは「現在設定されているパラメータ値の許容誤差」より小さい場合には JgclInvalidArgumentValue の例外が発生する。
periodic - 周期的か否かstart - パラメータ区間の開始値increase - パラメータ区間の増分値JgclConditionOfOperation,
JgclInvalidArgumentValue
public JgclParameterDomain(boolean periodic,
JgclParameterSection section)
periodic が true の場合、 section は プライマリな有効区間を指定する値と解釈され、 section の増分値がこのパラメータ定義域の周期となる。
section の増分値は正の値でなければならない。 section の増分値が負あるいは「現在設定されているパラメータ値の許容誤差」より小さい場合には JgclInvalidArgumentValue の例外が発生する。
periodic - 周期的か否かsection - パラメータ区間JgclConditionOfOperation,
JgclInvalidArgumentValue| メソッドの詳細 |
public boolean isFinite()
true、さもなくば falsepublic boolean isInfinite()
true、さもなくば falsepublic boolean isPeriodic()
true、さもなくば falsepublic boolean isNonPeriodic()
true、さもなくば falsepublic JgclParameterSection section()
パラメータ定義域が周期的な場合には、プライマリな有効区間を返す。
パラメータ定義域が無限な場合には、null を返す。
public boolean isValid(double value)
value が、有効なパラメータ区間の端点にある場合には「有効」と判断する。
許容誤差として、現在設定されている演算条件の「パラメータ値の許容誤差」を参照する。
value - 検査するパラメータ値true、さもなくば falseJgclConditionOfOperation,
JgclParameterSection.isValid(double)public void checkValidity(double value)
value がこの定義域を外れている場合には JgclParameterOutOfRange の例外を発生する。
value - 検査するパラメータ値JgclParameterOutOfRange,
isValid(double)public void checkValidity(JgclParameterSection section)
section の増分値は負でも構わない。
section - 検査するパラメータ区間JgclParameterOutOfRange - パラメータ区間が定義域を外れているJgclInvalidArgumentValue - パラメータ区間の長さが、周期より長い
(周期的な場合のみ)checkValidity(double)public double wrap(double value)
有限で周期的な場合以外は、値をそのまま返す。
value - 折り畳むパラメータ値public double force(double value)
有限で非周期的な場合以外は、値をそのまま返す。
value - 変換するパラメータ値
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||