org.jscience.mathematics.geometry
Class PolynomialCurve2D

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

public class PolynomialCurve2D
extends ParametricCurve2D

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

���̃N���X�̃C���X�^���X�ɂ�?A�Q������ X, Y ?����� ��‚̑�?��� (X, Y) �ŕ\��?���?�����?��?A �O�‚̑�?��� (WX, WY, W) �ŕ\���L�?��?�����?��?B

X, Y �µ���� WX, XY, W �̊e?�����\����?����͓���?��ł����̂Ƃ���?B

See Also:
Serialized Form

Constructor Summary
PolynomialCurve2D(DoublePolynomial xPoly, DoublePolynomial yPoly)
          ?
PolynomialCurve2D(DoublePolynomial wxPoly, DoublePolynomial wyPoly, DoublePolynomial wPoly)
          �L�?
 
Method Summary
 CommonNormal2D[] commonNormal(ParametricCurve2D mate)
          ���̋�?
 CommonTangent2D[] commonTangent(ParametricCurve2D mate)
          ���̋�?
 Point2D coordinates(double param)
          ���̋�?
 DoublePolynomial crossProductD1D2()
          ���̋�?
 CurveCurvature2D curvature(double param)
          ���̋�?
 int degree()
          ���̑�?
protected  ParametricCurve2D doTransformBy(boolean reverseTransform, CartesianTransformationOperator2D transformationOperator, java.util.Hashtable transformedGeometries)
          ���̋�?
 CurveDerivative2D evaluation(double param)
          ���̋�?
 FilletObject2D[] fillet(ParameterSection pint1, int side1, ParametricCurve2D mate, ParameterSection pint2, int side2, double radius)
          ���̋�?
 PointOnCurve2D[] inflexion()
          ���̋�?
 IntersectionPoint2D[] intersect(ParametricCurve2D mate)
          ���̋�?
 boolean isFreeform()
          ���̊􉽗v�f�����R�`?
 boolean isIntegral()
          ���̋�?
 boolean isRational()
          ���̋�?
 double length(ParameterSection pint)
          �^����ꂽ�p���??
static void main(java.lang.String[] argv)
          �f�o�b�O�p�?
 BsplineCurve2D offsetByBsplineCurve(ParameterSection pint, double magni, int side, ToleranceForDistance tol)
          ���̋�?
protected  void output(java.io.PrintWriter writer, int indent)
          ?
 PointOnCurve2D[] projectFrom(Point2D mate)
          �^����ꂽ�_���炱�̋�?
 PointOnCurve2D[] singular()
          ���̋�?
 Vector2D tangentVector(double param)
          ���̋�?
 BsplineCurve2D toBsplineCurve(ParameterSection section)
          ���̋�?
 Polyline2D toPolyline(ParameterSection section, ToleranceForDistance tolerance)
          ���̋�?
 
Methods inherited from class org.jscience.mathematics.geometry.ParametricCurve2D
checkProjection, dimension, 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, 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

PolynomialCurve2D

public PolynomialCurve2D(DoublePolynomial xPoly,
                         DoublePolynomial yPoly)
?���?��� (integral polynomial) ��?�Ƃ��ăI�u�W�F�N�g��?\�z����?B

Parameters:
xPoly - X ?�����\����?���
yPoly - Y ?�����\����?���

PolynomialCurve2D

public PolynomialCurve2D(DoublePolynomial wxPoly,
                         DoublePolynomial wyPoly,
                         DoublePolynomial wPoly)
�L�?��?��� (rational polynomial) ��?�Ƃ��ăI�u�W�F�N�g��?\�z����?B

��?�̑��?����ɂ‚��Ă̑�?����̒l�� X �ł͂Ȃ� WX ��\�����Ƃɒ?��?B ���?����ɂ‚��Ă̑�?����̒l��?A���l��?AY �ł͂Ȃ� WY ��\��?B

Parameters:
wxPoly - WX ?�����\����?���
wyPoly - WY ?�����\����?���
wPoly - W ?�����\����?���
Method Detail

degree

public int degree()
���̑�?�����?�̎�?���Ԃ�?B

Returns:
��?�̎�?�

isIntegral

public boolean isIntegral()
���̋�?�?���?����`�����ۂ���Ԃ�?B

Returns:
?���?����`���Ȃ�� true?A�����łȂ���� false

isRational

public boolean isRational()
���̋�?�L�?�`�����ۂ���Ԃ�?B

Returns:
�L�?�`���Ȃ�� true?A�����łȂ���� false

isFreeform

public boolean isFreeform()
���̊􉽗v�f�����R�`?󂩔ۂ���Ԃ�?B

Overrides:
isFreeform in class GeometryElement
Returns:
?�� true

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

singular

public PointOnCurve2D[] singular()
���̋�?�̓Hٓ_��Ԃ�?B

���܂̂Ƃ���?A���̋@�\�̓T�|?[�g����Ă��Ȃ�����?A?�� UnsupportedOperationException �̗�O��?�����?B

Specified by:
singular in class ParametricCurve2D
Returns:
�Hٓ_�̔z��
See Also:
UnsupportedOperationException

inflexion

public PointOnCurve2D[] inflexion()
���̋�?�̕ϋȓ_��Ԃ�?B

���܂̂Ƃ���?A���̋@�\�̓T�|?[�g����Ă��Ȃ�����?A?�� UnsupportedOperationException �̗�O��?�����?B

Specified by:
inflexion in class ParametricCurve2D
Returns:
�ϋȓ_�̔z��
See Also:
UnsupportedOperationException

projectFrom

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

���܂̂Ƃ���?A���̋@�\�̓T�|?[�g����Ă��Ȃ�����?A?�� UnsupportedOperationException �̗�O��?�����?B

Specified by:
projectFrom in class ParametricCurve2D
Parameters:
point - ���e���̓_
Returns:
���e�_�̔z��
See Also:
UnsupportedOperationException

toPolyline

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

���܂̂Ƃ���?A���̋@�\�̓T�|?[�g����Ă��Ȃ�����?A?�� UnsupportedOperationException �̗�O��?�����?B

Specified by:
toPolyline in class ParametricCurve2D
Parameters:
section - ��?�ߎ�����p���??[�^���
tolerance - �����̋��e��?�
Returns:
���̋�?�̎w��̋�Ԃ�?�ߎ�����|�����C��
See Also:
UnsupportedOperationException

toBsplineCurve

public BsplineCurve2D toBsplineCurve(ParameterSection section)
���̋�?�̎w��̋�Ԃ쵖���?Č�����L�? Bspline ��?��Ԃ�?B

���܂̂Ƃ���?A���̋@�\�̓T�|?[�g����Ă��Ȃ�����?A?�� UnsupportedOperationException �̗�O��?�����?B

Specified by:
toBsplineCurve in class ParametricCurve2D
Parameters:
section - �L�? Bspline ��?��?�����p���??[�^���
Returns:
���̋�?�̎w��̋�Ԃ�?Č�����L�? Bspline ��?�
See Also:
UnsupportedOperationException

intersect

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

���܂̂Ƃ���?A���̋@�\�̓T�|?[�g����Ă��Ȃ�����?A?�� UnsupportedOperationException �̗�O��?�����?B

Specified by:
intersect in class ParametricCurve2D
Parameters:
mate - ���̋�?�
Returns:
��_�̔z��
See Also:
UnsupportedOperationException

offsetByBsplineCurve

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

���܂̂Ƃ���?A���̋@�\�̓T�|?[�g����Ă��Ȃ�����?A?�� UnsupportedOperationException �̗�O��?�����?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, UnsupportedOperationException

fillet

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

���܂̂Ƃ���?A���̋@�\�̓T�|?[�g����Ă��Ȃ�����?A?�� UnsupportedOperationException �̗�O��?�����?B

Overrides:
fillet in class ParametricCurve2D
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��
See Also:
WhichSide, UnsupportedOperationException

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������Ȃ��@�\�ł���

length

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

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

crossProductD1D2

public DoublePolynomial crossProductD1D2()
���̋�?�̈ꎟ����?��Ɠ񎟓���?��̊O?ς�\����?�����?�߂�?B

Returns:
�ꎟ����?��Ɠ񎟓���?��̊O?ς�\�����鑽?���

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

���܂̂Ƃ���?A���̋@�\�̓T�|?[�g����Ă��Ȃ�����?A?�� UnsupportedOperationException �̗�O��?�����?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
See Also:
UnsupportedOperationException

output

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

���܂̂Ƃ���?A���̋@�\�̓T�|?[�g����Ă��Ȃ�����?A?�� UnsupportedOperationException �̗�O��?�����?B

Specified by:
output in class GeometryElement
Parameters:
writer - ?o�̓X�g��?[��
indent - �C���f���g��?[��
See Also:
UnsupportedOperationException

main

public static void main(java.lang.String[] argv)
�f�o�b�O�p�?�C���v�?�O����?B