org.jscience.mathematics.geometry
Class PolynomialCurve3D

java.lang.Object
  extended by org.jscience.mathematics.geometry.GeometryElement
      extended by org.jscience.mathematics.geometry.AbstractParametricCurve
          extended by org.jscience.mathematics.geometry.ParametricCurve3D
              extended by org.jscience.mathematics.geometry.PolynomialCurve3D
All Implemented Interfaces:
java.io.Serializable

public class PolynomialCurve3D
extends ParametricCurve3D

�R���� : ��?�����?��\���N���X?B

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

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

See Also:
Serialized Form

Constructor Summary
PolynomialCurve3D(DoublePolynomial xPoly, DoublePolynomial yPoly, DoublePolynomial zPoly)
          ?
PolynomialCurve3D(DoublePolynomial wxPoly, DoublePolynomial wyPoly, DoublePolynomial wzPoly, DoublePolynomial wPoly)
          �L�?
 
Method Summary
 Point3D coordinates(double param)
          ���̋�?
 DoublePolynomial[] crossProductD1D2()
          ���̋�?
 CurveCurvature3D curvature(double param)
          ���̋�?
 int degree()
          ���̑�?
protected  ParametricCurve3D doTransformBy(boolean reverseTransform, CartesianTransformationOperator3D transformationOperator, java.util.Hashtable transformedGeometries)
          ���̋�?
 CurveDerivative3D evaluation(double param)
          ���̋�?
 PointOnCurve3D[] inflexion()
          ���̋�?
 IntersectionPoint3D[] intersect(ParametricCurve3D mate)
          ���̋�?
 IntersectionPoint3D[] intersect(ParametricSurface3D 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�?
protected  void output(java.io.PrintWriter writer, int indent)
          ?
 ParametricCurve3D parallelTranslate(Vector3D moveVec)
          ���̋�?
 PointOnCurve3D[] projectFrom(Point3D mate)
          �^����ꂽ�_���炱�̋�?
 PointOnCurve3D[] singular()
          ���̋�?
 Vector3D tangentVector(double param)
          ���̋�?
 BsplineCurve3D toBsplineCurve(ParameterSection section)
          ���̋�?
 Polyline3D toPolyline(ParameterSection section, ToleranceForDistance tolerance)
          ���̋�?
 double torsion(double param)
          ���̋�?
 
Methods inherited from class org.jscience.mathematics.geometry.ParametricCurve3D
checkProjection, dimension, hasPolyline, identicalParameter, is3D, 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, is2D, 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

PolynomialCurve3D

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

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

PolynomialCurve3D

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

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

Parameters:
wxPoly - WX ?�����\����?���
wyPoly - WY ?�����\����?���
wzPoly - WZ ?�����\����?���
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

parallelTranslate

public ParametricCurve3D parallelTranslate(Vector3D moveVec)
���̋�?��?A�^����ꂽ�x�N�g����?]�Bĕ�?s�ړ�������?��Ԃ�?B

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

Specified by:
parallelTranslate in class ParametricCurve3D
Parameters:
moveVec - ��?s�ړ��̕��Ɨʂ�\���x�N�g��
Returns:
��?s�ړ���̋�?�
See Also:
UnsupportedOperationException

isFreeform

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

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

coordinates

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

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

tangentVector

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

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

curvature

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

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

torsion

public double torsion(double param)
���̋�?��?A�^����ꂽ�p���??[�^�l�ł̃��C����Ԃ�?B

Specified by:
torsion in class ParametricCurve3D
Parameters:
param - �p���??[�^�l
Returns:
���C��

evaluation

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

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

singular

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

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

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

inflexion

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

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

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

projectFrom

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

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

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

toPolyline

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

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

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

toBsplineCurve

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

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

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

intersect

public IntersectionPoint3D[] intersect(ParametricCurve3D mate)
���̋�?�Ƒ��̋�?�̌�_��?�߂�?B

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

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

intersect

public IntersectionPoint3D[] intersect(ParametricSurface3D mate)
                                throws IndefiniteSolutionException
���̋�?�Ƒ��̋Ȗʂ̌�_��?�߂�?B

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

Specified by:
intersect in class ParametricCurve3D
Parameters:
mate - ���̋Ȗ�
Returns:
��_�̔z��
Throws:
IndefiniteSolutionException - �⪕s��ł���
See Also:
UnsupportedOperationException

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 ParametricCurve3D doTransformBy(boolean reverseTransform,
                                          CartesianTransformationOperator3D 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 ParametricCurve3D
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 - ?o�̓X�g��?[��
indent - �C���f���g��?[��

main

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