org.jscience.mathematics.geometry
Class Ellipse2D

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.Ellipse2D
All Implemented Interfaces:
java.io.Serializable

public class Ellipse2D
extends Conic2D

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

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

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

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

See Also:
Serialized Form

Constructor Summary
Ellipse2D(Axis2Placement2D position, double semiAxis1, double semiAxis2)
          ��?
 
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���??
 BsplineCurve2D offsetByBsplineCurve(ParameterSection pint, double magni, int side, ToleranceForDistance tol)
          ���̋�?
protected  void output(java.io.PrintWriter writer, int indent)
          ?
 PointOnCurve2D[] projectFrom(Point2D point)
          �^����ꂽ�_���炱�̋�?
 double semiAxis1()
          ���̑ȉ~�̔��a1 (��?
 double semiAxis2()
          ���̑ȉ~�̔��a2 (��?
 Vector2D tangentVector(double param)
          ���̋�?
 BsplineCurve2D toBsplineCurve(ParameterSection pint)
          ���̋�?
 PureBezierCurve2D[] toPolyBezierCurves(ParameterSection pint)
          ���̋�?
 double xRadius()
          semiAxis1() �̕ʖ��?
 double yRadius()
          semiAxis2() �̕ʖ��?
 
Methods inherited from class org.jscience.mathematics.geometry.Conic2D
convertPolyBezierCurvesToOneBsplineCurve, getControlPointsOfBezierCurve, inflexion, position, singular, toPolyline
 
Methods inherited from class org.jscience.mathematics.geometry.ParametricCurve2D
checkProjection, dimension, fillet, hasPolyline, identicalParameter, is2D, isComposedOfOnlyPolylines, nearestProjectFrom, nearestProjectWithDistanceFrom, offsetByBoundedCurve, 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

Ellipse2D

public Ellipse2D(Axis2Placement2D position,
                 double semiAxis1,
                 double semiAxis2)
��?�?W�n�Ɗe���ɑ΂��锼�a��^���ăI�u�W�F�N�g��?\�z����?B

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

semiAxis1, semiAxis2 �̂����ꂩ�̒l�� ��?�?ݒ肳��Ă��鉉�Z?�?�̋����̋��e��?����?�����?�?��ɂ� InvalidArgumentValueException �̗�O��?�����?B

Parameters:
position - ��?S�Ƌ�?� X/Y ���̕�����?�?W�n
semiAxis1 - ���a1 (��?� X ���ɑ΂��锼�a)
semiAxis2 - ���a2 (��?� Y ���ɑ΂��锼�a)
See Also:
InvalidArgumentValueException
Method Detail

semiAxis1

public double semiAxis1()
���̑ȉ~�̔��a1 (��?�?W�n�� X �����̔��a) ��Ԃ�?B

Returns:
���a1

xRadius

public double xRadius()
semiAxis1() �̕ʖ��?�\�b�h?B

Returns:
���a1

semiAxis2

public double semiAxis2()
���̑ȉ~�̔��a2 (��?�?W�n�� Y �����̔��a) ��Ԃ�?B

Returns:
���a2

yRadius

public double yRadius()
semiAxis2() �̕ʖ��?�\�b�h?B

Returns:
���a2

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

���̑ȉ~���~�`?� (�e���ɑ΂��锼�a��������) ��?A �^����ꂽ�_�Ƃ��̑ȉ~�̒�?S�Ƃ̋�����?A ��?�?ݒ肳��Ă��鉉�Z?�?�̋����̋��e��?����� ?�����?�?��ɂ�?A �p���??[�^�l 0 �̓_�� suitable �Ƃ��� IndefiniteSolutionException �̗�O�𓊂���?B

[�Ք?��?]
����l���̑�?�����?���?�߂邱�ƂɋA��������?A��?��I�ɉ⢂Ă���?B

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

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����?�

intersect

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

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

�����ȉ~�̂Ƃ���?A ��?�?ݒ肳��Ă��鉉�Z?�?�̉���?A ��ȉ~�̒�?S�Ԃ̋����������̋��e��?����?�����?A ��ȉ~�̋�?� X ���̂Ȃ��p�x���p�x�̋��e��?����?�����?A ��ȉ~�̋�?� X/Y �����ꂼ��ɂ‚��Ă̔��a��?��������̋��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

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