jp.go.ipa.jgcl
クラス JgclEllipse3D

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

public class JgclEllipse3D
extends JgclConic3D

3次元 : 楕円を表すクラス。

楕円は、その中心の位置と局所 X/Y 軸の方向を示す局所座標系 (配置情報、JgclAxis2Placement3D) position と 局所 X 軸方向の半径 semiAxis1、 局所 Y 軸方向の半径 semiAxis2 で定義される。

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

	P(t) = position.location()
	     + semiAxis1 * cos(t) * position.x()
	     + semiAxis2 * sin(t) * position.y()
 

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

コンストラクタの概要
JgclEllipse3D(JgclAxis2Placement3D position, double semiAxis1, double semiAxis2)
          局所座標系と各軸に対する半径を与えてオブジェクトを構築する。
 
メソッドの概要
 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 semiAxis1()
          この楕円の半径1 (局所座標系の X 軸方向の半径) を返す。
 double semiAxis2()
          この楕円の半径2 (局所座標系の Y 軸方向の半径) を返す。
 JgclVector3D tangentVector(double param)
          この曲線の、与えられたパラメータ値での接ベクトルを返す。
 JgclBsplineCurve3D toBsplineCurve(JgclParameterSection pint)
          この曲線の指定の区間を再現する有理Bスプライン曲線を返す。
 JgclPureBezierCurve3D[] toPolyBezierCurves(JgclParameterSection pint)
          この曲線の指定の区間を再現する有理ベジエ曲線の列を返す。
 double xRadius()
          semiAxis1() の別名メソッド。
 double yRadius()
          semiAxis2() の別名メソッド。
 
クラス 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
 

コンストラクタの詳細

JgclEllipse3D

public JgclEllipse3D(JgclAxis2Placement3D position,
                     double semiAxis1,
                     double semiAxis2)
局所座標系と各軸に対する半径を与えてオブジェクトを構築する。

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

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

パラメータ:
position - 中心と局所 X/Y/Z 軸の方向を示す局所座標系
semiAxis1 - 半径1 (局所 X 軸に対する半径)
semiAxis2 - 半径2 (局所 Y 軸に対する半径)
関連項目:
JgclInvalidArgumentValue
メソッドの詳細

semiAxis1

public double semiAxis1()
この楕円の半径1 (局所座標系の X 軸方向の半径) を返す。
戻り値:
半径1

xRadius

public double xRadius()
semiAxis1() の別名メソッド。
戻り値:
半径1

semiAxis2

public double semiAxis2()
この楕円の半径2 (局所座標系の Y 軸方向の半径) を返す。
戻り値:
半径2

yRadius

public double yRadius()
semiAxis2() の別名メソッド。
戻り値:
半径2

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)
この曲線の指定の区間を再現する有理ベジエ曲線の列を返す。

pint の増分値の絶対値が (2 * π) 以上の場合には、 それを (2 * π) と見なして処理する。

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

toBsplineCurve

public JgclBsplineCurve3D toBsplineCurve(JgclParameterSection pint)
この曲線の指定の区間を再現する有理Bスプライン曲線を返す。

pint の増分値の絶対値が (2 * π) 以上の場合には、 それを (2 * π) と見なして処理し、 閉じた形式の曲線を返す。

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

intersect

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

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

相手も楕円のときに、 現在設定されている演算条件の下で、 二楕円が同一平面上に乗っており、 二楕円の中心間の距離が距離の許容誤差より小さく、 二楕円の局所 X 軸のなす角度が角度の許容誤差より小さく、 二楕円の局所 X/Y 軸それぞれについての半径の差が距離の許容誤差以内である場合には、 二楕円はオーバーラップしているものとして、 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