jp.go.ipa.jgcl
クラス JgclParabola3D

java.lang.Object
  |
  +--jp.go.ipa.jgcl.JgclGeometry
        |
        +--jp.go.ipa.jgcl.JgclParametricCurve
              |
              +--jp.go.ipa.jgcl.JgclParametricCurve3D
                    |
                    +--jp.go.ipa.jgcl.JgclConic3D
                          |
                          +--jp.go.ipa.jgcl.JgclParabola3D
すべての実装インタフェース:
java.io.Serializable

public class JgclParabola3D
extends JgclConic3D

3次元 : 放物線を表すクラス。

放物線は、その頂点の位置と局所 X/Y 軸の方向を示す局所座標系 (配置情報、JgclAxis2Placement3D) position と 頂点から焦点までの距離 focalDist で定義される。

t をパラメータとする放物線 P(t) のパラメトリック表現は、以下の通り。

	P(t) = position.location() + focalDist * (t * t * position.x() + 2 * t * position.y())
 

バージョン:
$Revision: 1.48 $, $Date: 2000/08/11 06:18:54 $
作成者:
Information-technology Promotion Agency, Japan
関連項目:
直列化された形式

コンストラクタの概要
JgclParabola3D(JgclAxis2Placement3D position, double focalDist)
          局所座標系と頂点から焦点までの距離を与えてオブジェクトを構築する。
 
メソッドの概要
 JgclPoint3D coordinates(double param)
          この曲線の、与えられたパラメータ値での座標値を返す。
 JgclCurveCurvature3D curvature(double param)
          この曲線の、与えられたパラメータ値での曲率を返す。
protected  JgclParametricCurve3D doTransformBy(boolean reverseTransform, JgclCartesianTransformationOperator3D transformationOperator, java.util.Hashtable transformedGeometries)
          この曲線を、与えられた幾何的変換演算子で変換する。
 JgclCurveDerivative3D evaluation(double param)
          この曲線の、与えられたパラメータ値での導関数を返す。
 double focalDist()
          この放物線の頂点から焦点までの距離を返す。
 JgclIntersectionPoint3D[] intersect(JgclParametricCurve3D mate)
          この曲線と他の曲線との交点を求める。
protected  void output(java.io.PrintWriter writer, int indent)
          出力ストリームに形状情報を出力する。
 JgclParametricCurve3D parallelTranslate(JgclVector3D moveVec)
          この曲線を、与えられたベクトルに従って平行移動した曲線を返す。
 JgclVector3D tangentVector(double param)
          この曲線の、与えられたパラメータ値での接ベクトルを返す。
 JgclBsplineCurve3D toBsplineCurve(JgclParameterSection pint)
          この曲線の指定の区間を再現する有理Bスプライン曲線を返す。
 JgclPureBezierCurve3D[] toPolyBezierCurves(JgclParameterSection pint)
          この曲線の指定の区間を再現する有理ベジエ曲線の列を返す。
 
クラス jp.go.ipa.jgcl.JgclConic3D から継承したメソッド
convertPolyBezierCurvesToOneBsplineCurve, inflexion, intersect, length, position, projectFrom, singular, toGlobal, toPolyline, torsion
 
クラス jp.go.ipa.jgcl.JgclParametricCurve3D から継承したメソッド
checkProjection, dimension, hasPolyline, identicalParameter, is3D, isComposedOfOnlyPolylines, nearestProjectFrom, nearestProjectWithDistanceFrom, pointToParameter, reverseTransformBy, transformBy, transformBy
 
クラス jp.go.ipa.jgcl.JgclParametricCurve から継承したメソッド
checkValidity, checkValidity, isClosed, isCurve, isFinite, isInfinite, isNonPeriodic, isOpen, isParametric, isPeriodic, isValid, parameterDomain
 
クラス jp.go.ipa.jgcl.JgclGeometry から継承したメソッド
getClassName, getToleranceForAngle, getToleranceForAngleAsObject, getToleranceForDistance, getToleranceForDistance2, getToleranceForDistanceAsObject, getToleranceForParameter, getToleranceForParameterAsObject, getToleranceForRealNumber, getToleranceForRealNumberAsObject, is1D, is2D, isFreeform, isPlacement, isPoint, isSurface, isTransformationOperator, isVector, makeIndent, output
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

JgclParabola3D

public JgclParabola3D(JgclAxis2Placement3D position,
                      double focalDist)
局所座標系と頂点から焦点までの距離を与えてオブジェクトを構築する。

position が null の場合には、 JgclInvalidArgumentValue の例外を発生する。

focalDist の値が 現在設定されている演算条件の距離の許容誤差より小さい場合には JgclInvalidArgumentValue の例外を発生する。

パラメータ:
position - 中心と局所 X/Y/Z 軸の方向を示す局所座標系
focalDist - 頂点から焦点までの距離
関連項目:
JgclInvalidArgumentValue
メソッドの詳細

focalDist

public double focalDist()
この放物線の頂点から焦点までの距離を返す。
戻り値:
頂点から焦点までの距離

coordinates

public JgclPoint3D coordinates(double param)
この曲線の、与えられたパラメータ値での座標値を返す。
オーバーライド:
クラス JgclParametricCurve3D 内の coordinates
パラメータ:
param - パラメータ値
戻り値:
座標値

tangentVector

public JgclVector3D tangentVector(double param)
この曲線の、与えられたパラメータ値での接ベクトルを返す。
オーバーライド:
クラス JgclParametricCurve3D 内の tangentVector
パラメータ:
param - パラメータ値
戻り値:
接ベクトル

curvature

public JgclCurveCurvature3D curvature(double param)
この曲線の、与えられたパラメータ値での曲率を返す。
オーバーライド:
クラス JgclParametricCurve3D 内の curvature
パラメータ:
param - パラメータ値
戻り値:
曲率

evaluation

public JgclCurveDerivative3D evaluation(double param)
この曲線の、与えられたパラメータ値での導関数を返す。
オーバーライド:
クラス JgclParametricCurve3D 内の evaluation
パラメータ:
param - パラメータ値
戻り値:
導関数

toPolyBezierCurves

public JgclPureBezierCurve3D[] toPolyBezierCurves(JgclParameterSection pint)
この曲線の指定の区間を再現する有理ベジエ曲線の列を返す。

放物線の場合、得られる有理ベジエ曲線列の要素数は常に 1 である

パラメータ:
pint - 再現するパラメータ区間
戻り値:
この曲線の指定の区間を再現する有理ベジエ曲線の配列

toBsplineCurve

public JgclBsplineCurve3D toBsplineCurve(JgclParameterSection pint)
この曲線の指定の区間を再現する有理Bスプライン曲線を返す。
オーバーライド:
クラス JgclParametricCurve3D 内の toBsplineCurve
パラメータ:
pint - 再現するパラメータ区間
戻り値:
この曲線の指定の区間を再現する有理Bスプライン曲線

intersect

public JgclIntersectionPoint3D[] intersect(JgclParametricCurve3D mate)
                                    throws JgclIndefiniteSolution
この曲線と他の曲線との交点を求める。

交点が存在しないときは長さ 0 の配列を返す。

相手も放物線のときに、 現在設定されている演算条件の下で、 二放物線が同一平面上にあり、 二放物線の頂点間の距離が距離の許容誤差より小さく、 二放物線の局所 X 軸のなす角度が角度の許容誤差より小さく、 二放物線の頂点−焦点間距離の差が距離の許容誤差以内である場合には、 二放物線はオーバーラップしているものとして、 JgclIndefiniteSolution の例外を発生させる。

オーバーライド:
クラス JgclParametricCurve3D 内の intersect
パラメータ:
mate - 他の曲線
戻り値:
交点の配列
例外:
JgclIndefiniteSolution - mate も放物線で、二放物線はオーバーラップしており、解が不定である

parallelTranslate

public JgclParametricCurve3D parallelTranslate(JgclVector3D moveVec)
この曲線を、与えられたベクトルに従って平行移動した曲線を返す。
オーバーライド:
クラス JgclParametricCurve3D 内の parallelTranslate
パラメータ:
moveVec - 平行移動の方向と量を表すベクトル
戻り値:
平行移動後の曲線

doTransformBy

protected JgclParametricCurve3D doTransformBy(boolean reverseTransform,
                                              JgclCartesianTransformationOperator3D transformationOperator,
                                              java.util.Hashtable transformedGeometries)
この曲線を、与えられた幾何的変換演算子で変換する。

transformedGeometries は、 変換前の幾何要素をキーとし、 変換後の幾何要素を値とするハッシュテーブルである。

this が transformedGeometries 内にキーとして存在しない場合には、 this を transformationOperator で変換したものを返す。 この際にメソッド内部では this をキー、 変換結果を値として transformedGeometries に追加する。

this が transformedGeometries 内に既にキーとして存在する場合には、 実際の変換は行なわず、そのキーに対応する値を返す。 この処理は再帰的に行なわれる。

transformedGeometries は null でも構わない。 transformedGeometries は null の場合には、 常に this を transformationOperator で変換したものを返す。

オーバーライド:
クラス JgclParametricCurve3D 内の doTransformBy
パラメータ:
reverseTransform - 逆変換するのであれば true、そうでなければ false
transformationOperator - 幾何的変換演算子
transformedGeometries - 既に同様の変換を施した幾何要素を含むハッシュテーブル
戻り値:
変換後の幾何要素

output

protected void output(java.io.PrintWriter writer,
                      int indent)
出力ストリームに形状情報を出力する。
オーバーライド:
クラス JgclGeometry 内の output
パラメータ:
writer - PrintWriter
indent - インデントの深さ
関連項目:
JgclGeometry