org.jscience.mathematics.geometry
Class ParametricCurve3D

java.lang.Object
  extended by org.jscience.mathematics.geometry.GeometryElement
      extended by org.jscience.mathematics.geometry.AbstractParametricCurve
          extended by org.jscience.mathematics.geometry.ParametricCurve3D
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
BoundedCurve3D, Conic3D, Line3D, PolynomialCurve3D, SurfaceCurve3D

public abstract class ParametricCurve3D
extends AbstractParametricCurve

�R�����̃p���?�g���b�N�ȋ�?�̃N���X�K�w�̃�?[�g�ƂȂ钊?ۃN���X?B

���̃N���X��?A��‚̎�?��l�ŕ\�����p���??[�^ t �̒l�ɂ�B�?A �ʒu�����肳���R�����̋�?� P(t) �S�ʂ��?��?�����\������?B

See Also:
ParametricCurve2D, Serialized Form

Constructor Summary
protected ParametricCurve3D()
          �I�u�W�F�N�g��?
 
Method Summary
protected  PointOnCurve3D checkProjection(double Bparam, Point3D p, double dTol2)
          �^����ꂽ�p���??
abstract  Point3D coordinates(double param)
          ���̋�?
abstract  CurveCurvature3D curvature(double param)
          ���̋�?
 int dimension()
          ���̋�?
protected abstract  ParametricCurve3D doTransformBy(boolean reverseTransform, CartesianTransformationOperator3D transformationOperator, java.util.Hashtable transformedGeometries)
          ���̋�?
abstract  CurveDerivative3D evaluation(double param)
          ���̋�?
protected  boolean hasPolyline()
          ���̋�?
 boolean identicalParameter(double own_prm1, double own_prm2)
          �^����ꂽ��‚̃p���??
abstract  PointOnCurve3D[] inflexion()
          ���̋�?
abstract  IntersectionPoint3D[] intersect(ParametricCurve3D mate)
          ���̋�?
abstract  IntersectionPoint3D[] intersect(ParametricSurface3D mate)
          ���̋�?
 boolean is3D()
          ���̋�?
protected  boolean isComposedOfOnlyPolylines()
          ���̋�?
 PointOnCurve3D nearestProjectFrom(Point3D pnt)
          �^����ꂽ�_ P ���炱�̋�?
 PointOnCurve3D nearestProjectWithDistanceFrom(Point3D pnt, double distance)
          �^����ꂽ�_ P ���炱�̋�?
abstract  ParametricCurve3D parallelTranslate(Vector3D moveVec)
          ���̋�?
 double pointToParameter(Point3D pnt)
          �^����ꂽ?
abstract  PointOnCurve3D[] projectFrom(Point3D point)
          �^����ꂽ�_���炱�̋�?
 ParametricCurve3D reverseTransformBy(CartesianTransformationOperator3D transformationOperator, java.util.Hashtable transformedGeometries)
          ���̋�?
abstract  PointOnCurve3D[] singular()
          ���̋�?
abstract  Vector3D tangentVector(double param)
          ���̋�?
abstract  BsplineCurve3D toBsplineCurve(ParameterSection pint)
          ���̋�?
abstract  Polyline3D toPolyline(ParameterSection pint, ToleranceForDistance tol)
          ���̋�?
abstract  double torsion(double param)
          ���̋�?
 ParametricCurve3D transformBy(boolean reverseTransform, CartesianTransformationOperator3D transformationOperator, java.util.Hashtable transformedGeometries)
          ���̋�?
 ParametricCurve3D transformBy(CartesianTransformationOperator3D transformationOperator, java.util.Hashtable transformedGeometries)
          ���̋�?
 
Methods inherited from class org.jscience.mathematics.geometry.AbstractParametricCurve
checkValidity, checkValidity, isClosed, isCurve, isFinite, isInfinite, isNonPeriodic, isOpen, isParametric, isPeriodic, isValid, length, parameterDomain
 
Methods inherited from class org.jscience.mathematics.geometry.GeometryElement
getClassName, getToleranceForAngle, getToleranceForAngleAsObject, getToleranceForDistance, getToleranceForDistance2, getToleranceForDistanceAsObject, getToleranceForParameter, getToleranceForParameterAsObject, getToleranceForRealNumber, getToleranceForRealNumberAsObject, is1D, is2D, isFreeform, isPlacement, isPoint, isSurface, isTransformationOperator, isVector, makeIndent, output, output
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ParametricCurve3D

protected ParametricCurve3D()
�I�u�W�F�N�g��?\�z����?B

Method Detail

coordinates

public abstract Point3D coordinates(double param)
���̋�?��?A�^����ꂽ�p���??[�^�l�ł�?W�l��Ԃ���?ۃ?�\�b�h?B

Parameters:
param - �p���??[�^�l
Returns:
?W�l

tangentVector

public abstract Vector3D tangentVector(double param)
���̋�?��?A�^����ꂽ�p���??[�^�l�ł�?ڃx�N�g����Ԃ���?ۃ?�\�b�h?B

Parameters:
param - �p���??[�^�l
Returns:
?ڃx�N�g��

curvature

public abstract CurveCurvature3D curvature(double param)
���̋�?��?A�^����ꂽ�p���??[�^�l�ł̋ȗ���Ԃ���?ۃ?�\�b�h?B

Parameters:
param - �p���??[�^�l
Returns:
�ȗ�

torsion

public abstract double torsion(double param)
���̋�?��?A�^����ꂽ�p���??[�^�l�ł̃��C����Ԃ���?ۃ?�\�b�h?B

Parameters:
param - �p���??[�^�l
Returns:
���C��

evaluation

public abstract CurveDerivative3D evaluation(double param)
���̋�?��?A�^����ꂽ�p���??[�^�l�ł̓���?���Ԃ���?ۃ?�\�b�h?B

Parameters:
param - �p���??[�^�l
Returns:
����?�

singular

public abstract PointOnCurve3D[] singular()
                                   throws IndefiniteSolutionException
���̋�?�̓Hٓ_��Ԃ���?ۃ?�\�b�h?B

�Hٓ_�Ƃ�?A ?ڃx�N�g���̑傫���� 0 �ɂȂ�_?A ���邢�͂��̑O���?ڃx�N�g�����s�A���ƂȂ�_�ł���?B

�Hٓ_����?݂��Ȃ��Ƃ��͒��� 0 �̔z���Ԃ�?B

Returns:
�Hٓ_�̔z��
Throws:
IndefiniteSolutionException - �⪕s��ł���

inflexion

public abstract PointOnCurve3D[] inflexion()
                                    throws IndefiniteSolutionException
���̋�?�̕ϋȓ_��Ԃ���?ۃ?�\�b�h?B

�ϋȓ_�Ƃ�?A���̑O��ŋȗ���?S�̑�?݂���T�C�h���ړ�����_�ł���?B

�ϋȓ_����?݂��Ȃ��Ƃ��͒��� 0 �̔z���Ԃ�?B

Returns:
�ϋȓ_�̔z��
Throws:
IndefiniteSolutionException - �⪕s��ł���

checkProjection

protected PointOnCurve3D checkProjection(double Bparam,
                                         Point3D p,
                                         double dTol2)
�^����ꂽ�p���??[�^�l�̓_��?A ����_�ⱂ̋�?�ɓ��e�����_ (�‚܂�?A����_���炱�̋�?�ւ�?�?�̑�) �� ���邩�ǂ�����Ԃ�?B

�^����ꂽ�p���??[�^�l�̓_�����e�_�ł����?A���̓_��\��?�?�_��Ԃ�?B �^����ꂽ�p���??[�^�l�̓_�����e�_�łȂ���� null ��Ԃ�?B

Parameters:
Bparam - ���e�_�̃p���??[�^�l
p - ���e���̓_
dTol2 - �����̋��e��?��̎�?�
Returns:
���e�_�I�u�W�F�N�g
See Also:
projectFrom(Point3D)

identicalParameter

public boolean identicalParameter(double own_prm1,
                                  double own_prm2)
�^����ꂽ��‚̃p���??[�^�l�����̋�?�?�œ���̓_�Ƃ݂Ȃ��邩�ǂ�����Ԃ�?B

��‚̃p���??[�^�l�̊Ԃ̋�?�̓��̂肪?A ��?�?ݒ肳��Ă��鉉�Z?�?�̋����̋��e��?�����?�������� ��‚̃p���??[�^�l�͓���̓_��\���Ă����̂Ƃ���?B

Parameters:
own_prm1 - �p���??[�^�l 1
own_prm2 - �p���??[�^�l 2
Returns:
����̓_�Ƃ݂Ȃ���Ȃ�� true?A�����łȂ���� false

projectFrom

public abstract PointOnCurve3D[] projectFrom(Point3D point)
                                      throws IndefiniteSolutionException
�^����ꂽ�_���炱�̋�?�ւ̓��e�_��?�߂钊?ۃ?�\�b�h?B

���e�_����?݂��Ȃ��Ƃ��͒��� 0 �̔z���Ԃ�?B

Parameters:
point - ���e���̓_
Returns:
���e�_�̔z��
Throws:
IndefiniteSolutionException - �⪕s��ł���

toPolyline

public abstract Polyline3D toPolyline(ParameterSection pint,
                                      ToleranceForDistance tol)
���̋�?�̎w��̋�Ԃ�?A�^����ꂽ��?��Œ�?�ߎ�����|�����C����Ԃ���?ۃ?�\�b�h?B

���ʂƂ��ĕԂ����|�����C����?\?�����_�� PointOnCurve3D �� ���邱�Ƃ��҂ł���?B

Parameters:
pint - ��?�ߎ�����p���??[�^���
tol - �����̋��e��?�
Returns:
���̋�?�̎w��̋�Ԃ�?�ߎ�����|�����C��
See Also:
PointOnCurve3D

toBsplineCurve

public abstract BsplineCurve3D toBsplineCurve(ParameterSection pint)
���̋�?�̎w��̋�Ԃ쵖���?Č�����L�? Bspline ��?��Ԃ���?ۃ?�\�b�h?B

Parameters:
pint - �L�? Bspline ��?��?�����p���??[�^���
Returns:
���̋�?�̎w��̋�Ԃ�?Č�����L�? Bspline ��?�

intersect

public abstract IntersectionPoint3D[] intersect(ParametricCurve3D mate)
                                         throws IndefiniteSolutionException
���̋�?�Ƒ��̋�?�̌�_��?�߂钊?ۃ?�\�b�h?B

��_����?݂��Ȃ��Ƃ��͒��� 0 �̔z���Ԃ�?B

Parameters:
mate - ���̋�?�
Returns:
��_�̔z��
Throws:
IndefiniteSolutionException - �⪕s��ł���

intersect

public abstract IntersectionPoint3D[] intersect(ParametricSurface3D mate)
                                         throws IndefiniteSolutionException
���̋�?�Ƒ��̋Ȗʂ̌�_��?�߂钊?ۃ?�\�b�h?B

��_����?݂��Ȃ��Ƃ��͒��� 0 �̔z���Ԃ�?B

Parameters:
mate - ���̋Ȗ�
Returns:
��_�̔z��
Throws:
IndefiniteSolutionException - �⪕s��ł���

parallelTranslate

public abstract ParametricCurve3D parallelTranslate(Vector3D moveVec)
���̋�?��?A�^����ꂽ�x�N�g����?]�Bĕ�?s�ړ�������?��Ԃ���?ۃ?�\�b�h?B

Parameters:
moveVec - ��?s�ړ��̕��Ɨʂ�\���x�N�g��
Returns:
��?s�ړ���̋�?�

dimension

public int dimension()
���̋�?�̎�����Ԃ�?B

?�� 3 ��Ԃ�?B

Specified by:
dimension in class GeometryElement
Returns:
�R�����Ȃ̂�?A?�� 3

is3D

public boolean is3D()
���̋�?�R�������ۂ���Ԃ�?B

?�� true ��Ԃ�?B

Overrides:
is3D in class GeometryElement
Returns:
�R�����Ȃ̂�?A?�� true

nearestProjectFrom

public PointOnCurve3D nearestProjectFrom(Point3D pnt)
�^����ꂽ�_ P ���炱�̋�?�ւ̓��e�_�̓��?AP ��?ł�߂��_��Ԃ�?B

���e�_����?݂��Ȃ�?�?��ɂ� null ��Ԃ�?B

Parameters:
pnt - ���e���̓_
Returns:
���e���̓_��?ł�߂����e�_
See Also:
projectFrom(Point3D), nearestProjectWithDistanceFrom(Point3D,double)

nearestProjectWithDistanceFrom

public PointOnCurve3D nearestProjectWithDistanceFrom(Point3D pnt,
                                                     double distance)
�^����ꂽ�_ P ���炱�̋�?�ւ̓��e�_�̓��?AP ����̋������w��̒l��?ł�߂��_��Ԃ�?B

���e�_����?݂��Ȃ�?�?��ɂ� null ��Ԃ�?B

Parameters:
pnt - ���e���̓_
distance - ����
Returns:
�w�肵��������?ł�߂����e�_
See Also:
projectFrom(Point3D), nearestProjectFrom(Point3D)

pointToParameter

public double pointToParameter(Point3D pnt)
�^����ꂽ?�?�_��?A���̋�?�ł̃p���??[�^�l��?�߂�?B

�^����ꂽ�_�����̋�?�?��?�BĂ����̂Ƃ���?A ���̓_�ɑΉ�����p���??[�^�l��?�߂�?B

���̃?�\�b�h�̓Ք?��?�͈ȉ��̒ʂ�?B

Parameters:
pnt - ��?�?�̓_
Returns:
�Ή�����p���??[�^�l
See Also:
InvalidArgumentValueException, nearestProjectFrom(Point3D), ConditionOfOperation

doTransformBy

protected abstract ParametricCurve3D doTransformBy(boolean reverseTransform,
                                                   CartesianTransformationOperator3D transformationOperator,
                                                   java.util.Hashtable transformedGeometries)
���̋�?��?A�^����ꂽ�􉽓I�ϊ����Z�q�ŕϊ�����?B

transformedGeometries ��?A �ϊ��O�̊􉽗v�f��L?[�Ƃ�?A �ϊ���̊􉽗v�f��l�Ƃ���n�b�V���e?[�u���ł���?B

this �� transformedGeometries ��ɃL?[�Ƃ��đ�?݂��Ȃ�?�?��ɂ�?A this �� transformationOperator �ŕϊ�������̂�Ԃ�?B ����?ۂɃ?�\�b�h�Ք�ł� this ��L?[?A �ϊ����ʂ�l�Ƃ��� transformedGeometries �ɒljB���?B

this �� transformedGeometries ��Ɋ�ɃL?[�Ƃ��đ�?݂���?�?��ɂ�?A ��?ۂ̕ϊ���?s�Ȃ킸?A���̃L?[�ɑΉ�����l��Ԃ�?B ����?��?��?ċA�I��?s�Ȃ���?B

transformedGeometries �� null �ł�?\��Ȃ�?B transformedGeometries �� null ��?�?��ɂ�?A ?�� this �� transformationOperator �ŕϊ�������̂�Ԃ�?B

Parameters:
reverseTransform - �t�ϊ�����̂ł���� true?A�����łȂ���� false
transformationOperator - �􉽓I�ϊ����Z�q
transformedGeometries - ��ɓ��l�̕ϊ���{�����􉽗v�f��܂ރn�b�V���e?[�u��
Returns:
�ϊ���̊􉽗v�f

transformBy

public ParametricCurve3D transformBy(boolean reverseTransform,
                                     CartesianTransformationOperator3D transformationOperator,
                                     java.util.Hashtable transformedGeometries)
���̋�?��?A�^����ꂽ�􉽓I�ϊ����Z�q�ŕϊ�����?B

transformedGeometries ��?A �ϊ��O�̊􉽗v�f��L?[�Ƃ�?A �ϊ���̊􉽗v�f��l�Ƃ���n�b�V���e?[�u���ł���?B

this �� transformedGeometries ��ɃL?[�Ƃ��đ�?݂��Ȃ�?�?��ɂ�?A this �� transformationOperator �ŕϊ�������̂�Ԃ�?B ����?ۂɃ?�\�b�h�Ք�ł� this ��L?[?A �ϊ����ʂ�l�Ƃ��� transformedGeometries �ɒljB���?B

this �� transformedGeometries ��Ɋ�ɃL?[�Ƃ��đ�?݂���?�?��ɂ�?A ��?ۂ̕ϊ���?s�Ȃ킸?A���̃L?[�ɑΉ�����l��Ԃ�?B ����?��?��?ċA�I��?s�Ȃ���?B

transformedGeometries �� null �ł�?\��Ȃ�?B transformedGeometries �� null ��?�?��ɂ�?A ?�� this �� transformationOperator �ŕϊ�������̂�Ԃ�?B

Parameters:
reverseTransform - �t�ϊ�����̂ł���� true?A�����łȂ���� false
transformationOperator - �􉽓I�ϊ����Z�q
transformedGeometries - ��ɓ��l�̕ϊ���{�����􉽗v�f��܂ރn�b�V���e?[�u��
Returns:
�ϊ���̊􉽗v�f

transformBy

public ParametricCurve3D transformBy(CartesianTransformationOperator3D transformationOperator,
                                     java.util.Hashtable transformedGeometries)
���̋�?��?A�^����ꂽ�􉽓I�ϊ����Z�q�ŕϊ�����?B

transformedGeometries ��?A �ϊ��O�̊􉽗v�f��L?[�Ƃ�?A �ϊ���̊􉽗v�f��l�Ƃ���n�b�V���e?[�u���ł���?B

this �� transformedGeometries ��ɃL?[�Ƃ��đ�?݂��Ȃ�?�?��ɂ�?A this �� transformationOperator �ŕϊ�������̂�Ԃ�?B ����?ۂɃ?�\�b�h�Ք�ł� this ��L?[?A �ϊ����ʂ�l�Ƃ��� transformedGeometries �ɒljB���?B

this �� transformedGeometries ��Ɋ�ɃL?[�Ƃ��đ�?݂���?�?��ɂ�?A ��?ۂ̕ϊ���?s�Ȃ킸?A���̃L?[�ɑΉ�����l��Ԃ�?B ����?��?��?ċA�I��?s�Ȃ���?B

transformedGeometries �� null �ł�?\��Ȃ�?B transformedGeometries �� null ��?�?��ɂ�?A ?�� this �� transformationOperator �ŕϊ�������̂�Ԃ�?B

Parameters:
transformationOperator - �􉽓I�ϊ����Z�q
transformedGeometries - ��ɓ��l�̕ϊ���{�����􉽗v�f��܂ރn�b�V���e?[�u��
Returns:
�ϊ���̊􉽗v�f

reverseTransformBy

public ParametricCurve3D reverseTransformBy(CartesianTransformationOperator3D transformationOperator,
                                            java.util.Hashtable transformedGeometries)
���̋�?��?A�^����ꂽ�􉽓I�ϊ����Z�q�ŋt�ϊ�����?B

transformedGeometries ��?A �ϊ��O�̊􉽗v�f��L?[�Ƃ�?A �ϊ���̊􉽗v�f��l�Ƃ���n�b�V���e?[�u���ł���?B

this �� transformedGeometries ��ɃL?[�Ƃ��đ�?݂��Ȃ�?�?��ɂ�?A this �� transformationOperator �ŋt�ϊ�������̂�Ԃ�?B ����?ۂɃ?�\�b�h�Ք�ł� this ��L?[?A �ϊ����ʂ�l�Ƃ��� transformedGeometries �ɒljB���?B

this �� transformedGeometries ��Ɋ�ɃL?[�Ƃ��đ�?݂���?�?��ɂ�?A ��?ۂ̕ϊ���?s�Ȃ킸?A���̃L?[�ɑΉ�����l��Ԃ�?B ����?��?��?ċA�I��?s�Ȃ���?B

transformedGeometries �� null �ł�?\��Ȃ�?B transformedGeometries �� null ��?�?��ɂ�?A ?�� this �� transformationOperator �ŋt�ϊ�������̂�Ԃ�?B

Parameters:
transformationOperator - �􉽓I�ϊ����Z�q
transformedGeometries - ��ɓ��l�̕ϊ���{�����􉽗v�f��܂ރn�b�V���e?[�u��
Returns:
�t�ϊ���̊􉽗v�f

hasPolyline

protected boolean hasPolyline()
���̋�?�|�����C���̕�����܂ނ��ۂ���Ԃ�?B

���ʂ� true ��?�?�?A ���̋�?�� BoundedCurve3D �ł���͂��ł���?B

Returns:
���̋�?�|�����C���ł��邩?A �܂��͎�?g��?\?����镔�i�Ƃ��ă|�����C����܂ނȂ�� true?A �����łȂ���� false

isComposedOfOnlyPolylines

protected boolean isComposedOfOnlyPolylines()
���̋�?�|�����C���̕��������łł��Ă��邩�ۂ���Ԃ�?B

���ʂ� true ��?�?�?A ���̋�?�� BoundedCurve3D �ł���͂��ł���?B

Returns:
���̋�?�|�����C���ł��邩?A �܂��͎�?g��?\?����镔�i�Ƃ��ă|�����C��������܂ނȂ�� true?A �����łȂ���� false