|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jscience.mathematics.geometry.GeometryElement
org.jscience.mathematics.geometry.AbstractParametricSurface
org.jscience.mathematics.geometry.ParametricSurface3D
org.jscience.mathematics.geometry.BoundedSurface3D
org.jscience.mathematics.geometry.FreeformSurfaceWithControlPoints3D
org.jscience.mathematics.geometry.BsplineSurface3D
public class BsplineSurface3D
�R���� : ��L�? (��?���) �a�X�v���C���Ȗʂ���їL�?�a�X�v���C���Ȗʂ�\���N���X?B
���̃N���X�̃C���X�^���X��?A �a�X�v���C���� U/V ���̃m�b�g��Ɋւ���?�� uKnotData/vKnotData (BsplineKnot
)
��?��?B
?���_��Ȃǂ�ێ?����t�B?[���h�ɂ��Ă�?A
�X?[�p?[�N���X�̉�?�
��Q?�?B
�a�X�v���C���Ȗʂ� U/V ���ꂼ��̕��̃p���??[�^��`���?A
�Ή�����m�b�g��ɂ�BČ��܂�?B
(u, v) ��p���??[�^�Ƃ���a�X�v���C���Ȗ� P(u, v) �̃p���?�g���b�N�\����?A�ȉ��̒ʂ�?B
m = U ���̎�?� n = V ���̎�?� p = U ����?���_��?� q = V ����?���_��?� K = U ���̃Z�O�?���g��?� (U ���J�����`�� : (p - m), U �������`�� : p) L = V ���̃Z�O�?���g��?� (V ���J�����`�� : (q - n), V �������`�� : q) di,j = controlPoints[i][j] wi,j = weights[i][j]�Ƃ���?A��L�?�a�X�v���C���Ȗʂ�
P(u, v) = ((di,j * Nm,i(u)) �̑?�a) * Nn,j(v) �̑?�a (i = 0, ..., K+m-1, j = 0, ..., L+n-1)�L�?�a�X�v���C���Ȗʂ�
((wi,j * di,j * Nm,i(u)) �̑?�a) * Nn,j(v) �̑?�a P(u, v) = ------------------------------------------------- (i = 0, ..., K+m-1, j = 0, ..., L+n-1) ((wi,j * Nm,i(u)) �̑?�a) * Nn,j(v) �̑?�a������ Nm,i(u), Nn,j(v) �͂a�X�v���C������?�?B �Ȃ�?A U ���ɕ����`����?�?��� i > (p - 1) �ƂȂ� i �ɂ��Ă�?A �Ή�����?���_��?d�݂����ꂼ�� dk, wk (k = i - p) �ƂȂ�?B ���l��?A V ���ɕ����`����?�?��� j > (q - 1) �ƂȂ� j �ɂ��Ă�?A �Ή�����?���_��?d�݂����ꂼ�� dl, wl (l = j - q) �ƂȂ�?B
Field Summary |
---|
Fields inherited from class org.jscience.mathematics.geometry.FreeformSurfaceWithControlPoints3D |
---|
controlPoints, weights |
Constructor Summary | |
---|---|
BsplineSurface3D(int uDegree,
boolean uPeriodic,
int[] uKnotMultiplicities,
double[] uKnots,
int vDegree,
boolean vPeriodic,
int[] vKnotMultiplicities,
double[] vKnots,
Point3D[][] controlPoints)
�m�b�g�����? |
|
BsplineSurface3D(int uDegree,
boolean uPeriodic,
int[] uKnotMultiplicities,
double[] uKnots,
int vDegree,
boolean vPeriodic,
int[] vKnotMultiplicities,
double[] vKnots,
Point3D[][] controlPoints,
double[][] weights)
�m�b�g�����? |
|
BsplineSurface3D(int uDegree,
boolean uPeriodic,
int uKnotSpec,
int vDegree,
boolean vPeriodic,
int vKnotSpec,
Point3D[][] controlPoints)
�m�b�g��������� �m�b�g��̎�ʂ�? |
|
BsplineSurface3D(int uDegree,
boolean uPeriodic,
int uKnotSpec,
int vDegree,
boolean vPeriodic,
int vKnotSpec,
Point3D[][] controlPoints,
double[][] weights)
�m�b�g��������� �m�b�g��̎��? |
|
BsplineSurface3D(Point3D[][] points,
double[] uParams,
double[] vParams,
boolean uIsClosed,
boolean vIsClosed)
�ʑ��I�Ɋi�q? |
|
BsplineSurface3D(Point3D[][] points,
double[] uParams,
double[] vParams,
boolean uIsClosed,
boolean vIsClosed,
ToleranceForDistance tol)
�ʑ��I�Ɋi�q? |
Method Summary | |
---|---|
Point3D |
controlPointAt(int i,
int j)
���̋Ȗʂ� (i, j) �Ԗڂ�? |
Point3D |
coordinates(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)
���̋ȖʂƑ��̋Ȗʂ̌�? |
BsplineSurface3D |
offsetByBsplineSurface(ParameterSection uPint,
ParameterSection vPint,
double magni,
int side,
ToleranceForDistance tol)
���̋Ȗʂ̎w��� (�p���?? |
protected void |
output(java.io.PrintWriter writer,
int indent)
? |
PointOnSurface3D[] |
projectFrom(Point3D point)
�^����ꂽ�_���炱�̋Ȗʂւ̓��e�_��? |
Vector3D[] |
tangentVector(double uParam,
double vParam)
���̋Ȗʂ�? |
BsplineSurface3D |
toBsplineSurface()
���� (��`�̃p���?? |
BsplineSurface3D |
toBsplineSurface(ParameterSection uPint,
ParameterSection vPint)
���̋Ȗʂ̎w��� (�p���?? |
Mesh3D |
toMesh(ParameterSection uPint,
ParameterSection vPint,
ToleranceForDistance tol)
���̋Ȗʂ̎w��� (�p���?? |
Mesh3D |
toMesh(ToleranceForDistance tol)
���� (��`�̃p���?? |
java.util.Vector |
toNonStructuredPoints(ParameterSection uParameterSection,
ParameterSection vParameterSection,
double tolerance,
double[] scalingFactor)
���̋Ȗʂ̎w��� (�p���?? |
PureBezierSurface3D[][] |
toPureBezierSurfaceArray()
���̂a�X�v���C���Ȗʂ�? |
BsplineSurface3D |
truncate(ParameterSection uSection,
ParameterSection vSection)
���̂a�X�v���C���Ȗʂ�? |
int |
uDegree()
���̋Ȗʂ� U ���̎�? |
BsplineSurface3D[] |
uDivide(double uParam)
���̋Ȗʂ�? |
BsplineSurface3D |
uElevateOneDegree()
���̋Ȗʂ�? |
BsplineSurface3D |
uInsertKnot(double uParam)
���̋Ȗʂ�? |
ParametricCurve3D |
uIsoParametricCurve(double uParam)
���̋Ȗʂ� U �p���?? |
int |
uKnotSpec()
���̋Ȗʂ� U ���̃m�b�g�̎�ʂ�Ԃ�? |
double |
uKnotValueAt(int n)
���̋Ȗʂ� U ���� n �Ԃ߂̃m�b�g�l��Ԃ�? |
int |
uNKnotValues()
���̋Ȗʂ� U ���̃m�b�g��? |
BsplineSurface3D |
uShiftIfPeriodic(double newStartParam)
���� U ����? |
int |
vDegree()
���̋Ȗʂ� V ���̎�? |
BsplineSurface3D[] |
vDivide(double vParam)
|
BsplineSurface3D |
vElevateOneDegree()
���̋Ȗʂ�? |
BsplineSurface3D |
vInsertKnot(double vParam)
���̋Ȗʂ�? |
ParametricCurve3D |
vIsoParametricCurve(double vParam)
���̋Ȗʂ� V �p���?? |
int |
vKnotSpec()
���̋Ȗʂ� V ���̃m�b�g�̎�ʂ�Ԃ�? |
double |
vKnotValueAt(int n)
���̋Ȗʂ� V ���� n �Ԃ߂̃m�b�g�l��Ԃ�? |
int |
vNKnotValues()
���̋Ȗʂ� V ���̃m�b�g��? |
BsplineSurface3D |
vShiftIfPeriodic(double newStartParam)
���� V ����? |
Methods inherited from class org.jscience.mathematics.geometry.FreeformSurfaceWithControlPoints3D |
---|
allocateDoubleArray, controlPoints, convRational0Deriv, convRational1Deriv, convRational2Deriv, isFreeform, isPolynomial, isRational, makeUniformWeights, nControlPoints, setCoordinatesToDoubleArray, toDoubleArray, uNControlPoints, vNControlPoints, weightAt, weights |
Methods inherited from class org.jscience.mathematics.geometry.BoundedSurface3D |
---|
fillet, offsetByBsplineSurface |
Methods inherited from class org.jscience.mathematics.geometry.ParametricSurface3D |
---|
curvature, dimension, fillet, is3D, nearestProjectFrom, nearestProjectWithDistanceFrom, normalVector, 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, 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 |
---|
public BsplineSurface3D(int uDegree, boolean uPeriodic, int[] uKnotMultiplicities, double[] uKnots, int vDegree, boolean vPeriodic, int[] vKnotMultiplicities, double[] vKnots, Point3D[][] controlPoints)
super
(controlPoints)
���?o������?B
uKnotData ��?\�z�ɂ�?A
new BsplineKnot
(uDegree, KnotType.UNSPECIFIED, uPeriodic, uKnotMultiplicities, uKnots, controlPoints.length)
���?o������?B
vKnotData ��?\�z�ɂ�?A
new BsplineKnot
(vDegree, KnotType.UNSPECIFIED, vPeriodic, vKnotMultiplicities, vKnots, controlPoints[0].length)
���?o������?B
uDegree
- U ���̎�?�uPeriodic
- U �������`�����ۂ���\���t���OuKnotMultiplicities
- U ���̃m�b�g��?d�x�̔z��uKnots
- U ���̃m�b�g�l�̔z��vDegree
- V ���̎�?�vPeriodic
- V �������`�����ۂ���\���t���OvKnotMultiplicities
- V ���̃m�b�g��?d�x�̔z��vKnots
- V ���̃m�b�g�l�̔z��controlPoints
- ?���_�̔z��public BsplineSurface3D(int uDegree, boolean uPeriodic, int uKnotSpec, int vDegree, boolean vPeriodic, int vKnotSpec, Point3D[][] controlPoints)
super
(controlPoints)
���?o������?B
uKnotData ��?\�z�ɂ�?A
new BsplineKnot
(uDegree, uKnotSpec, uPeriodic, null, null, controlPoints.length)
���?o������?B
vKnotData ��?\�z�ɂ�?A
new BsplineKnot
(vDegree, vKnotSpec, vPeriodic, null, null, controlPoints[0].length)
���?o������?B
uDegree
- U ���̎�?�uPeriodic
- U �������`�����ۂ���\���t���OuKnotSpec
- U ���̃m�b�g��̎��vDegree
- V ���̎�?�vPeriodic
- V �������`�����ۂ���\���t���OvKnotSpec
- V ���̃m�b�g��̎��controlPoints
- ?���_�̔z��public BsplineSurface3D(int uDegree, boolean uPeriodic, int[] uKnotMultiplicities, double[] uKnots, int vDegree, boolean vPeriodic, int[] vKnotMultiplicities, double[] vKnots, Point3D[][] controlPoints, double[][] weights)
super
(controlPoints, weights)
���?o������?B
uKnotData ��?\�z�ɂ�?A
new BsplineKnot
(uDegree, KnotType.UNSPECIFIED, uPeriodic, uKnotMultiplicities, uKnots, controlPoints.length)
���?o������?B
vKnotData ��?\�z�ɂ�?A
new BsplineKnot
(vDegree, KnotType.UNSPECIFIED, vPeriodic, vKnotMultiplicities, vKnots, controlPoints[0].length)
���?o������?B
uDegree
- U ���̎�?�uPeriodic
- U �������`�����ۂ���\���t���OuKnotMultiplicities
- U ���̃m�b�g��?d�x�̔z��uKnots
- U ���̃m�b�g�l�̔z��vDegree
- V ���̎�?�vPeriodic
- V �������`�����ۂ���\���t���OvKnotMultiplicities
- V ���̃m�b�g��?d�x�̔z��vKnots
- V ���̃m�b�g�l�̔z��controlPoints
- ?���_�̔z��weights
- ?d�݂̔z��public BsplineSurface3D(int uDegree, boolean uPeriodic, int uKnotSpec, int vDegree, boolean vPeriodic, int vKnotSpec, Point3D[][] controlPoints, double[][] weights)
super
(controlPoints, weights)
���?o������?B
uKnotData ��?\�z�ɂ�?A
new BsplineKnot
(uDegree, uKnotSpec, uPeriodic, null, null, controlPoints.length)
���?o������?B
vKnotData ��?\�z�ɂ�?A
new BsplineKnot
(vDegree, vKnotSpec, vPeriodic, null, null, controlPoints[0].length)
���?o������?B
uDegree
- U ���̎�?�uPeriodic
- U �������`�����ۂ���\���t���OuKnotSpec
- U ���̃m�b�g��̎��vDegree
- V ���̎�?�vPeriodic
- V �������`�����ۂ���\���t���OvKnotSpec
- V ���̃m�b�g��̎��controlPoints
- ?���_�̔z��weights
- ?d�݂̔z��public BsplineSurface3D(Point3D[][] points, double[] uParams, double[] vParams, boolean uIsClosed, boolean vIsClosed)
points
- ��Ԃ���_��uParams
- �_�ԓ�� U ���̓_��̊e�_�ɂ�����p���??[�^�l�̗�vParams
- �_�ԓ�� V ���̓_��̊e�_�ɂ�����p���??[�^�l�̗�uIsClosed
- U �������`�����ۂ�vIsClosed
- V �������`�����ۂ�public BsplineSurface3D(Point3D[][] points, double[] uParams, double[] vParams, boolean uIsClosed, boolean vIsClosed, ToleranceForDistance tol)
points
- �ߎ�����_��uParams
- �_�ԓ�� U ���̓_��̊e�_�ɂ�����p���??[�^�l�̗�vParams
- �_�ԓ�� V ���̓_��̊e�_�ɂ�����p���??[�^�l�̗�uIsClosed
- U �������`�����ۂ�vIsClosed
- V �������`�����ۂ�tol
- �ߎ���?��xMethod Detail |
---|
public int uDegree()
public int uKnotSpec()
KnotType
public int uNKnotValues()
public double uKnotValueAt(int n)
n
- �C���f�b�N�X
public Point3D controlPointAt(int i, int j)
controlPointAt
in class FreeformSurfaceWithControlPoints3D
i
- U ���̃C���f�b�N�X (i �Ԃ�)j
- V ���̃C���f�b�N�X (j �Ԃ�)
public int vDegree()
public int vKnotSpec()
KnotType
public int vNKnotValues()
public double vKnotValueAt(int n)
n
- �C���f�b�N�X
public Point3D coordinates(double uParam, double vParam)
coordinates
in class ParametricSurface3D
uParam
- U ���̃p���??[�^�lvParam
- V ���̃p���??[�^�l
ParameterOutOfRange
public Vector3D[] tangentVector(double uParam, double vParam)
tangentVector
in class ParametricSurface3D
uParam
- U ���̃p���??[�^�lvParam
- V ���̃p���??[�^�l
ParameterOutOfRange
public SurfaceDerivative3D evaluation(double uParam, double vParam)
evaluation
in class ParametricSurface3D
uParam
- U ���̃p���??[�^�lvParam
- V ���̃p���??[�^�l
ParameterOutOfRange
public PointOnSurface3D[] projectFrom(Point3D point)
projectFrom
in class ParametricSurface3D
point
- ���e���̓_
toPureBezierSurfaceArray()
public BsplineSurface3D uShiftIfPeriodic(double newStartParam) throws OpenSurfaceForUDirectionException
newStartParam
- �J�n�_�ƂȂ�p���??[�^�l
OpenSurfaceForUDirectionException
- U ���ɊJ�����`���̋Ȗʂł���public BsplineSurface3D vShiftIfPeriodic(double newStartParam) throws OpenSurfaceForVDirectionException
newStartParam
- �J�n�_�ƂȂ�p���??[�^�l
OpenSurfaceForVDirectionException
- V ���ɊJ�����`���̋Ȗʂł���public Mesh3D toMesh(ParameterSection uPint, ParameterSection vPint, ToleranceForDistance tol)
toMesh
in class ParametricSurface3D
uPint
- U ���̃p���??[�^���vPint
- V ���̃p���??[�^���tol
- �����̋��e��?�
PointOnSurface3D
,
ParameterOutOfRange
public Mesh3D toMesh(ToleranceForDistance tol)
toMesh
in class BoundedSurface3D
tol
- �����̋��e��?�
PointOnSurface3D
public PureBezierSurface3D[][] toPureBezierSurfaceArray()
public BsplineSurface3D toBsplineSurface()
toBsplineSurface
in class BoundedSurface3D
public BsplineSurface3D toBsplineSurface(ParameterSection uPint, ParameterSection vPint)
toBsplineSurface
in class ParametricSurface3D
uPint
- U ���̃p���??[�^���vPint
- V ���̃p���??[�^���
ParameterOutOfRange
,
toBsplineSurface()
public IntersectionPoint3D[] intersect(ParametricCurve3D mate) throws IndefiniteSolutionException
intersect
in class ParametricSurface3D
mate
- ���̋�?�
IndefiniteSolutionException
- �⪕s��ł���public SurfaceSurfaceInterference3D[] intersect(ParametricSurface3D mate)
intersect
in class ParametricSurface3D
mate
- ���̋Ȗ�
IntersectionCurve3D
,
IntersectionPoint3D
public BsplineSurface3D offsetByBsplineSurface(ParameterSection uPint, ParameterSection vPint, double magni, int side, ToleranceForDistance tol)
offsetByBsplineSurface
in class ParametricSurface3D
uPint
- U ���̃p���??[�^���vPint
- V ���̃p���??[�^���magni
- �I�t�Z�b�g��side
- �I�t�Z�b�g�̌� (WhichSide.FRONT/BACK)tol
- �����̋��e��?�
WhichSide
public ParametricCurve3D uIsoParametricCurve(double uParam)
ParametricSurface3D
uIsoParametricCurve
in class ParametricSurface3D
uParam
- U ���̃p���??[�^�l
public ParametricCurve3D vIsoParametricCurve(double vParam)
ParametricSurface3D
vIsoParametricCurve
in class ParametricSurface3D
vParam
- V ���̃p���??[�^�l
public BsplineSurface3D uInsertKnot(double uParam)
uParam
- �m�b�g��}��� U ���̃p���??[�^�ʒu
public BsplineSurface3D vInsertKnot(double vParam)
vParam
- �m�b�g��}��� V ���̃p���??[�^�ʒu
public BsplineSurface3D[] uDivide(double uParam)
uParam
- U ���̃p���??[�^�l
ParameterOutOfRange
,
vDivide(double)
public BsplineSurface3D[] vDivide(double vParam)
public BsplineSurface3D truncate(ParameterSection uSection, ParameterSection vSection)
uSection
- ?ؒf���Ďc��������\�� U ���̃p���??[�^���vSection
- ?ؒf���Ďc��������\�� V ���̃p���??[�^���
ParameterOutOfRange
public BsplineSurface3D uElevateOneDegree()
public BsplineSurface3D vElevateOneDegree()
public java.util.Vector toNonStructuredPoints(ParameterSection uParameterSection, ParameterSection vParameterSection, double tolerance, double[] scalingFactor)
toNonStructuredPoints
in class ParametricSurface3D
uParameterSection
- U ���̃p���??[�^���vParameterSection
- V ���̃p���??[�^���tolerance
- �����̋��e��?�scalingFactor
- �_�Q��O�p�`��������?ۂɗL�p�Ǝv���� U/V ��?k�ڔ{��
PointOnSurface3D
protected ParametricSurface3D doTransformBy(boolean reverseTransform, CartesianTransformationOperator3D transformationOperator, java.util.Hashtable transformedGeometries)
doTransformBy
in class ParametricSurface3D
reverseTransform
- �t�ϊ�����̂ł���� true?A�����łȂ���� falsetransformationOperator
- �I�ϊ����Z�qtransformedGeometries
- ��ɓ��l�̕ϊ���{�����v�f��܂ރn�b�V���e?[�u��
protected void output(java.io.PrintWriter writer, int indent)
output
in class GeometryElement
writer
- PrintWriterindent
- �C���f���g��?[��GeometryElement
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |