|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.awt.geom.QuadCurve2D
public abstract class QuadCurve2D
QuadCurve2D
類別定義 (x,y)
坐標空間內的二次參數曲線段。
此類別是所有存儲 2D 二次曲線段的物件的惟一抽象父級類別。坐標的實際存儲表示形式由子類別決定。
巢狀類別摘要 | |
---|---|
static class |
QuadCurve2D.Double
使用 double 坐標指定的二次參數曲線段。 |
static class |
QuadCurve2D.Float
使用 float 坐標指定的二次參數曲線段。 |
建構子摘要 | |
---|---|
protected |
QuadCurve2D()
這是一個不可直接實例化的抽象類別。 |
方法摘要 | |
---|---|
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 |
getCtrlPt()
返回控制點。 |
abstract double |
getCtrlX()
以 double 精度返回控制點的 X 坐標。 |
abstract double |
getCtrlY()
以 double 精度返回控制點的 Y 坐標。 |
double |
getFlatness()
返回此 QuadCurve2D 的平面度(或者說從控制點到連接端點的線的最大距離)。 |
static double |
getFlatness(double[] coords,
int offset)
返回由控制點(存儲在指示陣列中的指示索引處)指定的二次曲線平面度(或者說從控制點到連接端點的線的最大距離)。 |
static double |
getFlatness(double x1,
double y1,
double ctrlx,
double ctrly,
double x2,
double y2)
返回由指示控制點指定的二次曲線平面度(或者說從控制點到連接端點的線的最大距離)。 |
double |
getFlatnessSq()
返回此 QuadCurve2D 的平面度(或者說從控制點到連接端點的線的最大距離)的平方。 |
static double |
getFlatnessSq(double[] coords,
int offset)
返回由控制點(存儲在指示陣列中的指示索引處)指定的二次曲線平面度(或者說從控制點到連接端點的線的最大距離)的平方。 |
static double |
getFlatnessSq(double x1,
double y1,
double ctrlx,
double ctrly,
double x2,
double y2)
返回由指示控制點指定的二次曲線平面度(或者說從控制點到連接端點的線的最大距離)的平方。 |
abstract Point2D |
getP1()
返回起始點。 |
abstract Point2D |
getP2()
返回結束點。 |
PathIterator |
getPathIterator(AffineTransform at)
返回定義此 QuadCurve2D 的形狀邊界的迭代物件。 |
PathIterator |
getPathIterator(AffineTransform at,
double flatness)
返回定義此 QuadCurve2D 的變平形狀邊界的迭代物件。 |
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(double[] coords,
int offset)
將此 QuadCurve2D 端點和控制點的位置設置為指定陣列中指定偏移量處的 double 坐標。 |
abstract void |
setCurve(double x1,
double y1,
double ctrlx,
double ctrly,
double x2,
double y2)
將此曲線端點和控制點的位置設置為指定的 double 坐標。 |
void |
setCurve(Point2D[] pts,
int offset)
將此 QuadCurve2D 端點和控制點的位置設置為指定陣列中指定偏移量處 Point2D 物件的坐標。 |
void |
setCurve(Point2D p1,
Point2D cp,
Point2D p2)
將此 QuadCurve2D 端點和控制點的位置設置為指定的 Point2D 坐標。 |
void |
setCurve(QuadCurve2D c)
將此 QuadCurve2D 端點和控制點的位置設置為與指定的 QuadCurve2D 相同。 |
static int |
solveQuadratic(double[] eqn)
解係數位於 eqn 陣列中的二次曲線,並將非複數的根放回該陣列,同時返回根數。 |
static int |
solveQuadratic(double[] eqn,
double[] res)
解係數位於 eqn 陣列中的二次曲線,並將非複數的根放入 res 陣列,同時返回根數。 |
static void |
subdivide(double[] src,
int srcoff,
double[] left,
int leftoff,
double[] right,
int rightoff)
細分由存儲在 src 陣列 srcoff 到 (srcoff + 5) 索引處的坐標指定的二次曲線,並將得到的兩個細分曲線存儲到所得陣列的相應索引中。 |
void |
subdivide(QuadCurve2D left,
QuadCurve2D right)
細分此 QuadCurve2D 並將得到的兩個細分曲線存儲到 left 和 right 曲線參數中。 |
static void |
subdivide(QuadCurve2D src,
QuadCurve2D left,
QuadCurve2D right)
細分由 src 參數指定的二次曲線並將得到的兩個細分曲線存儲到 left 和 right 曲線參數中。 |
從類別 java.lang.Object 繼承的方法 |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
從介面 java.awt.Shape 繼承的方法 |
---|
getBounds2D |
建構子詳細資訊 |
---|
protected QuadCurve2D()
QuadCurve2D.Float
,
QuadCurve2D.Double
方法詳細資訊 |
---|
public abstract double getX1()
double
精度返回起始點的 X 坐標。
public abstract double getY1()
double
精度返回起始點的 Y 坐標。
public abstract Point2D getP1()
QuadCurve2D
起始點的 Point2D
。public abstract double getCtrlX()
double
精度返回控制點的 X 坐標。
public abstract double getCtrlY()
double
精度返回控制點的 Y 坐標。
public abstract Point2D getCtrlPt()
Point2D
控制點的 Point2D
。public abstract double getX2()
double
精度返回結束點的 X 坐標。
public abstract double getY2()
double
精度返回結束點的 Y 坐標。
public abstract Point2D getP2()
Point2D
結束點的 Point
物件。public abstract void setCurve(double x1, double y1, double ctrlx, double ctrly, double x2, double y2)
double
坐標。
x1
- 起始點的 X 坐標y1
- 起始點的 Y 坐標ctrlx
- 控制點的 X 坐標ctrly
- 控制點的 Y 坐標x2
- 結束點的 X 坐標y2
- 結束點的 Y 坐標public void setCurve(double[] coords, int offset)
QuadCurve2D
端點和控制點的位置設置為指定陣列中指定偏移量處的 double
坐標。
coords
- 套件含坐標值的陣列offset
- 陣列中的索引,從此處開始獲取坐標值並將其賦給此 QuadCurve2D
public void setCurve(Point2D p1, Point2D cp, Point2D p2)
QuadCurve2D
端點和控制點的位置設置為指定的 Point2D
坐標。
p1
- 起始點cp
- 控制點p2
- 結束點public void setCurve(Point2D[] pts, int offset)
QuadCurve2D
端點和控制點的位置設置為指定陣列中指定偏移量處 Point2D
物件的坐標。
pts
- 套件含定義坐標值的 Point2D
的陣列offset
- pts
中的索引,從此處開始獲取坐標值並將其賦給此 QuadCurve2D
public void setCurve(QuadCurve2D c)
QuadCurve2D
端點和控制點的位置設置為與指定的 QuadCurve2D
相同。
c
- 指定的 QuadCurve2D
public static double getFlatnessSq(double x1, double y1, double ctrlx, double ctrly, double x2, double y2)
x1
- 起始點的 X 坐標y1
- 起始點的 Y 坐標ctrlx
- 控制點的 X 坐標ctrly
- 控制點的 Y 坐標x2
- 結束點的 X 坐標y2
- 結束點的 Y 坐標
public static double getFlatness(double x1, double y1, double ctrlx, double ctrly, double x2, double y2)
x1
- 起始點的 X 坐標y1
- 起始點的 Y 坐標ctrlx
- 控制點的 X 坐標ctrly
- 控制點的 Y 坐標x2
- 結束點的 X 坐標y2
- 結束點的 Y 坐標
public static double getFlatnessSq(double[] coords, int offset)
coords
- 套件含坐標值的陣列offset
- coords
中的索引,從此處開始從陣列中獲取值
public static double getFlatness(double[] coords, int offset)
coords
- 套件含坐標值的陣列offset
- coords
中的索引,從此處開始獲取坐標值
public double getFlatnessSq()
QuadCurve2D
的平面度(或者說從控制點到連接端點的線的最大距離)的平方。
QuadCurve2D
平面度的平方。public double getFlatness()
QuadCurve2D
的平面度(或者說從控制點到連接端點的線的最大距離)。
QuadCurve2D
的平面度。public void subdivide(QuadCurve2D left, QuadCurve2D right)
QuadCurve2D
並將得到的兩個細分曲線存儲到 left
和 right
曲線參數中。left
和 right
兩個物件的一個(或兩個)可以與 QuadCurve2D
物件相同,也可以為 null
。
left
- 用於存儲左邊一半(或第一半)細分曲線的 QuadCurve2D
物件right
- 用於存儲右邊一半(或第二半)細分曲線的 QuadCurve2D
物件public static void subdivide(QuadCurve2D src, QuadCurve2D left, QuadCurve2D right)
src
參數指定的二次曲線並將得到的兩個細分曲線存儲到 left
和 right
曲線參數中。left
和 right
兩個物件的任何一個或兩者都可以與 src
物件相同,也可以為 null
。
src
- 要細分的二次曲線left
- 用於存儲左邊一半(或第一半)細分曲線的 QuadCurve2D
物件right
- 用於存儲右邊一半(或第二半)細分曲線的 QuadCurve2D
物件public static void subdivide(double[] src, int srcoff, double[] left, int leftoff, double[] right, int rightoff)
src
陣列 srcoff
到 (srcoff
+ 5) 索引處的坐標指定的二次曲線,並將得到的兩個細分曲線存儲到所得陣列的相應索引中。left
和 right
陣列中的一個(或兩個)可以為 null
,也可以為到與 src
相同的陣列和偏移量的參考。注意,第一個細分曲線的最後一點就是第二個細分曲線的第一點。因此,可以為 left
和 right
傳遞相同的陣列,並使用偏移量(如 rightoff
等於 (leftoff
+ 4),以避免為此公共點分派額外的存儲區。
src
- 保存源曲線坐標的陣列srcoff
- 6 個源坐標的開頭在陣列中的偏移量left
- 存儲第一半細分曲線坐標的陣列leftoff
- 6 個左坐標的開頭在陣列中的偏移量right
- 存儲第二半細分曲線坐標的陣列rightoff
- 6 個右坐標的開頭在陣列中的偏移量public static int solveQuadratic(double[] eqn)
eqn
陣列中的二次曲線,並將非複數的根放回該陣列,同時返回根數。用以下方程表示二次曲線的解:
eqn = {C, B, A}; ax^2 + bx + c = 0返回值
-1
用於區分常數方程(可以始終為 0 或永遠不為 0)與不包含任何零的方程。
eqn
- 套件含二次曲線係數的陣列
-1
public static int solveQuadratic(double[] eqn, double[] res)
eqn
陣列中的二次曲線,並將非複數的根放入 res
陣列,同時返回根數。用以下方程表示二次曲線的解:
eqn = {C, B, A}; ax^2 + bx + c = 0返回值
-1
用於區分常數方程(可以始終為 0 或永遠不為 0)與不包含任何零的方程。
eqn
- 用於解二次曲線方程的指定係數陣列res
- 套件含求解二次曲線方程所得非複數根的陣列
-1
。public boolean contains(double x, double y)
Shape
的邊界內。
Shape
中的 contains
x
- 要測試的指定的 X 坐標y
- 要測試的指定的 Y 坐標
Shape
邊界內,則返回 true
;否則返回 false
。public boolean contains(Point2D p)
Point2D
是否在 Shape
的邊界內。
Shape
中的 contains
p
- 要測試的指定的 Point2D
Point2D
在 Shape
邊界內,則返回 true
;否則返回 false
。public boolean intersects(double x, double y, double w, double h)
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
public boolean intersects(Rectangle2D r)
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)
public boolean contains(double x, double y, double w, double h)
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)
public boolean contains(Rectangle2D r)
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)
public Rectangle getBounds()
Shape
的整型 Rectangle
。注意,不保證返回的 Rectangle
是包圍 Shape
的最小邊界框,只保證 Shape
完全位於指示的 Rectangle
中。如果 Shape
超出了整數資料型別的有效範圍,則返回的 Rectangle
也可能不完全包圍 Shape
。getBounds2D
方法由於在表示形式上具有更大的靈活性,所以通常返回更緊密的邊界框。
Shape
中的 getBounds
Shape
的整型 Rectangle
。Shape.getBounds2D()
public PathIterator getPathIterator(AffineTransform at)
QuadCurve2D
的形狀邊界的迭代物件。此類別的迭代器不是多執行緒安全的,這意味著此 QuadCurve2D
類別不保證對此 QuadCurve2D
物件幾何形狀所作的修改不會影響該幾何形狀中正在進行的迭代。
Shape
中的 getPathIterator
at
- 要應用於形狀邊界的可選的 AffineTransform
PathIterator
物件。public PathIterator getPathIterator(AffineTransform at, double flatness)
QuadCurve2D
的變平形狀邊界的迭代物件。此類別的迭代器不是多執行緒安全的,這意味著此 QuadCurve2D
類別不保證對此 QuadCurve2D
物件幾何形狀所作的修改不會影響該幾何形狀中正在進行的迭代。
Shape
中的 getPathIterator
at
- 要應用於形狀邊界的可選的 AffineTransform
flatness
- 在連接端點的直線取代曲線前,細分曲線的控制端點可以相對於連接此曲線端點的線的最大距離。
PathIterator
物件。public Object clone()
Object
中的 clone
OutOfMemoryError
- 如果沒有足夠的記憶體。Cloneable
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。