org.jscience.mathematics.geometry
Class Plane3D

java.lang.Object
  extended by org.jscience.mathematics.geometry.GeometryElement
      extended by org.jscience.mathematics.geometry.AbstractParametricSurface
          extended by org.jscience.mathematics.geometry.ParametricSurface3D
              extended by org.jscience.mathematics.geometry.ElementarySurface3D
                  extended by org.jscience.mathematics.geometry.Plane3D
All Implemented Interfaces:
java.io.Serializable

public class Plane3D
extends ElementarySurface3D

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

���̃N���X�ɓWL�ȑ�?���\���t�B?[���h�͓BɂȂ�?B ���ʂ̋�?��I�Ȍ��_�Ɗe���̕����z�u?�� (��?�?W�n) ��?A �X?[�p?[�N���X �� position �ŕێ?�����?B

���ʂ̃p���??[�^��`��� U/V �����Ƃ��?A���Ŕ���I�ł���?B

(u, v) ��p���??[�^�Ƃ��镽�� P(u, v) �̃p���?�g���b�N�\����?A�ȉ��̒ʂ�?B

        P(u, v) = c + u * x + v * y
 
������?Ac, x, y �͂��ꂼ��
        c : position.location()
        x : position.x()
        y : position.y()
 
��\��?B

See Also:
Serialized Form

Constructor Summary
Plane3D(Axis2Placement3D position)
          ��?
Plane3D(Point3D pnt, Vector3D normal)
          ��?
 
Method Summary
 Point3D coordinates(double uParam, double vParam)
          ���̋Ȗʂ�?
static Vector3D coplaner(Point3D[] points)
          �^����ꂽ�_�Q�����ꕽ��?
 SurfaceCurvature3D curvature(double uParam, double vParam)
          ���̋Ȗʂ�?
protected  ParametricSurface3D doTransformBy(boolean reverseTransform, CartesianTransformationOperator3D transformationOperator, java.util.Hashtable transformedGeometries)
          ���̋Ȗʂ�?
 SurfaceDerivative3D evaluation(double uParam, double vParam)
          ���̋Ȗʂ�?
 IntersectionPoint3D[] intersect(ParametricCurve3D mate)
          ���̋ȖʂƑ��̋�?
 SurfaceSurfaceInterference3D[] intersect(ParametricSurface3D mate)
          ���̋ȖʂƑ��̋Ȗʂ̌�?
 IntersectionPoint3D intersect1(Line3D mate)
          ���̕��ʂƗ^����ꂽ��?
 Line3D intersect1Plane(Plane3D mate)
          ���̕��ʂƑ��̕��ʂ̂�����‚����̌�?
 Vector3D normalVector(double uParam, double vParam)
          ���̋Ȗʂ�?
 BsplineSurface3D offsetByBsplineSurface(ParameterSection uPint, ParameterSection vPint, double magni, int side, ToleranceForDistance tol)
          ���̋Ȗʂ̎w��� (�p���??
protected  void output(java.io.PrintWriter writer, int indent)
          ?
 PointOnSurface3D project1From(Point3D point)
          �^����ꂽ�_���炱�̋Ȗʂւ� (��‚�����?݂
 PointOnSurface3D[] projectFrom(Point3D point)
          �^����ꂽ�_���炱�̋Ȗʂւ̓��e�_��?
 Vector3D[] tangentVector(double uParam, double vParam)
          ���̋Ȗʂ�?
 BsplineSurface3D toBsplineSurface(ParameterSection uPint, ParameterSection vPint)
          ���̋Ȗʂ̎w��� (�p���??
 Mesh3D toMesh(ParameterSection uPint, ParameterSection vPint, ToleranceForDistance tol)
          ���̋Ȗʂ̎w��� (�p���??
 java.util.Vector toNonStructuredPoints(ParameterSection uParameterSection, ParameterSection vParameterSection, double tolerance, double[] scalingFactor)
          ���̋Ȗʂ̎w��� (�p���??
 ParametricCurve3D uIsoParametricCurve(double uParam)
          ���̋Ȗʂ� U �p���??
 ParametricCurve3D vIsoParametricCurve(double vParam)
          ���̋Ȗʂ� V �p���??
 
Methods inherited from class org.jscience.mathematics.geometry.ElementarySurface3D
position, toGlobal
 
Methods inherited from class org.jscience.mathematics.geometry.ParametricSurface3D
dimension, fillet, is3D, nearestProjectFrom, nearestProjectWithDistanceFrom, pointToParameter, reverseTransformBy, transformBy, transformBy
 
Methods inherited from class org.jscience.mathematics.geometry.AbstractParametricSurface
checkUValidity, checkUValidity, checkVValidity, checkVValidity, isParametric, isSurface, isUFinite, isUInfinite, isUNonPeriodic, isUPeriodic, isValidUParameter, isValidVParameter, isVFinite, isVInfinite, isVNonPeriodic, isVPeriodic, uParameterDomain, vParameterDomain
 
Methods inherited from class org.jscience.mathematics.geometry.GeometryElement
getClassName, getToleranceForAngle, getToleranceForAngleAsObject, getToleranceForDistance, getToleranceForDistance2, getToleranceForDistanceAsObject, getToleranceForParameter, getToleranceForParameterAsObject, getToleranceForRealNumber, getToleranceForRealNumberAsObject, is1D, is2D, isCurve, isFreeform, isPlacement, isPoint, isTransformationOperator, isVector, makeIndent, output
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Plane3D

public Plane3D(Axis2Placement3D position)
��?�?W�n��w�肵�ăI�u�W�F�N�g��?\�z����?B

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

Parameters:
position - ��?����_�Ɗe���̕�����?�?W�n
See Also:
InvalidArgumentValueException

Plane3D

public Plane3D(Point3D pnt,
               Vector3D normal)
��?����_�Ɩ@?�x�N�g����^���ăI�u�W�F�N�g��?\�z����?B

?\�z����镽�ʂ̋�?� X/Y ���̕���?A ���̃R���X�g���N�^�̓Ք�Ō��肷��?B

Parameters:
pnt - ��?����_��?W�l
normal - �@?�x�N�g��
Method Detail

coordinates

public Point3D coordinates(double uParam,
                           double vParam)
���̋Ȗʂ�?A�^����ꂽ�p���??[�^�l�ł�?W�l��Ԃ�?B

Specified by:
coordinates in class ParametricSurface3D
Parameters:
uParam - U ���p���??[�^�l
vParam - V ���p���??[�^�l
Returns:
?W�l

tangentVector

public Vector3D[] tangentVector(double uParam,
                                double vParam)
���̋Ȗʂ�?A�^����ꂽ�p���??[�^�l�ł�?ڃx�N�g����Ԃ�?B

�����ł�?ڃx�N�g���Ƃ�?A�p���??[�^ U/V �̊e?X�ɂ‚��Ă̈ꎟ�Γ���?��ł���?B

���ʂƂ��ĕԂ�z��̗v�f?��� 2 �ł���?B �z���?�?��̗v�f�ɂ� U �p���??[�^�ɂ‚��Ă�?ڃx�N�g��?A ��Ԗڂ̗v�f�ɂ� V �p���??[�^�ɂ‚��Ă�?ڃx�N�g����܂�?B

Specified by:
tangentVector in class ParametricSurface3D
Parameters:
uParam - U ���p���??[�^�l
vParam - V ���p���??[�^�l
Returns:
?ڃx�N�g���̔z��

normalVector

public Vector3D normalVector(double uParam,
                             double vParam)
���̋Ȗʂ�?A�^����ꂽ�p���??[�^�l�ł̖@?�x�N�g����Ԃ�?B

���̃?�\�b�h���Ԃ��@?�x�N�g����?A?��K�����ꂽ�P�ʃx�N�g���ł���?B

Overrides:
normalVector in class ParametricSurface3D
Parameters:
uParam - U ���̃p���??[�^�l
vParam - V ���̃p���??[�^�l
Returns:
?��K�����ꂽ�@?�x�N�g��

curvature

public SurfaceCurvature3D curvature(double uParam,
                                    double vParam)
���̋Ȗʂ�?A�^����ꂽ�p���??[�^�l�ł̎�ȗ�?���Ԃ�?B

��‚̎�ȗ� (principalCurvature1, principalCurvature2) �̒l�͂ǂ���� 0 �ł���?B ����x�N�g��1 (principalDirection1) �ɂ͋�?� X �����̒P�ʃx�N�g��?A ����x�N�g��2 (principalDirection2) �ɂ͋�?� Y �����̒P�ʃx�N�g�� ��Ԃ�?B

Overrides:
curvature in class ParametricSurface3D
Parameters:
uParam - U ���̃p���??[�^�l
vParam - V ���̃p���??[�^�l
Returns:
��ȗ�?��

evaluation

public SurfaceDerivative3D evaluation(double uParam,
                                      double vParam)
���̋Ȗʂ�?A�^����ꂽ�p���??[�^�l�ł̕Γ���?���Ԃ�?B

Specified by:
evaluation in class ParametricSurface3D
Parameters:
uParam - U ���̃p���??[�^�l
vParam - V ���̃p���??[�^�l
Returns:
����?�

project1From

public PointOnSurface3D project1From(Point3D point)
�^����ꂽ�_���炱�̋Ȗʂւ� (��‚�����?݂���) ���e�_��?�߂�?B

[�Ք?��?]
�^����ꂽ�_�ɂ‚���?A���̕��ʂ̋�?�?W�n�ɂ�����?W�l��?��?A ���� x, y ?�����p���??[�^�l (uParameter, vParameter) �Ƃ����?�_��?u���e�_?v�Ƃ��Ă���?B

Parameters:
point - ���e���̓_
Returns:
���e�_
See Also:
projectFrom(Point3D)

projectFrom

public PointOnSurface3D[] projectFrom(Point3D point)
�^����ꂽ�_���炱�̋Ȗʂւ̓��e�_��?�߂�?B

���镽�ʂւ̔C�ӂ̓_����̓��e�_��?��͕K�� 1 �ɂȂ�?B

Specified by:
projectFrom in class ParametricSurface3D
Parameters:
point - ���e���̓_
Returns:
���e�_�̔z��
See Also:
project1From(Point3D)

toMesh

public Mesh3D toMesh(ParameterSection uPint,
                     ParameterSection vPint,
                     ToleranceForDistance tol)
���̋Ȗʂ̎w��� (�p���??[�^�I��) ��`��Ԃ�?A �^����ꂽ��?��ŕ��ʋߎ�����i�q�_�Q��Ԃ�?B

���ʂƂ��ĕԂ����i�q�_�Q��?\?�����_��?A ���̋Ȗʂ�x?[�X�Ƃ��� PointOnSurface3D �� ���邱�Ƃ��҂ł���?B

Specified by:
toMesh in class ParametricSurface3D
Parameters:
uPint - U ���̃p���??[�^���
vPint - V ���̃p���??[�^���
tol - �����̋��e��?�
Returns:
���̋Ȗʂ̎w��̋�Ԃ𕽖ʋߎ�����i�q�_�Q
See Also:
PointOnSurface3D

toBsplineSurface

public BsplineSurface3D toBsplineSurface(ParameterSection uPint,
                                         ParameterSection vPint)
���̋Ȗʂ̎w��� (�p���??[�^�I��) ��`��Ԃ쵖���?Č�����L�? Bspline �Ȗʂ�Ԃ�?B

Specified by:
toBsplineSurface in class ParametricSurface3D
Parameters:
uPint - U ���̃p���??[�^���
vPint - V ���̃p���??[�^���
Returns:
���̋Ȗʂ̎w��̋�Ԃ�?Č�����L�? Bspline �Ȗ�

intersect

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

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

Specified by:
intersect in class ParametricSurface3D
Parameters:
mate - ���̋�?�
Returns:
��_�̔z��
Throws:
IndefiniteSolutionException - �⪕s��ł���

intersect1

public IntersectionPoint3D intersect1(Line3D mate)
                               throws IndefiniteSolutionException
���̕��ʂƗ^����ꂽ��?�� (������‚�����) ��_��?�߂�

mate �� this �̋�?�?W�n�ł̕\���ɕϊ�������̂� M �Ƃ���?A ��?�?ݒ肳��Ă��鉉�Z?�?�̉���?A M �̕��x�N�g����P�ʉ������x�N�g���� Z ?�����?�Βl�� �����̋��e��?�����?��������?A ���҂͌���Ȃ���̂Ƃ��� null ��Ԃ�?B
������?A����?�?��ɂ���� M �̃p���??[�^�l 0 �̓_�� Z ?�����?�Βl�� �����̋��e��?�����?��������?A mate �� this ��?�BĂ����̂Ƃ��� IndefiniteSolutionException �̗�O��?�����?B

Parameters:
mate - ��?�
Returns:
��_
Throws:
IndefiniteSolutionException - mate �� this ��?�BĂ���?A�⪕s��ł���

intersect

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

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

��Ȗʂ���?������?��ɂ‚��Ă�?A��?� (IntersectionCurve3D) ���Ԃ�?B

��Ȗʂ�?ڂ����?��ɂ‚��Ă�?A��_ (IntersectionPoint3D) ���Ԃ邱�Ƃ�����?B

Specified by:
intersect in class ParametricSurface3D
Parameters:
mate - ���̋Ȗ�
Returns:
��?� (�܂��͌�_) �̔z��
Throws:
IndefiniteSolutionException - mate �ս�ʂ�?A���҂��I?[�o?[���b�v���Ă���?A�⪕s��ł���
See Also:
IntersectionCurve3D, IntersectionPoint3D

intersect1Plane

public Line3D intersect1Plane(Plane3D mate)
                       throws IndefiniteSolutionException
���̕��ʂƑ��̕��ʂ̂�����‚����̌�?��?�Ƃ��ċ?�߂�?B

��?�?ݒ肳��Ă��鉉�Z?�?�̉���?A this �� mate �̖@?�x�N�g���̂Ȃ��p�x�� �p�x�̋��e��?�����?�����?�?��ɂ� ���҂͌���Ȃ���̂Ƃ��� null ��Ԃ�?B
������?A����?�?��ɂ���� ���̕��ʂ̋�?����_���瑼��̕��ʂւ̋����� �����̋��e��?�����?�����?�?��ɂ� ���҂̓I?[�o?[���b�v���Ă����̂Ƃ��� IndefiniteSolutionException �̗�O��?�����?B

Parameters:
mate - ���̕���
Returns:
��?��\����?�
Throws:
IndefiniteSolutionException - this �� mate ���I?[�o?[���b�v���Ă���?A�⪕s��ł���

offsetByBsplineSurface

public BsplineSurface3D offsetByBsplineSurface(ParameterSection uPint,
                                               ParameterSection vPint,
                                               double magni,
                                               int side,
                                               ToleranceForDistance tol)
���̋Ȗʂ̎w��� (�p���??[�^�I��) ��`��Ԃ�I�t�Z�b�g�����Ȗʂ� �^����ꂽ��?��ŋߎ����� Bspline �Ȗʂ�?�߂�?B

���̃?�\�b�h���Ԃ��a�X�v���C���Ȗʂ�?A ���ʂ�I�t�Z�b�g�����Ȗʂ�?�Ɍ�����?Č�����?B ��B�?A���̃?�\�b�h�ł� tol �̒l�͎Q?Ƃ��Ȃ�?B

Specified by:
offsetByBsplineSurface in class ParametricSurface3D
Parameters:
uPint - U ���̃p���??[�^���
vPint - V ���̃p���??[�^���
magni - �I�t�Z�b�g��
side - �I�t�Z�b�g�̌� (WhichSide.FRONT/BACK)
tol - �����̋��e��?�
Returns:
���̋Ȗʂ̎w��̋�`��Ԃ̃I�t�Z�b�g�Ȗʂ�ߎ����� Bspline �Ȗ�
See Also:
WhichSide

uIsoParametricCurve

public ParametricCurve3D uIsoParametricCurve(double uParam)
Description copied from class: ParametricSurface3D
���̋Ȗʂ� U �p���??[�^���̈ʒu�ɂ��铙�p���??[�^��?��Ԃ���?ۃ?�\�b�h?B

Specified by:
uIsoParametricCurve in class ParametricSurface3D
Parameters:
uParam - U ���̃p���??[�^�l
Returns:
�w��� U �p���??[�^�l�ł̓��p���??[�^��?�

vIsoParametricCurve

public ParametricCurve3D vIsoParametricCurve(double vParam)
Description copied from class: ParametricSurface3D
���̋Ȗʂ� V �p���??[�^���̈ʒu�ɂ��铙�p���??[�^��?��Ԃ���?ۃ?�\�b�h?B

Specified by:
vIsoParametricCurve in class ParametricSurface3D
Parameters:
vParam - V ���̃p���??[�^�l
Returns:
�w��� V �p���??[�^�l�ł̓��p���??[�^��?�

coplaner

public static Vector3D coplaner(Point3D[] points)
�^����ꂽ�_�Q�����ꕽ��?�ɂ��邩 (���ʂ�Ȃ���) �ǂ����𒲂ׂ�?B

�^����ꂽ�_�̔z��̗v�f?��� 2 �ȉ���?�?��ɂ̓[�?�x�N�g����Ԃ�?B

�^����ꂽ�_�Q����_��?k�ނ��Ă��邩?A���邢�͋�?�?�Ԃɂ���?�?��ɂ� �[�?�x�N�g����Ԃ�?B

�^����ꂽ�_�Q������?�ԂɂȂ�?�?��ɂ� null ��Ԃ�?B

Parameters:
points - �_�Q
Returns:
�_�Q��?�BĂ��镽�ʂ̒P�ʖ@?�x�N�g��

toNonStructuredPoints

public java.util.Vector toNonStructuredPoints(ParameterSection uParameterSection,
                                              ParameterSection vParameterSection,
                                              double tolerance,
                                              double[] scalingFactor)
���̋Ȗʂ̎w��� (�p���??[�^�I��) ��`��Ԃ�?A �^����ꂽ��?��ŕ��ʋߎ�����_�Q��Ԃ�?B

?��?���ʂƂ��ē�����_�Q�͈�ʂ�?A�ʑ��I�ɂ�􉽓I�ɂ�?A�i�q?�ł͂Ȃ�?B

scalingFactor ��?A��͗p�ł͂Ȃ�?A?o�͗p�̈�?��ł���?B scalingFactor �ɂ�?A�v�f?� 2 �̔z���^����?B scalingFactor[0] �ɂ� U ����?k�ڔ{��?A scalingFactor[1] �ɂ� V ����?k�ڔ{�����Ԃ�?B �����̒l�͉��炩��?�Βl�ł͂Ȃ�?A �p���??[�^��?i�ޑ��x T �ɑ΂���?A U/V �����ɂ‚��Ď ��?�ŋȖ�?�̓_��?i�ޑ��x Pu/Pv ��\�����Βl�ł���?B �‚܂�?A�p���??[�^�� T ����?i�ނ�?A � ��?�ł̋Ȗ�?�̓_�� U ���ł� Pu (scalingFactor[0])?A V ���ł� Pv (scalingFactor[1]) ����?i�ނ��Ƃ�\���Ă���?B T �̑傫���͖�������Ȃ��̂�?A���̒l��Q?Ƃ���?ۂɂ�?A scalingFactor[0] �� scalingFactor[1] �̔䂾����p����ׂ��ł���?B �Ȃ�?A�����̒l�͂����܂ł�ڈł���?A�����ȑ��x����̂ł͂Ȃ�?B

���ʂƂ��ĕԂ� Vector �Ɋ܂܂��e�v�f�� ���̋Ȗʂ�x?[�X�Ƃ��� PointOnSurface3D �ł��邱�Ƃ���҂ł���?B

Specified by:
toNonStructuredPoints in class ParametricSurface3D
Parameters:
uParameterSection - U ���̃p���??[�^���
vParameterSection - V ���̃p���??[�^���
tolerance - �����̋��e��?�
scalingFactor - �_�Q��O�p�`��������?ۂɗL�p�Ǝv���� U/V ��?k�ڔ{��
Returns:
�_�Q��܂� Vector
See Also:
PointOnSurface3D

doTransformBy

protected ParametricSurface3D 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 ParametricSurface3D
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