©
本文档使用
php.cn手册 发布
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
1 2 |
|
1 |
|
CubicCurve2D
类定义 (x,y)
坐标空间内的三次参数曲线段。
此类是所有存储 2D 三次曲线段的对象的惟一抽象超类。坐标的实际存储表示形式由子类决定。
嵌套类摘要 | |
---|---|
static class |
CubicCurve2D.Double
使用 double 坐标指定的三次参数曲线段。 |
static class |
CubicCurve2D.Float
使用 float 坐标指定的三次参数曲线段。 |
构造方法摘要 | |
---|---|
protected |
CubicCurve2D()
这是一个不可直接实例化的抽象类。 |
方法摘要 | |
---|---|
Object |
clone()
创建一个与此对象具有相同类的新对象。 |
boolean |
contains(double x,
double y)
测试指定坐标是否在 Shape 的边界内。 |
boolean |
contains(double x,
double y,
double w,
double h)
测试 Shape 内部是否完全包含指定矩形区域。 |
boolean |
contains(Point2D p)
测试指定的 Point2D 是否在 Shape 的边界内。 |
boolean |
contains(Rectangle2D r)
测试 Shape 内部是否完全包含指定的 Rectangle2D 。 |
Rectangle |
getBounds()
返回一个完全包围 Shape 的整型 Rectangle 。 |
abstract Point2D |
getCtrlP1()
返回第一个控制点。 |
abstract Point2D |
getCtrlP2()
返回第二个控制点。 |
abstract double |
getCtrlX1()
以 double 精度返回第一个控制点的 X 坐标。 |
abstract double |
getCtrlX2()
以 double 精度返回第二个控制点的 X 坐标。 |
abstract double |
getCtrlY1()
以 double 精度返回第一个控制点的 Y 坐标。 |
abstract double |
getCtrlY2()
以 double 精度返回第二个控制点的 Y 坐标。 |
double |
getFlatness()
返回此曲线的平面度。 |
static double |
getFlatness(double[] coords,
int offset)
返回由控制点(存储在指示数组中的指示索引处)指定的三次曲线的平面度。 |
static double |
getFlatness(double x1,
double y1,
double ctrlx1,
double ctrly1,
double ctrlx2,
double ctrly2,
double x2,
double y2)
返回由指示控制点指定的三次曲线的平面度。 |
double |
getFlatnessSq()
返回此曲线平面度的平方。 |
static double |
getFlatnessSq(double[] coords,
int offset)
返回由控制点(存储在指示数组中的指示索引处)指定的三次曲线平面度的平方。 |
static double |
getFlatnessSq(double x1,
double y1,
double ctrlx1,
double ctrly1,
double ctrlx2,
double ctrly2,
double x2,
double y2)
返回由指示的控制点指定的三次曲线平面度的平方。 |
abstract Point2D |
getP1()
返回起始点。 |
abstract Point2D |
getP2()
返回结束点。 |
PathIterator |
getPathIterator(AffineTransform at)
返回定义形状边界的迭代对象。 |
PathIterator |
getPathIterator(AffineTransform at,
double flatness)
返回定义变平形状边界的迭代对象。 |
abstract double |
getX1()
以 double 精度返回起始点的 X 坐标。 |
abstract double |
getX2()
以 double 精度返回结束点的 X 坐标。 |
abstract double |
getY1()
以 double 精度返回起始点的 Y 坐标。 |
abstract double |
getY2()
以 double 精度返回结束点的 Y 坐标。 |
boolean |
intersects(double x,
double y,
double w,
double h)
测试 Shape 内部是否与指定矩形区域的内部相交。 |
boolean |
intersects(Rectangle2D r)
测试 Shape 内部是否与指定 Rectangle2D 内部相交。 |
void |
setCurve(CubicCurve2D c)
将此曲线端点和控制点的位置设置为与指定的 CubicCurve2D 相同。 |
void |
setCurve(double[] coords,
int offset)
将此曲线端点和控制点的位置设置为指定数组中指定偏移量的 double 坐标。 |
abstract void |
setCurve(double x1,
double y1,
double ctrlx1,
double ctrly1,
double ctrlx2,
double ctrly2,
double x2,
double y2)
将此曲线端点和控制点的位置设置为指定的 double 坐标。 |
void |
setCurve(Point2D[] pts,
int offset)
将此曲线端点和控制点的位置设置为指定数组中指定偏移量的 Point2D 对象的坐标。 |
void |
setCurve(Point2D p1,
Point2D cp1,
Point2D cp2,
Point2D p2)
将此曲线端点和控制点的位置设置为指定的 Point2D 坐标。 |
static int |
solveCubic(double[] eqn)
解系数位于 eqn 数组中的三次曲线,并将非复数的根放回该数组,同时返回根数。 |
static int |
solveCubic(double[] eqn,
double[] res)
解系数位于 eqn 数组中的三次曲线,并将非复数的根放入 res 数组,同时返回根数。 |
void |
subdivide(CubicCurve2D left,
CubicCurve2D right)
细分此三次曲线,并将得到的两个细分曲线存储到 left 和 right 曲线参数中。 |
static void |
subdivide(CubicCurve2D src,
CubicCurve2D left,
CubicCurve2D right)
细分由 src 参数指定的三次曲线,并将得到的两个细分曲线存储到 left 和 right 曲线参数中。 |
static void |
subdivide(double[] src,
int srcoff,
double[] left,
int leftoff,
double[] right,
int rightoff)
细分由存储在 src 数组 srcoff 到 (srcoff + 7) 索引处的坐标指定的三次曲线,并将得到的两个细分曲线存储到所得数组的相应索引中。 |
从类 java.lang.Object 继承的方法 |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
从接口 java.awt.Shape 继承的方法 |
---|
getBounds2D |
构造方法详细信息 |
---|
1 |
|
CubicCurve2D.Float
,
CubicCurve2D.Double
方法详细信息 |
---|
1 |
|
CubicCurve2D
起始点的 X 坐标。1 |
|
CubicCurve2D
起始点的 Y 坐标。1 |
|
CubicCurve2D
起始点的 Point2D
。1 |
|
CubicCurve2D
第一个控制点的 X 坐标。1 |
|
CubicCurve2D
第一个控制点的 Y 坐标。1 |
|
CubicCurve2D
第一个控制点的 Point2D
。1 |
|
CubicCurve2D
第二个控制点的 X 坐标。1 |
|
CubicCurve2D
第二个控制点的 Y 坐标。1 |
|
CubicCurve2D
第二个控制点的 Point2D
。1 |
|
CubicCurve2D
结束点的 X 坐标。1 |
|
CubicCurve2D
结束点的 Y 坐标。1 |
|
CubicCurve2D
结束点的 Point2D
。1 2 3 4 5 6 7 8 |
|
x1
- 用于设置此 CubicCurve2D
起始点的 X 坐标y1
- 用于设置此 CubicCurve2D
起始点的 Y 坐标ctrlx1
- 用于设置此 CubicCurve2D
第一个控制点的 X 坐标ctrly1
- 用于设置此 CubicCurve2D
第一个控制点的 Y 坐标ctrlx2
- 用于设置此 CubicCurve2D
第二个控制点的 X 坐标ctrly2
- 用于设置此 CubicCurve2D
第二个控制点的 Y 坐标x2
- 用于设置此 CubicCurve2D
结束点的 X 坐标y2
- 用于设置此 CubicCurve2D
结束点的 Y 坐标1 2 |
|
coords
- 包含坐标的 double 数组offset
- coords
的索引,从该索引处开始将此曲线端点和控制点设置为 coords
中包含的坐标1 2 3 4 |
|
Point2D
坐标。
p1
- 用于设置此曲线起始点的第一个指定的 Point2D
cp1
- 用于设置此曲线第一个控制点的第二个指定的 Point2D
cp2
- 用于设置此曲线第二个控制点的第三个指定的 Point2D
p2
- 用于设置此曲线结束点的第四个指定的 Point2D
1 2 |
|
Point2D
对象的坐标。
pts
- Point2D
对象数组offset
- pts
的索引,从该索引处开始将此曲线端点和控制点设置为 pts
中包含的点1 |
|
CubicCurve2D
相同。
c
- 指定的 CubicCurve2D
1 2 3 4 5 6 7 8 |
|
x1
- 指定 CubicCurve2D
起始点的 X 坐标y1
- 指定 CubicCurve2D
起始点的 Y 坐标ctrlx1
- 指定 CubicCurve2D
第一个控制点的 X 坐标ctrly1
- 指定 CubicCurve2D
第一个控制点的 Y 坐标ctrlx2
- 指定 CubicCurve2D
第二个控制点的 X 坐标ctrly2
- 指定 CubicCurve2D
第二个控制点的 Y 坐标x2
- 指定 CubicCurve2D
结束点的 X 坐标y2
- 指定 CubicCurve2D
结束点的 Y 坐标
CubicCurve2D
平面度的平方。1 2 3 4 5 6 7 8 |
|
x1
- 指定 CubicCurve2D
起始点的 X 坐标y1
- 指定 CubicCurve2D
起始点的 Y 坐标ctrlx1
- 指定 CubicCurve2D
第一个控制点的 X 坐标ctrly1
- 指定 CubicCurve2D
第一个控制点的 Y 坐标ctrlx2
- 指定 CubicCurve2D
第二个控制点的 X 坐标ctrly2
- 指定 CubicCurve2D
第二个控制点的 Y 坐标x2
- 指定 CubicCurve2D
结束点的 X 坐标y2
- 指定 CubicCurve2D
结束点的 Y 坐标
CubicCurve2D
平面度。1 2 |
|
coords
- 包含坐标的数组offset
- coords
的索引,从该索引处开始设置此曲线的端点和控制点
coords
中指定偏移量处的坐标指定的 CubicCurve2D
平面度的平方。1 2 |
|
coords
- 包含坐标的数组offset
- coords
的索引,从该索引处开始设置此曲线的端点和控制点
coords
中指定偏移量处的坐标指定的 CubicCurve2D
平面度。1 |
|
1 |
|
1 2 |
|
left
- 用于存储左边一半(或第一半)细分曲线的三次曲线对象right
- 用于存储右边一半(或第二半)细分曲线的三次曲线对象1 2 3 |
|
src
参数指定的三次曲线,并将得到的两个细分曲线存储到 left
和 right
曲线参数中。left
和 right
两个对象的一个(或两个)可以与 src
对象相同,也可以为 null
。
src
- 要细分的三次曲线left
- 用于存储左边一半(或第一半)细分曲线的三次曲线对象right
- 用于存储右边一半(或第二半)细分曲线的三次曲线对象1 2 3 4 5 6 |
|
src
数组 srcoff
到 (srcoff
+ 7) 索引处的坐标指定的三次曲线,并将得到的两个细分曲线存储到所得数组的相应索引中。left
和 right
数组中的一个(或两者)可以为 null
,也可以是到与 src
相同的数组的引用。注意,第一个细分曲线的最后一点就是第二个细分曲线的第一点。因此,可以为 left
和 right
传递相同的数组并使用偏移量(如 rightoff
等于 (leftoff
+ 6)),以避免为此公共点分配额外的存储区。
src
- 保存源曲线坐标的数组srcoff
- 6 个源坐标的开头在数组中的偏移量left
- 存储第一半细分曲线坐标的数组leftoff
- 6 个左坐标的开头在数组中的偏移量right
- 存储第二半细分曲线坐标的数组rightoff
- 6 个右坐标的开头在数组中的偏移量1 |
|
eqn
数组中的三次曲线,并将非复数的根放回该数组,同时返回根数。用以下方程表示三次曲线的解:
1 2 |
|
eqn
- 包含三次曲线系数的数组
1 2 |
|
eqn
数组中的三次曲线,并将非复数的根放入 res
数组,同时返回根数。用以下方程表示三次曲线的解:eqn = {c, b, a, d} dx^3 + ax^2 + bx + c = 0。返回值 -1 用于区分常数方程(可以始终为 0 或永远不为 0)与不包含任何零的方程。
eqn
- 用于解三次曲线方程的指定系数数组res
- 包含求解三次曲线方程所得非复数根的数组
1 2 |
|
Shape
的边界内。
Shape
中的 contains
x
- 要测试的指定的 X 坐标y
- 要测试的指定的 Y 坐标
Shape
边界内,则返回 true
;否则返回 false
。1 |
|
Point2D
是否在 Shape
的边界内。
Shape
中的 contains
p
- 要测试的指定的 Point2D
Point2D
在 Shape
边界内,则返回 true
;否则返回 false
。1 2 3 4 |
|
Shape
内部是否与指定矩形区域的内部相交。如果任何一个点既包含在 Shape
内,又包含在指定矩形区域内,则认为矩形区域与 Shape
相交。
在下列情况下,Shape.intersects()
方法允许 Shape
实现谨慎地返回 true
:
Shape
相交的可能性很大,但是
Shape
,即使矩形区域没有与该 Shape
相交,此方法也可能返回 true
。如果需要更精确的答案,由于 Area
类比大多数 Shape
对象更为准确地计算几何相交,因此可以使用该类。
Shape
中的 intersects
x
- 指定矩形区域左上角的 X 坐标y
- 指定矩形区域左上角的 Y 坐标w
- 指定矩形区域的宽度h
- 指定矩形区域的高度
Shape
的内部区域与矩形的内部区域相交,或者相交的可能性很大且执行计算的代价太高,则返回 true
;否则返回 false
。Area
1 |
|
Shape
内部是否与指定 Rectangle2D
内部相交。在下列情况下,Shape.intersects()
方法允许 Shape
实现谨慎地返回 true
:
Rectangle2D
与 Shape
相交的可能性很大,但是
Shape
,即使 Rectangle2D
没有与该 Shape
相交,此方法也可能返回 true
。如果需要更精确的答案,由于 Area
类比大多数 Shape
对象更为准确地计算几何相交,因此可以使用该类。
Shape
中的 intersects
r
- 指定的 Rectangle2D
Shape
内部与指定 Rectangle2D
内部相交,或者相交的可能性很大且执行计算的代价太高,则返回 true
;否则返回 false
。Shape.intersects(double, double, double, double)
1 2 3 4 |
|
Shape
内部是否完全包含指定矩形区域。矩形区域内的所有坐标都必须位于 Shape
中,才可以认为整个矩形区域包含在 Shape
中。
在下列情况下,Shape.contains()
方法允许 Shape
实现谨慎地返回 false
:
intersect
方法返回 true
并且
Shape
是否完全包含矩形区域的代价太高。
Shape
,即使 Shape
包含矩形区域,此方法也可能返回 false
。如果需要更精确的答案,由于 Area
类比大多数 Shape
对象更为准确地执行几何计算,因此可以使用该类。
Shape
中的 contains
x
- 指定矩形区域左上角的 X 坐标y
- 指定矩形区域左上角的 Y 坐标w
- 指定矩形区域的宽度h
- 指定矩形区域的高度
Shape
内部完全包含指定矩形区域,则返回 true
;否则,如果 Shape
包含矩形区域、intersects
方法返回 true
且执行包含计算代价太高,则返回 false
。Area
,
Shape.intersects(double, double, double, double)
1 |
|
Shape
内部是否完全包含指定的 Rectangle2D
。在下列情况下,Shape.contains()
方法允许 Shape
实现谨慎地返回 false
:
intersect
方法返回 true
并且
Shape
是否完全包含 Rectangle2D
的代价太高。
Shape
,即使 Shape
包含 Rectangle2D
,此方法也可能返回 false
。如果需要更精确的答案,由于 Area
类比大多数 Shape
对象更为准确地执行几何计算,因此可以使用该类。
Shape
中的 contains
r
- 指定的 Rectangle2D
Shape
内部完全包含 Rectangle2D
,则返回 true
;否则,如果 Shape
包含 Rectangle2D
、intersects
方法返回 true
且执行包含计算代价太高,则返回 false
。Shape.contains(double, double, double, double)
1 |
|
Shape
的整型 Rectangle
。注意,不保证返回的 Rectangle
是包围 Shape
的最小边界框,只保证 Shape
完全位于指示的 Rectangle
中。如果 Shape
超出了整数数据类型的有效范围,则返回的 Rectangle
也可能不完全包围 Shape
。getBounds2D
方法由于在表示形式上具有更大的灵活性,所以通常返回更紧密的边界框。
Shape
中的 getBounds
Shape
的整型 Rectangle
。Shape.getBounds2D()
1 |
|
CubicCurve2D
类不保证对此 CubicCurve2D
对象几何形状所作的修改不会影响该几何形状中正进行的迭代。
Shape
中的 getPathIterator
at
- 一个可选的 AffineTransform
,用于在迭代中返回的坐标;如果需要未变换的坐标,则为 null
CubicCurve2D
轮廓几何形状的 PathIterator
对象,一次一段。1 2 |
|
CubicCurve2D
类不保证对此 CubicCurve2D
对象几何形状所作的修改不会影响该几何形状中正在进行的迭代。
Shape
中的 getPathIterator
at
- 一个可选的 AffineTransform
,用于迭代中返回的坐标;如果需要未变换的坐标,则为 null
flatness
- 在由连接端点的直线取代细分曲线之前,给定曲线的控制点可以从共线变化的最大量
CubicCurve2D
轮廓几何形状的 PathIterator
对象,一次一段。1 |
|
Object
中的 clone
OutOfMemoryError
- 如果没有足够的内存。Cloneable
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。