org.jscience.mathematics.geometry
Class ParametricCurve2D

java.lang.Object
  extended by org.jscience.mathematics.geometry.GeometryElement
      extended by org.jscience.mathematics.geometry.AbstractParametricCurve
          extended by org.jscience.mathematics.geometry.ParametricCurve2D
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
BoundedCurve2D, Conic2D, Line2D, PolynomialCurve2D

public abstract class ParametricCurve2D
extends AbstractParametricCurve

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

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

See Also:
ParametricCurve3D, Serialized Form

Constructor Summary
protected ParametricCurve2D()
          ����^�����ɃI�u�W�F�N�g��?
 
Method Summary
protected  PointOnCurve2D checkProjection(double Bparam, Point2D p, double dTol2)
          �^����ꂽ�p���??
abstract  CommonNormal2D[] commonNormal(ParametricCurve2D mate)
          ���̋�?
abstract  CommonTangent2D[] commonTangent(ParametricCurve2D mate)
          ���̋�?
abstract  Point2D coordinates(double param)
          ���̋�?
abstract  CurveCurvature2D curvature(double param)
          ���̋�?
 int dimension()
          ���̋�?
protected abstract  ParametricCurve2D doTransformBy(boolean reverseTransform, CartesianTransformationOperator2D transformationOperator, java.util.Hashtable transformedGeometries)
          ���̋�?
abstract  CurveDerivative2D evaluation(double param)
          ���̋�?
 FilletObject2D[] fillet(ParameterSection pint1, int side1, ParametricCurve2D mate, ParameterSection pint2, int side2, double radius)
          ���̋�?
protected  boolean hasPolyline()
          ���̋�?
 boolean identicalParameter(double own_prm1, double own_prm2)
          �^����ꂽ��‚̃p���??
abstract  PointOnCurve2D[] inflexion()
          ���̋�?
abstract  IntersectionPoint2D[] intersect(ParametricCurve2D mate)
          ���̋�?
 boolean is2D()
          ���̋�?
protected  boolean isComposedOfOnlyPolylines()
          ���̋�?
 PointOnCurve2D nearestProjectFrom(Point2D pnt)
          �^����ꂽ�_ P ���炱�̋�?
 PointOnCurve2D nearestProjectWithDistanceFrom(Point2D pnt, double distance)
          �^����ꂽ�_ P ���炱�̋�?
 BoundedCurve2D offsetByBoundedCurve(ParameterSection pint, double magni, int side, ToleranceForDistance tol)
          ���̋�?
abstract  BsplineCurve2D offsetByBsplineCurve(ParameterSection pint, double magni, int side, ToleranceForDistance tol)
          ���̋�?
 double pointToParameter(Point2D pnt)
          �^����ꂽ?
abstract  PointOnCurve2D[] projectFrom(Point2D point)
          �^����ꂽ�_���炱�̋�?
 ParametricCurve2D reverseTransformBy(CartesianTransformationOperator2D transformationOperator, java.util.Hashtable transformedGeometries)
          ���̋�?
abstract  PointOnCurve2D[] singular()
          ���̋�?
abstract  Vector2D tangentVector(double param)
          ���̋�?
abstract  BsplineCurve2D toBsplineCurve(ParameterSection pint)
          ���̋�?
abstract  Polyline2D toPolyline(ParameterSection pint, ToleranceForDistance tol)
          ���̋�?
 ParametricCurve2D transformBy(boolean reverseTransform, CartesianTransformationOperator2D transformationOperator, java.util.Hashtable transformedGeometries)
          ���̋�?
 ParametricCurve2D transformBy(CartesianTransformationOperator2D 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, is3D, 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

ParametricCurve2D

protected ParametricCurve2D()
����^�����ɃI�u�W�F�N�g��?\�z����?B

Method Detail

coordinates

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

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

tangentVector

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

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

curvature

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

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

evaluation

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

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

singular

public abstract PointOnCurve2D[] 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 PointOnCurve2D[] inflexion()
                                    throws IndefiniteSolutionException
���̋�?�̕ϋȓ_��Ԃ���?ۃ?�\�b�h?B

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

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

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

checkProjection

protected PointOnCurve2D checkProjection(double Bparam,
                                         Point2D 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(Point2D)

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 PointOnCurve2D[] projectFrom(Point2D point)
                                      throws IndefiniteSolutionException
�^����ꂽ�_���炱�̋�?�ւ̓��e�_��?�߂钊?ۃ?�\�b�h?B

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

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

toPolyline

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

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

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

toBsplineCurve

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

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

intersect

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

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

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

offsetByBsplineCurve

public abstract BsplineCurve2D offsetByBsplineCurve(ParameterSection pint,
                                                    double magni,
                                                    int side,
                                                    ToleranceForDistance tol)
���̋�?�̎w��̋�Ԃ�I�t�Z�b�g������?��?A �^����ꂽ��?��ŋߎ����� Bspline ��?��?�߂钊?ۃ?�\�b�h?B

Parameters:
pint - �I�t�Z�b�g����p���??[�^���
magni - �I�t�Z�b�g��
side - �I�t�Z�b�g�̌� (WhichSide.LEFT/RIGHT)
tol - �����̋��e��?�
Returns:
���̋�?�̎w��̋�Ԃ̃I�t�Z�b�g��?��ߎ����� Bspline ��?�
See Also:
WhichSide

offsetByBoundedCurve

public BoundedCurve2D offsetByBoundedCurve(ParameterSection pint,
                                           double magni,
                                           int side,
                                           ToleranceForDistance tol)
���̋�?�̎w��̋�Ԃ�I�t�Z�b�g������?��?A �^����ꂽ��?��ŋߎ�����L� �?��?�߂�?B

Parameters:
pint - �I�t�Z�b�g����p���??[�^���
magni - �I�t�Z�b�g��
side - �I�t�Z�b�g�̌� (WhichSide.LEFT/RIGHT)
tol - �����̋��e��?�
Returns:
���̋�?�̎w��̋�Ԃ̃I�t�Z�b�g��?��ߎ�����L� �?�
See Also:
WhichSide

fillet

public FilletObject2D[] fillet(ParameterSection pint1,
                               int side1,
                               ParametricCurve2D mate,
                               ParameterSection pint2,
                               int side2,
                               double radius)
                        throws IndefiniteSolutionException
���̋�?�̎w��̋�Ԃ�?A���̋�?�̎w��̋�Ԃɂ�����t�B���b�g��?�߂�?B

�t�B���b�g����?݂��Ȃ�?�?��ɂ͒��� 0 �̔z���Ԃ�?B

Parameters:
pint1 - ���̋�?�̃p���??[�^���
side1 - ���̋�?�̂ǂ��瑤�Ƀt�B���b�g��?�߂邩���t���O (WhichSide.LEFT�Ȃ��?���?ARIGHT�Ȃ�ΉE��?ABOTH�Ȃ�Η���)
mate - ���̋�?�
pint2 - ���̋�?�̃p���??[�^���
side2 - ���̋�?�̂ǂ��瑤�Ƀt�B���b�g��?�߂邩���t���O (WhichSide.LEFT�Ȃ��?���?ARIGHT�Ȃ�ΉE��?ABOTH�Ȃ�Η���)
radius - �t�B���b�g���a
Returns:
�t�B���b�g�̔z��
Throws:
IndefiniteSolutionException - ��s�� (��������?�ł͔�?����Ȃ�)
See Also:
WhichSide

commonTangent

public abstract CommonTangent2D[] commonTangent(ParametricCurve2D mate)
���̋�?�Ƒ��̋�?�Ƃ̋���?�?��?�߂钊?ۃ?�\�b�h (?���͎����Ȃ�) ?B

����?�?�?݂��Ȃ�?�?��ɂ͒��� 0 �̔z���Ԃ�?B

Parameters:
mate - ���̋�?�
Returns:
����?�?�̔z��

commonNormal

public abstract CommonNormal2D[] commonNormal(ParametricCurve2D mate)
���̋�?�Ƒ��̋�?�Ƃ̋��ʖ@?��?�߂钊?ۃ?�\�b�h (?���͎����Ȃ�) ?B

���ʖ@?�?݂��Ȃ�?�?��ɂ͒��� 0 �̔z���Ԃ�?B

Parameters:
mate - ���̋�?�
Returns:
���ʖ@?�̔z��

dimension

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

?�� 2 ��Ԃ�?B

Specified by:
dimension in class GeometryElement
Returns:
�Q�����Ȃ̂�?A?�� 2

is2D

public boolean is2D()
���̋�?�Q�������ۂ���Ԃ�?B

?�� true ��Ԃ�?B

Overrides:
is2D in class GeometryElement
Returns:
�Q�����Ȃ̂�?A?�� true

nearestProjectFrom

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

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

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

nearestProjectWithDistanceFrom

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

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

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

pointToParameter

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

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

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

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

doTransformBy

protected abstract ParametricCurve2D doTransformBy(boolean reverseTransform,
                                                   CartesianTransformationOperator2D 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 ParametricCurve2D transformBy(boolean reverseTransform,
                                     CartesianTransformationOperator2D 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 ParametricCurve2D transformBy(CartesianTransformationOperator2D 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 ParametricCurve2D reverseTransformBy(CartesianTransformationOperator2D 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 ���̋�?�� BoundedCurve2D �ł���͂��ł���?B

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

isComposedOfOnlyPolylines

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

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

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