org.jscience.mathematics.geometry
Class Circle2D

java.lang.Object
  extended by org.jscience.mathematics.geometry.GeometryElement
      extended by org.jscience.mathematics.geometry.AbstractParametricCurve
          extended by org.jscience.mathematics.geometry.ParametricCurve2D
              extended by org.jscience.mathematics.geometry.Conic2D
                  extended by org.jscience.mathematics.geometry.Circle2D
All Implemented Interfaces:
java.io.Serializable

public class Circle2D
extends Conic2D

�Q���� : �~��\���N���X?B

�~��?A���̒�?S�̈ʒu�Ƌ�?� X/Y ���̕�����?�?W�n (�z�u?��?AAxis2Placement2D) position �� ���a radius �Œ�`�����?B

t ��p���??[�^�Ƃ���~ P(t) �̃p���?�g���b�N�\����?A�ȉ��̒ʂ�?B

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

See Also:
Serialized Form

Constructor Summary
Circle2D(Axis2Placement2D position, double radius)
          ��?
Circle2D(Point2D center, double radius)
          ��?
Circle2D(Point2D pnt1, Point2D pnt2, Point2D pnt3)
          �ʉ߂���O�_��^���ăI�u�W�F�N�g��?
 
Method Summary
 CommonNormal2D[] commonNormal(ParametricCurve2D mate)
          ���̋�?
 CommonTangent2D[] commonTangent(ParametricCurve2D mate)
          ���̋�?
 Point2D coordinates(double param)
          ���̋�?
 CurveCurvature2D curvature(double param)
          ���̋�?
protected  ParametricCurve2D doTransformBy(boolean reverseTransform, CartesianTransformationOperator2D transformationOperator, java.util.Hashtable transformedGeometries)
          ���̋�?
 CurveDerivative2D evaluation(double param)
          ���̋�?
 IntersectionPoint2D[] intersect(ParametricCurve2D mate)
          ���̋�?
 double length(ParameterSection pint)
          �^����ꂽ�p���??
static TrimmedCurve2D makeTrimmedCurve(Point2D center, Point2D startPoint, Point2D endPoint)
          ��?
 BoundedCurve2D offsetByBoundedCurve(ParameterSection pint, double magni, int side, ToleranceForDistance tol)
          ���̋�?
 BsplineCurve2D offsetByBsplineCurve(ParameterSection pint, double magni, int side, ToleranceForDistance tol)
          ���̋�?
protected  void output(java.io.PrintWriter writer, int indent)
          ?
 PointOnCurve2D[] projectFrom(Point2D point)
          �^����ꂽ�_���炱�̋�?
 double radius()
          ���̉~�̔��a��Ԃ�?
 Vector2D tangentVector(double param)
          ���̋�?
 BsplineCurve2D toBsplineCurve(ParameterSection pint)
          ���̋�?
 PureBezierCurve2D[] toPolyBezierCurves(ParameterSection pint)
          ���̋�?
 Polyline2D toPolyline(ParameterSection pint, ToleranceForDistance tol)
          ���̋�?
 
Methods inherited from class org.jscience.mathematics.geometry.Conic2D
convertPolyBezierCurvesToOneBsplineCurve, getControlPointsOfBezierCurve, inflexion, position, singular
 
Methods inherited from class org.jscience.mathematics.geometry.ParametricCurve2D
checkProjection, dimension, fillet, hasPolyline, identicalParameter, is2D, isComposedOfOnlyPolylines, nearestProjectFrom, nearestProjectWithDistanceFrom, pointToParameter, reverseTransformBy, transformBy, transformBy
 
Methods inherited from class org.jscience.mathematics.geometry.AbstractParametricCurve
checkValidity, checkValidity, isClosed, isCurve, isFinite, isInfinite, isNonPeriodic, isOpen, isParametric, isPeriodic, isValid, 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Circle2D

public Circle2D(Axis2Placement2D position,
                double radius)
��?�?W�n�Ɣ��a��^���ăI�u�W�F�N�g��?\�z����?B

position �� null ��?�?��ɂ�?A InvalidArgumentValueException �̗�O��?�����?B

radius �̒l��?A ��?�?ݒ肳��Ă��鉉�Z?�?�̋����̋��e��?�����?�����?�?��ɂ� InvalidArgumentValueException �̗�O��?�����?B

Parameters:
position - ��?S�Ƌ�?� X/Y ���̕�����?�?W�n
radius - ���a
See Also:
InvalidArgumentValueException

Circle2D

public Circle2D(Point2D center,
                double radius)
��?S�Ɣ��a��^���ăI�u�W�F�N�g��?\�z����?B

?\�z�����~�̋�?� X/Y ���̕���?A �O�??[�o����?W�n�� X/Y ���̕��Ɉ�v����?B

center �� null ��?�?��ɂ�?A InvalidArgumentValueException �̗�O��?�����?B

radius �̒l��?A ��?�?ݒ肳��Ă��鉉�Z?�?�̋����̋��e��?�����?�����?�?��ɂ� InvalidArgumentValueException �̗�O��?�����?B

Parameters:
center - ��?S
radius - ���a
See Also:
InvalidArgumentValueException

Circle2D

public Circle2D(Point2D pnt1,
                Point2D pnt2,
                Point2D pnt3)
�ʉ߂���O�_��^���ăI�u�W�F�N�g��?\�z����?B

?\�z�����~�̋�?� X/Y ���̕���?A �O�??[�o����?W�n�� X/Y ���̕��Ɉ�v����?B

pnt1, pnt2, pnt3 �̂����ꂩ�� null ��?�?��ɂ� InvalidArgumentValueException �̗�O��?�����?B

�܂�?Apnt1, pnt2, pnt3 ����?�?�Ԃɂ���?�?��ɂ� InvalidArgumentValueException �̗�O��?�����?B

Parameters:
pnt1 - �~?�̈�_
pnt2 - �~?�̈�_
pnt3 - �~?�̈�_
See Also:
Point2D.center(Point2D,Point2D), InvalidArgumentValueException
Method Detail

radius

public double radius()
���̉~�̔��a��Ԃ�?B

Returns:
���a

length

public double length(ParameterSection pint)
�^����ꂽ�p���??[�^��Ԃɂ����邱�̋�?�̎ ��?�ł̒��� (���̂�) ��Ԃ�?B

pint �ŗ^�������Ԃ� [0, 2 * PI] �Ɏ�܂BĂ���K�v�͂Ȃ�?B �܂�?Apint �̑?���l�͕��ł©�܂�Ȃ�?B

Specified by:
length in class AbstractParametricCurve
Parameters:
pint - ��?�̒�����?�߂�p���??[�^���
Returns:
�w�肳�ꂽ�p���??[�^��Ԃɂ������?�̒���
See Also:
AbstractParametricCurve.parameterDomain()

coordinates

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

Specified by:
coordinates in class ParametricCurve2D
Parameters:
param - �p���??[�^�l
Returns:
?W�l

tangentVector

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

Specified by:
tangentVector in class ParametricCurve2D
Parameters:
param - �p���??[�^�l
Returns:
?ڃx�N�g��

curvature

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

Specified by:
curvature in class ParametricCurve2D
Parameters:
param - �p���??[�^�l
Returns:
�ȗ�

evaluation

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

Specified by:
evaluation in class ParametricCurve2D
Parameters:
param - �p���??[�^�l
Returns:
����?�

projectFrom

public PointOnCurve2D[] projectFrom(Point2D point)
                             throws IndefiniteSolutionException
�^����ꂽ�_���炱�̋�?�ւ̓��e�_��?�߂�?B

�^����ꂽ�_�����̉~�̒�?S�Ɉ�v���Ȃ���?A ?�ɓ�‚̓��e�_��Ԃ�?B

�^����ꂽ�_�Ƃ��̉~�̒�?S�Ƃ̋�����?A ��?�?ݒ肳��Ă��鉉�Z?�?�̋����̋��e��?����� ?�����?�?��ɂ�?A �p���??[�^�l 0 �̓_�� suitable �Ƃ��� IndefiniteSolutionException �̗�O�𓊂���?B

Specified by:
projectFrom in class ParametricCurve2D
Parameters:
point - ���e���̓_
Returns:
���e�_�̔z��
Throws:
IndefiniteSolutionException - �⪕s�� (���e���̓_���~�̒�?S�Ɉ�v����)

toPolyline

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

���ʂƂ��ĕԂ����|�����C����?\?�����_��?A ���̋�?��x?[�X�Ƃ��� PointOnCurve2D �� ���邱�Ƃ��҂ł���?B

�Ȃ�?A���ʂƂ��ē�����|�����C�����_��?k�ނ���悤��?�?��ɂ� ZeroLengthException �̗�O��?�����?B

Overrides:
toPolyline in class Conic2D
Parameters:
pint - ��?�ߎ�����p���??[�^���
tol - �����̋��e��?�
Returns:
���̋�?�̎w��̋�Ԃ�?�ߎ�����|�����C��
See Also:
PointOnCurve2D, ZeroLengthException

toPolyBezierCurves

public PureBezierCurve2D[] toPolyBezierCurves(ParameterSection pint)
���̋�?�̎w��̋�Ԃ�?Č�����L�?�x�W�G��?�̗��Ԃ�?B

pint �̑?���l��?�Βl�� (2 * ��) ��?��?�?��ɂ�?A ����� (2 * ��) �ƌ��Ȃ���?��?����?B

Parameters:
pint - ?�����p���??[�^���
Returns:
���̋�?�̎w��̋�Ԃ�?Č�����L�?�x�W�G��?�̔z��

toBsplineCurve

public BsplineCurve2D toBsplineCurve(ParameterSection pint)
���̋�?�̎w��̋�Ԃ�?Č�����L�?�a�X�v���C����?��Ԃ�?B

pint �̑?���l��?�Βl�� (2 * ��) ��?��?�?��ɂ�?A ����� (2 * ��) �ƌ��Ȃ���?��?��?A �‚����`���̋�?��Ԃ�?B

Specified by:
toBsplineCurve in class ParametricCurve2D
Parameters:
pint - ?�����p���??[�^���
Returns:
���̋�?�̎w��̋�Ԃ�?Č�����L�?�a�X�v���C����?�
See Also:
toPolyBezierCurves(ParameterSection)

intersect

public IntersectionPoint2D[] intersect(ParametricCurve2D mate)
                                throws IndefiniteSolutionException
���̋�?�Ƒ��̋�?�Ƃ̌�_��?�߂�?B

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

�����~�̂Ƃ���?A ��~�̒�?S�Ԃ̋����Ɠ�~�̔��a��?���?A �Ƃ�Ɍ�?�?ݒ肳��Ă��鉉�Z?�?�̋����̋��e��?����?�����?�?��ɂ�?A ��~�̓I?[�o?[���b�v���Ă����̂Ƃ���?A IndefiniteSolutionException �̗�O��?�������?B

Specified by:
intersect in class ParametricCurve2D
Parameters:
mate - ���̋�?�
Returns:
��_�̔z��
Throws:
IndefiniteSolutionException - mate ��~��?A��~�̓I?[�o?[���b�v���Ă���?A�⪕s��ł���

offsetByBsplineCurve

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

Specified by:
offsetByBsplineCurve in class ParametricCurve2D
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

���ʂƂ��ĕԂ����L� �?��?A Circle2D �̃C���X�^���X����?�Ƃ��� TrimmedCurve2D �̃C���X�^���X�ł���?B

Overrides:
offsetByBoundedCurve in class ParametricCurve2D
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

commonTangent

public CommonTangent2D[] commonTangent(ParametricCurve2D mate)
���̋�?�Ƒ��̋�?�Ƃ̋���?�?��?�߂�?B

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

�����_�ł͎�����Ă��Ȃ�����?A UnsupportedOperationException �̗�O��?�����?B

Specified by:
commonTangent in class ParametricCurve2D
Parameters:
mate - ���̋�?�
Returns:
����?�?�̔z��
Throws:
java.lang.UnsupportedOperationException - ���܂̂Ƃ���?A������Ȃ��@�\�ł���

commonNormal

public CommonNormal2D[] commonNormal(ParametricCurve2D mate)
���̋�?�Ƒ��̋�?�Ƃ̋��ʖ@?��?�߂�?B

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

�����_�ł͎�����Ă��Ȃ�����?A UnsupportedOperationException �̗�O��?�����?B

Specified by:
commonNormal in class ParametricCurve2D
Parameters:
mate - ���̋�?�
Returns:
���ʖ@?�̔z��
Throws:
java.lang.UnsupportedOperationException - ���܂̂Ƃ���?A������Ȃ��@�\�ł���

doTransformBy

protected 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

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

output

protected void output(java.io.PrintWriter writer,
                      int indent)
?o�̓X�g��?[���Ɍ`?�?���?o�͂���?B

Specified by:
output in class GeometryElement
Parameters:
writer - PrintWriter
indent - �C���f���g��?[��
See Also:
GeometryElement

makeTrimmedCurve

public static TrimmedCurve2D makeTrimmedCurve(Point2D center,
                                              Point2D startPoint,
                                              Point2D endPoint)
��?S�Ǝn�_?A?I�_����~�ʂ�?�?�����?B

�~�ʂ̓g������?�ŕ\�������?B

�g������?�̕��?�ƂȂ�~�̋�?� X ���̕���?A ��?S����n�_�֌���ƂȂ�?B �܂�?A�~�̔��a��?A?u��?S?|�n�_�Ԃ̋���?v��?u��?S?|?I�_�Ԃ̋���?v�̕��ϒl�ƂȂ�?B ?u��?S?|�n�_�Ԃ̋���?v��?u��?S?|?I�_�Ԃ̋���?v��?��ɂ‚��Ă͓BɈӎ����Ă��Ȃ�?B

�Ȃ�?A�~�ʂ�?A�n�_����?I�_�Ɍ�p���??[�^�?���l��?�Βl�� �΂�z���Ȃ��悤��?�?������?B ��B�?A�~�ʂ�\���g������?�̃p���??[�^�?���l�͕��ɂȂ邱�Ƃ �蓾��?B

Parameters:
center - ��?S
startPoint - �n�_
endPoint - ?I�_
Returns:
�~�ʂ�\���g������?�