org.jscience.mathematics.geometry
Class Point2D

java.lang.Object
  extended by org.jscience.mathematics.geometry.GeometryElement
      extended by org.jscience.mathematics.geometry.AbstractPoint
          extended by org.jscience.mathematics.geometry.Point2D
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
CartesianPoint2D, HomogeneousPoint2D, IntersectionPoint2D, PointOnGeometry2D

public abstract class Point2D
extends AbstractPoint

�Q�����̓_��\����?ۃN���X?B

See Also:
Vector2D, Serialized Form

Field Summary
static Point2D origin
          �Q�����̌��_ (0, 0)?
 
Constructor Summary
protected Point2D()
          �I�u�W�F�N�g��?
 
Method Summary
 Point2D add(Vector2D vector)
          ���̓_�ɗ^����ꂽ�x�N�g���𑫂����_��Ԃ�?
 Point2D center(Point2D pnt2, Point2D pnt3)
          �O�_����̓������_��?
static Point2D center(Point2D pnt1, Point2D pnt2, Point2D pnt3)
          �O�_����̓������_��?
 int dimension()
          ������Ԃ�?
 double distance(Point2D mate)
          ���̓_�Ɨ^����ꂽ�_�Ƃ̊Ԃ̋�����Ԃ�?
 double distance2(Point2D mate)
          ���̓_�Ɨ^����ꂽ�_�Ƃ̊Ԃ̋����̎�?
 Point2D divide(double scale)
          ���̓_��^����ꂽ�X�P?
protected abstract  Point2D doTransformBy(boolean reverseTransform, CartesianTransformationOperator2D transformationOperator, java.util.Hashtable transformedGeometries)
          ���̓_��?
 boolean identical(Point2D mate)
          �Q�_�̓���?
 boolean is2D()
          �Q�������ۂ���Ԃ�

?

 boolean isIn(ParametricCurve2D mate)
          ���̓_��?
 boolean isInsideOf(ParametricCurve2D mate)
          ���̓_��?
 boolean isOn(ParametricCurve2D mate)
          ���̓_���^����ꂽ��?
 Point2D linearInterpolate(Point2D mate, double weightForThis)
          ���̓_�Ɨ^����ꂽ�_��?
 Point2D longestPoint(Point2D[] pnts)
          �^����ꂽ�_��̒���?
 Point2D longestPoint(Point2D[] pnts, int start, int end)
          �^����ꂽ�_��̎w��͈̔͂̒���?
 Point2D midPoint(Point2D mate)
          ���̓_�Ɨ^����ꂽ�_�̒��_��Ԃ�?
 Point2D multiply(double scale)
          ���̓_�ɗ^����ꂽ�X�P?
static CartesianPoint2D of(double[] components)
          CartesianPoint2D �̃C���X�^���X��?
static CartesianPoint2D of(double x, double y)
          CartesianPoint2D �̃C���X�^���X��?
 PointOnCurve2D[] project(ParametricCurve2D mate)
          ���̓_����^����ꂽ��?
static Point2D[] reverseTransform(Point2D[] points, CartesianTransformationOperator2D transformationOperator, java.util.Hashtable transformedGeometries)
          �_���?
 Point2D reverseTransformBy(CartesianTransformationOperator2D transformationOperator, java.util.Hashtable transformedGeometries)
          ���̓_��?
 Vector2D subtract(Point2D mate)
          ���̓_�Ɨ^����ꂽ�_�Ƃ�?
 Point2D subtract(Vector2D vector)
          ���̓_����^����ꂽ�x�N�g����򢂽�_��Ԃ�?
 Vector2D toVector2D()
          ���̓_��Q�����̃x�N�g�� (Vector2D) �ɕϊ�����?
static Point2D[] transform(Point2D[] points, boolean reverseTransform, CartesianTransformationOperator2D transformationOperator, java.util.Hashtable transformedGeometries)
          �_���?
static Point2D[] transform(Point2D[] points, CartesianTransformationOperator2D transformationOperator, java.util.Hashtable transformedGeometries)
          �_���?
 Point2D transformBy(boolean reverseTransform, CartesianTransformationOperator2D transformationOperator, java.util.Hashtable transformedGeometries)
          ���̓_��?
 Point2D transformBy(CartesianTransformationOperator2D transformationOperator, java.util.Hashtable transformedGeometries)
          ���̓_��?
abstract  double x()
          �_�� X ?
abstract  double y()
          �_�� Y ?
 
Methods inherited from class org.jscience.mathematics.geometry.AbstractPoint
isPoint
 
Methods inherited from class org.jscience.mathematics.geometry.GeometryElement
getClassName, getToleranceForAngle, getToleranceForAngleAsObject, getToleranceForDistance, getToleranceForDistance2, getToleranceForDistanceAsObject, getToleranceForParameter, getToleranceForParameterAsObject, getToleranceForRealNumber, getToleranceForRealNumberAsObject, is1D, is3D, isCurve, isFreeform, isParametric, isPlacement, isSurface, isTransformationOperator, isVector, makeIndent, output, output
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

origin

public static final Point2D origin
�Q�����̌��_ (0, 0)?B

Constructor Detail

Point2D

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

Method Detail

dimension

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

?�� 2 ��Ԃ�?B

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

is2D

public boolean is2D()
�Q�������ۂ���Ԃ�

?�� true ��Ԃ�?B

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

x

public abstract double x()
�_�� X ?W�l��Ԃ���?ۃ?�\�b�h?B

Returns:
�_�� X ?W�l

y

public abstract double y()
�_�� Y ?W�l��Ԃ���?ۃ?�\�b�h?B

Returns:
�_�� Y ?W�l

add

public Point2D add(Vector2D vector)
���̓_�ɗ^����ꂽ�x�N�g���𑫂����_��Ԃ�?B

Parameters:
vector - �_�ɑ����x�N�g��
Returns:
�^����ꂽ�x�N�g���𑫂����_ (this + vector)

subtract

public Point2D subtract(Vector2D vector)
���̓_����^����ꂽ�x�N�g����򢂽�_��Ԃ�?B

Parameters:
vector - �_�����x�N�g��
Returns:
�^����ꂽ�x�N�g����򢂽�_ (this - vector)

subtract

public Vector2D subtract(Point2D mate)
���̓_�Ɨ^����ꂽ�_�Ƃ�?���Ԃ�?B

Parameters:
mate - ?����鑊��̓_
Returns:
��_��?� (this - mate)

multiply

public Point2D multiply(double scale)
���̓_�ɗ^����ꂽ�X�P?[����?悶���_��Ԃ�?B

Parameters:
scale - �X�P?[��
Returns:
(this * scale)

divide

public Point2D divide(double scale)
���̓_��^����ꂽ�X�P?[���Ŋ��B��_��Ԃ�?B

Parameters:
scale - �X�P?[��
Returns:
(this / scale)

linearInterpolate

public Point2D linearInterpolate(Point2D mate,
                                 double weightForThis)
���̓_�Ɨ^����ꂽ�_��?�^��Ԃ������ʂ�Ԃ�?B

Parameters:
mate - ?�`��Ԃ̑���ƂȂ�_
weightForThis - ��?g�ɑ΂���?d�� (����ɑ΂���?d�݂� 1 - weightForThis)
Returns:
?�`��Ԃ������ʂ̓_ (weightForThis * this + (1 - weightForThis) * mate)

midPoint

public Point2D midPoint(Point2D mate)
���̓_�Ɨ^����ꂽ�_�̒��_��Ԃ�?B

Parameters:
mate - ���_��?�߂鑊��ƂȂ�_
Returns:
���_ (0.5 * this + 0.5 * mate)

identical

public boolean identical(Point2D mate)
�Q�_�̓���?��𔻒肷��?B

Parameters:
mate - ����̑�?ۂƂȂ�_
Returns:
this �� mate ��?u�����̋��e��?�?v�ȓ�� ����̓_�ł���Ƃ݂Ȃ���� true?A����Ȃ��� false
See Also:
ConditionOfOperation

toVector2D

public Vector2D toVector2D()
���̓_��Q�����̃x�N�g�� (Vector2D) �ɕϊ�����?B

Returns:
���_����̃x�N�g���Ƃ݂Ȃ����x�N�g��

project

public PointOnCurve2D[] project(ParametricCurve2D mate)
                         throws IndefiniteSolutionException
���̓_����^����ꂽ��?�ւ̓��e�_��?�߂�?B

Parameters:
mate - ���e��?ۂ̋�?�
Returns:
�w�肳�ꂽ��?�ւ̓��e�_ (��?݂��Ȃ��Ƃ��͒���0�̔z���Ԃ�)
Throws:
IndefiniteSolutionException - �⪕s��ł���

isOn

public boolean isOn(ParametricCurve2D mate)
���̓_���^����ꂽ��?��?��?�BĂ��邩�ǂ�����Ԃ�?B

Parameters:
mate - �����?ۂ̋�?�
Returns:
��?��?��?�BĂ���� true?A�����łȂ���� false

isIn

public boolean isIn(ParametricCurve2D mate)
             throws OpenCurveException
���̓_��?u���Ȋ�?‚��Ȃ��‹�?�?v�̓Ѥ�ɂ��邩�ǂ�����Ԃ�?B

�_����?��?�BĂ���?�?��ɂ�?u�Ѥ�ɂ���?v��̂Ƃ���?B

�Ȃ�?Amate �����Ȋ�?‚��Ȃ����Ƃ�?A�Ă�?o�����ŕ�?؂���K�v������?B

Parameters:
mate - �����?ۂ̕‹�?�
Returns:
�‹�?�̓Ѥ�ɂ���� true?A�����łȂ���� false
Throws:
OpenCurveException - mate �͊J������?�ł���

isInsideOf

public boolean isInsideOf(ParametricCurve2D mate)
                   throws OpenCurveException
���̓_��?u���Ȋ�?‚��Ȃ��‹�?�?v�̓Ѥ�ɂ��邩�ǂ�����Ԃ�?B

�_����?��?�BĂ���?�?��ɂ�?u�O���ɂ���?v��̂Ƃ���?B

�Ȃ�?Amate �����Ȋ�?‚��Ȃ����Ƃ�?A�Ă�?o�����ŕ�?؂���K�v������?B

Parameters:
mate - �����?ۂ̕‹�?�
Returns:
�‹�?�̓Ѥ�ɂ���� true?A�����łȂ���� false
Throws:
OpenCurveException - mate �͊J������?�ł���

distance

public double distance(Point2D mate)
���̓_�Ɨ^����ꂽ�_�Ƃ̊Ԃ̋�����Ԃ�?B

Parameters:
mate - ������?�߂�_
Returns:
this - mate �Ԃ̋���

distance2

public double distance2(Point2D mate)
���̓_�Ɨ^����ꂽ�_�Ƃ̊Ԃ̋����̎�?��Ԃ�?B

Parameters:
mate - �����̎�?��?�߂�_
Returns:
this - mate �Ԃ̋����̎�?�

longestPoint

public Point2D longestPoint(Point2D[] pnts)
�^����ꂽ�_��̒���?A���̓_����?łɓ���_��Ԃ�?B

Parameters:
pnts - �_��
Returns:
?łɓ���_

longestPoint

public Point2D longestPoint(Point2D[] pnts,
                            int start,
                            int end)
�^����ꂽ�_��̎w��͈̔͂̒���?A���̓_����?łɓ���_��Ԃ�?B

Parameters:
pnts - �_��
start - �J�n�_�̃C���f�b�N�X (0 ~ pnts.length - 1)
end - ?I���_�̃C���f�b�N�X (0 ~ pnts.length - 1, start <= end)
Returns:
?łɓ���_

center

public Point2D center(Point2D pnt2,
                      Point2D pnt3)
�O�_����̓������_��?�߂�?B

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

�܂�?A�O�_����?�?�Ԃɂ���?�?��ɂ� InvalidArgumentValueException �̗�O��?�����?B

Parameters:
pnt2 - �_2
pnt3 - �_3
Returns:
this, pnt2, pnt3 ����̓������_

center

public static Point2D center(Point2D pnt1,
                             Point2D pnt2,
                             Point2D pnt3)
�O�_����̓������_��?�߂�?B

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

�܂�?A�O�_����?�?�Ԃɂ���?�?��ɂ� InvalidArgumentValueException �̗�O��?�����?B

Parameters:
pnt1 - �_1
pnt2 - �_2
pnt3 - �_3
Returns:
�O�_����̓������_

doTransformBy

protected abstract Point2D 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 Point2D 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 Point2D 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 Point2D 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

transform

public static Point2D[] transform(Point2D[] points,
                                  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

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

transformedGeometries �� null �ł�?\��Ȃ�?B transformedGeometries �� null ��?�?��ɂ�?A ?�ɑ�?ۂƂȂ�_�� transformationOperator �ŕϊ�������̂�Ԃ�?B

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

transform

public static Point2D[] transform(Point2D[] points,
                                  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

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

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

transformedGeometries �� null �ł�?\��Ȃ�?B transformedGeometries �� null ��?�?��ɂ�?A ?�ɑ�?ۂƂȂ�_�� transformationOperator �ŕϊ�������̂�Ԃ�?B

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

reverseTransform

public static Point2D[] reverseTransform(Point2D[] points,
                                         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

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

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

transformedGeometries �� null �ł�?\��Ȃ�?B transformedGeometries �� null ��?�?��ɂ�?A ?�ɑ�?ۂƂȂ�_�� transformationOperator �ŋt�ϊ�������̂�Ԃ�?B

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

of

public static CartesianPoint2D of(double x,
                                  double y)
CartesianPoint2D �̃C���X�^���X��?�?�����?B

Parameters:
x - X ?���
y - Y ?���
Returns:
CartesianPoint2D �̃C���X�^���X

of

public static CartesianPoint2D of(double[] components)
CartesianPoint2D �̃C���X�^���X��?�?�����?B

Parameters:
components - X, Y?����̔z�� (�v�f?� 2)
Returns:
CartesianPoint2D �̃C���X�^���X