|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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
、さもなくば false
public boolean isInfinite()
true
、さもなくば false
public boolean isPeriodic()
true
、さもなくば false
public boolean isNonPeriodic()
true
、さもなくば false
public JgclParameterSection section()
パラメータ定義域が周期的な場合には、プライマリな有効区間を返す。
パラメータ定義域が無限な場合には、null を返す。
public boolean isValid(double value)
value が、有効なパラメータ区間の端点にある場合には「有効」と判断する。
許容誤差として、現在設定されている演算条件の「パラメータ値の許容誤差」を参照する。
value
- 検査するパラメータ値true
、さもなくば false
JgclConditionOfOperation
,
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
- 変換するパラメータ値
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |