|
|||||||||
| 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 - �ߎ���?��x| Method Detail |
|---|
public int uDegree()
public int uKnotSpec()
KnotTypepublic int uNKnotValues()
public double uKnotValueAt(int n)
n - �C���f�b�N�X
public Point3D controlPointAt(int i,
int j)
controlPointAt in class FreeformSurfaceWithControlPoints3Di - U ���̃C���f�b�N�X (i �Ԃ�)j - V ���̃C���f�b�N�X (j �Ԃ�)
public int vDegree()
public int vKnotSpec()
KnotTypepublic int vNKnotValues()
public double vKnotValueAt(int n)
n - �C���f�b�N�X
public Point3D coordinates(double uParam,
double vParam)
coordinates in class ParametricSurface3DuParam - U ���̃p���??[�^�lvParam - V ���̃p���??[�^�l
ParameterOutOfRange
public Vector3D[] tangentVector(double uParam,
double vParam)
tangentVector in class ParametricSurface3DuParam - U ���̃p���??[�^�lvParam - V ���̃p���??[�^�l
ParameterOutOfRange
public SurfaceDerivative3D evaluation(double uParam,
double vParam)
evaluation in class ParametricSurface3DuParam - U ���̃p���??[�^�lvParam - V ���̃p���??[�^�l
ParameterOutOfRangepublic PointOnSurface3D[] projectFrom(Point3D point)
projectFrom in class ParametricSurface3Dpoint - ���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 ParametricSurface3DuPint - U ���̃p���??[�^���vPint - V ���̃p���??[�^���tol - �����̋��e��?�
PointOnSurface3D,
ParameterOutOfRangepublic Mesh3D toMesh(ToleranceForDistance tol)
toMesh in class BoundedSurface3Dtol - �����̋��e��?�
PointOnSurface3Dpublic PureBezierSurface3D[][] toPureBezierSurfaceArray()
public BsplineSurface3D toBsplineSurface()
toBsplineSurface in class BoundedSurface3D
public BsplineSurface3D toBsplineSurface(ParameterSection uPint,
ParameterSection vPint)
toBsplineSurface in class ParametricSurface3DuPint - U ���̃p���??[�^���vPint - V ���̃p���??[�^���
ParameterOutOfRange,
toBsplineSurface()
public IntersectionPoint3D[] intersect(ParametricCurve3D mate)
throws IndefiniteSolutionException
intersect in class ParametricSurface3Dmate - ���̋�?�
IndefiniteSolutionException - �⪕s��ł���public SurfaceSurfaceInterference3D[] intersect(ParametricSurface3D mate)
intersect in class ParametricSurface3Dmate - ���̋Ȗ�
IntersectionCurve3D,
IntersectionPoint3D
public BsplineSurface3D offsetByBsplineSurface(ParameterSection uPint,
ParameterSection vPint,
double magni,
int side,
ToleranceForDistance tol)
offsetByBsplineSurface in class ParametricSurface3DuPint - U ���̃p���??[�^���vPint - V ���̃p���??[�^���magni - �I�t�Z�b�g��side - �I�t�Z�b�g�̌� (WhichSide.FRONT/BACK)tol - �����̋��e��?�
WhichSidepublic ParametricCurve3D uIsoParametricCurve(double uParam)
ParametricSurface3D
uIsoParametricCurve in class ParametricSurface3DuParam - U ���̃p���??[�^�l
public ParametricCurve3D vIsoParametricCurve(double vParam)
ParametricSurface3D
vIsoParametricCurve in class ParametricSurface3DvParam - 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���??[�^���
ParameterOutOfRangepublic BsplineSurface3D uElevateOneDegree()
public BsplineSurface3D vElevateOneDegree()
public java.util.Vector toNonStructuredPoints(ParameterSection uParameterSection,
ParameterSection vParameterSection,
double tolerance,
double[] scalingFactor)
toNonStructuredPoints in class ParametricSurface3DuParameterSection - 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 ParametricSurface3DreverseTransform - �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 GeometryElementwriter - PrintWriterindent - �C���f���g��?[��GeometryElement
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||