jp.go.ipa.jgcl
クラス JgclHyperbola3D

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.JgclHyperbola3D
すべての実装インタフェース:
java.io.Serializable

public class JgclHyperbola3D
extends JgclConic3D

3次元 : 双曲線を表すクラス。

双曲線は、その中心の位置と局所 X/Y 軸の方向を示す局所座標系 (配置情報、JgclAxis2Placement3D) position と 中心から頂点までの距離 semiAxis、 semiAxis と合わせて漸近線の傾きを指定する距離 semiImagAxis で定義される。

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

	P(t) = position.location()
	     + semiAxis * cosh(t) * position.x()
	     + semiImagAxis * sinh(t) * position.y()
 

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

コンストラクタの概要
JgclHyperbola3D(JgclAxis2Placement3D position, double semiAxis, double semiImagAxis)
          局所座標系と中心から頂点までの距離および漸近線の傾きを指定する距離 を与えてオブジェクトを構築する。
 
メソッドの概要
 JgclPoint3D coordinates(double param)
          この曲線の、与えられたパラメータ値での座標値を返す。
 JgclCurveCurvature3D curvature(double param)
          この曲線の、与えられたパラメータ値での曲率を返す。
protected  JgclParametricCurve3D doTransformBy(boolean reverseTransform, JgclCartesianTransformationOperator3D transformationOperator, java.util.Hashtable transformedGeometries)
          この曲線を、与えられた幾何的変換演算子で変換する。
 JgclCurveDerivative3D evaluation(double param)
          この曲線の、与えられたパラメータ値での導関数を返す。
 JgclIntersectionPoint3D[] intersect(JgclParametricCurve3D mate)
          この曲線と他の曲線との交点を求める。
protected  void output(java.io.PrintWriter writer, int indent)
          出力ストリームに形状情報を出力する。
 JgclParametricCurve3D parallelTranslate(JgclVector3D moveVec)
          この曲線を、与えられたベクトルに従って平行移動した曲線を返す。
 double semiAxis()
          この双曲線の中心から頂点までの距離 (semiAxis) を返す。
 double semiImagAxis()
          この双曲線の semiImagAxis の値を返す。
 JgclVector3D tangentVector(double param)
          この曲線の、与えられたパラメータ値での接ベクトルを返す。
 JgclBsplineCurve3D toBsplineCurve(JgclParameterSection pint)
          この曲線の指定の区間を再現する有理Bスプライン曲線を返す。
 JgclPureBezierCurve3D[] toPolyBezierCurves(JgclParameterSection pint)
          この曲線の指定の区間を再現する有理ベジエ曲線の列を返す。
 double xRadius()
          semiAxis() の別名メソッド。
 double yRadius()
          semiImagAxis() の別名メソッド。
 
クラス 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
 

コンストラクタの詳細

JgclHyperbola3D

public JgclHyperbola3D(JgclAxis2Placement3D position,
                       double semiAxis,
                       double semiImagAxis)
局所座標系と中心から頂点までの距離および漸近線の傾きを指定する距離 を与えてオブジェクトを構築する。

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

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

パラメータ:
position - 中心と局所 X/Y/Z 軸の方向を示す局所座標系
semiAxis - 中心から頂点までの距離
semiImagAxis - semiAxis と合わせて漸近線の傾きを指定する距離
関連項目:
JgclInvalidArgumentValue
メソッドの詳細

semiAxis

public double semiAxis()
この双曲線の中心から頂点までの距離 (semiAxis) を返す。
戻り値:
中心から頂点までの距離

xRadius

public double xRadius()
semiAxis() の別名メソッド。
戻り値:
中心から頂点までの距離

semiImagAxis

public double semiImagAxis()
この双曲線の semiImagAxis の値を返す。
戻り値:
semiImagAxis の値

yRadius

public double yRadius()
semiImagAxis() の別名メソッド。
戻り値:
semiImagAxis の値

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 軸のなす角度が角度の許容誤差より小さく、 二双曲線の semiAxis, semiImagAxis それぞれの差が距離の許容誤差以内である場合には、 二双曲線はオーバーラップしているものとして、 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