|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.awt.geom.QuadCurve2D
QuadCurve2D
クラスは、(x, y) 座標空間の 2 次パラメトリック曲線セグメントを定義します。
このクラスは、2D の 2 次曲線セグメントを格納するすべてのオブジェクトの抽象スーパークラスであり、座標の実際の記憶域表現は、サブクラスに委ねられます。
内部クラスの概要 | |
static class |
QuadCurve2D.Double
double 座標で指定された 2 次パラメトリック曲線セグメントです。 |
static class |
QuadCurve2D.Float
float 座標で指定された 2 次パラメトリック曲線セグメントです。 |
コンストラクタの概要 | |
protected |
QuadCurve2D()
これは、インスタンスを直接には生成できない抽象クラスです。 |
メソッドの概要 | |
Object |
clone()
このオブジェクトと同じクラスで、同じ内容の新しいオブジェクトを作成します。 |
boolean |
contains(double x,
double y)
指定された座標がこの QuadCurve2D の形状の境界内にあるかどうかを判定します。 |
boolean |
contains(double x,
double y,
double w,
double h)
この QuadCurve2D の形状の内部が、指定された矩形座標セットを完全に内包するかどうかを判定します。 |
boolean |
contains(Point2D p)
指定された Point2D がこの QuadCurve2D の形状の境界内にあるかどうかを判定します。 |
boolean |
contains(Rectangle2D r)
この QuadCurve2D の形状の内部が、指定された Rectangle2D を完全に内包するかどうかを判定します。 |
Rectangle |
getBounds()
この QuadCurve2D のバウンディングボックスを返します。 |
abstract Point2D |
getCtrlPt()
制御点を返します。 |
abstract double |
getCtrlX()
制御点の x 座標を double 精度で返します。 |
abstract double |
getCtrlY()
制御点の y 座標を double 精度で返します。 |
double |
getFlatness()
この QuadCurve2D のフラットネス、つまり端点を結ぶ線から制御点までの最大距離を返します。 |
static double |
getFlatness(double[] coords,
int offset)
指定された配列の指定されたインデックスに格納された制御点で示される 2 次曲線のフラットネス、つまり端点を結ぶ線から制御点までの最大距離を返します。 |
static double |
getFlatness(double x1,
double y1,
double ctrlx,
double ctrly,
double x2,
double y2)
指定された制御点によって指定される 2 次曲線のフラットネス、つまり端点間を接続する線から制御点までの最大距離を返します。 |
double |
getFlatnessSq()
この QuadCurve2D のフラットネスの 2 乗、つまり端点を結ぶ線から制御点までの最大距離の 2 乗を返します。 |
static double |
getFlatnessSq(double[] coords,
int offset)
指定された配列の指定されたインデックスに格納された制御点によって指定される 2 次曲線のフラットネスの 2 乗、つまり端点間を接続する線から制御点までの最大距離の 2 乗を返します。 |
static double |
getFlatnessSq(double x1,
double y1,
double ctrlx,
double ctrly,
double x2,
double y2)
指定された制御点によって指定される 2 次曲線のフラットネスの 2 乗、つまり端点間を接続する線から制御点までの最大距離の 2 乗を返します。 |
abstract Point2D |
getP1()
始点を返します。 |
abstract Point2D |
getP2()
終点を返します。 |
PathIterator |
getPathIterator(AffineTransform at)
この QuadCurve2D の形状の境界を定義する繰り返しオブジェクトを返します。 |
PathIterator |
getPathIterator(AffineTransform at,
double flatness)
この QuadCurve2D の平坦化された形状の境界を定義する繰り返しオブジェクトを返します。 |
abstract double |
getX1()
始点の x 座標を double 精度で返します。 |
abstract double |
getX2()
終点の x 座標を double 精度で返します。 |
abstract double |
getY1()
始点の y 座標を double 精度で返します。 |
abstract double |
getY2()
終点の y 座標を double 精度で返します。 |
boolean |
intersects(double x,
double y,
double w,
double h)
この QuadCurve2D の形状が、指定された矩形座標セットの内部と交差するかどうかを判定します。 |
boolean |
intersects(Rectangle2D r)
この QuadCurve2D の形状が、指定された 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 配列にある 2 次方程式の解を得て、非複素数解を同じ配列に戻し、結果として解の個数を返します。 |
static int |
solveQuadratic(double[] eqn,
double[] res)
係数が eqn 配列にある 2 次方程式の解を得て、非複素数解を res 配列に置き、結果として解の個数を返します。 |
static void |
subdivide(double[] src,
int srcoff,
double[] left,
int leftoff,
double[] right,
int rightoff)
src 配列のインデックス srcoff から srcoff + 5 に格納されている座標で指定される 2 次曲線を分割して、分割した 2 つの曲線を 2 つの配列の対応するインデックスに格納します。 |
void |
subdivide(QuadCurve2D left,
QuadCurve2D right)
この QuadCurve2D を分割して、分割した 2 つの曲線を left および right 曲線パラメータに格納します。 |
static void |
subdivide(QuadCurve2D src,
QuadCurve2D left,
QuadCurve2D right)
src パラメータで指定された 2 次曲線を分割し、分割された 2 つの曲線を 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
精度で返します。public abstract double getY1()
double
精度で返します。public abstract Point2D getP1()
QuadCurve2D
の始点を表す Point2D
public abstract double getCtrlX()
double
精度で返します。public abstract double getCtrlY()
double
精度で返します。public abstract Point2D getCtrlPt()
Point2D
の制御点を表す Point2D
public abstract double getX2()
double
精度で返します。public abstract double getY2()
double
精度で返します。public abstract Point2D getP2()
Point2D
の終点を表す Point
オブジェクトpublic abstract void setCurve(double x1, double y1, double ctrlx, double ctrly, double x2, double y2)
double
座標に設定します。x1, y1
- 始点の座標ctrlx, ctrly
- 制御点の座標x2, y1
- 終点の座標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
- この QuadCurve2D
に割り当てる座標値を取得する開始位置を示す pts
内のインデックス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, y1
- 始点の座標ctrlx, ctrly
- 制御点の座標x2, y1
- 終点の座標public static double getFlatness(double x1, double y1, double ctrlx, double ctrly, double x2, double y2)
x1, y1
- 始点の座標ctrlx, ctrly
- 制御点の座標x2, y1
- 終点の座標public static double getFlatnessSq(double[] coords, int offset)
coords
- 座標値を格納する配列offset
- 2 次曲線に割り当てる値を取得する開始位置を示す coords
内のインデックスpublic static double getFlatness(double[] coords, int offset)
coords
- 座標値を格納する配列offset
- 2 次曲線に割り当てる座標値を取得する開始位置を示す coords
内のインデックスpublic double getFlatnessSq()
QuadCurve2D
のフラットネスの 2 乗、つまり端点を結ぶ線から制御点までの最大距離の 2 乗を返します。QuadCurve2D
のフラットネスの 2 乗public double getFlatness()
QuadCurve2D
のフラットネス、つまり端点を結ぶ線から制御点までの最大距離を返します。QuadCurve2D
のフラットネスpublic void subdivide(QuadCurve2D left, QuadCurve2D right)
QuadCurve2D
を分割して、分割した 2 つの曲線を left
および right
曲線パラメータに格納します。left
オブジェクトと right
オブジェクトのどちらか、または両方とも、この QuadCurve2D
と同じか null
になります。left
- 分割された曲線の左側 (最初の半分) を格納するための QuadCurve2D
オブジェクトright
- 分割された曲線の右側 (残り半分) を格納するための QuadCurve2D
オブジェクトpublic static void subdivide(QuadCurve2D src, QuadCurve2D left, QuadCurve2D right)
src
パラメータで指定された 2 次曲線を分割し、分割された 2 つの曲線を left
および right
曲線パラメータに保存します。left
オブジェクトおよび right
オブジェクトのどちらか、または両方とも src
オブジェクトと同じになるか null
になります。src
- 分割される 2 次曲線left
- 分割された曲線の左側 (最初の半分) を格納するための QuadCurve2D
オブジェクトright
- 分割された曲線の右側 (残り半分) を格納するための QuadCurve2D
オブジェクトpublic static void subdivide(double[] src, int srcoff, double[] left, int leftoff, double[] right, int rightoff)
src
配列のインデックス srcoff
から srcoff
+ 5 に格納されている座標で指定される 2 次曲線を分割して、分割した 2 つの曲線を 2 つの配列の対応するインデックスに格納します。left
配列および right
配列のどちらか、または両方とも null
になるか、または src
配列と同じ配列およびオフセットへの参照になります。分割された最初の曲線の終点は分割された 2 番目の曲線の始点と同じです。そのため、この共通の点に余分な記憶域を割り当てるのを避けるために、left
用と right
用として同じ配列を渡して、rightoff
が leftoff
+ 4 と等しいオフセットを使用できます。src
- 転送元曲線の座標を保持する配列srcoff
- 6 つの転送元座標の先頭の配列へのオフセットleft
- 分割された曲線の最初の半分の座標を格納するための配列leftoff
- 6 つの左座標の先頭の配列へのオフセットright
- 分割された曲線の残り半分の座標を格納するための配列rightoff
- 6 つの右座標の先頭の配列へのオフセットpublic static int solveQuadratic(double[] eqn)
eqn
配列にある 2 次方程式の解を得て、非複素数解を同じ配列に戻し、結果として解の個数を返します。解を得た 2 次方程式は次の等式で表されます。
eqn = {C, B, A}; ax^2 + bx + c = 0戻り値の
-1
を使用すると、常に 0 か 0 でない定数方程式と、ゼロを持たない方程式とを区別できます。equ
- 2 次方程式の係数を格納している配列-1
public static int solveQuadratic(double[] eqn, double[] res)
eqn
配列にある 2 次方程式の解を得て、非複素数解を res
配列に置き、結果として解の個数を返します。解を得た 2 次方程式は次の等式で表されます。
eqn = {C, B, A}; ax^2 + bx + c = 0戻り値の
-1
を使用すると、常に 0 か 0 でない定数方程式と、ゼロを持たない方程式とを区別できます。-1
public boolean contains(double x, double y)
QuadCurve2D
の形状の境界内にあるかどうかを判定します。Shape
内の contains
x, y
- 指定された座標QuadCurve2D
の形状の境界内にある場合は true
、そうでない場合は false
public boolean contains(Point2D p)
Point2D
がこの QuadCurve2D
の形状の境界内にあるかどうかを判定します。Shape
内の contains
p
- 指定された Point2D
Point2D
がこの QuadCurve2D
の形状の境界内にある場合は true
public boolean intersects(double x, double y, double w, double h)
QuadCurve2D
の形状が、指定された矩形座標セットの内部と交差するかどうかを判定します。Shape
内の intersects
x, y
- 指定された矩形領域の左上隅の座標w
- 指定された矩形領域の幅h
- 指定された矩形領域の高さQuadCurve2D
の形状が指定された矩形座標セットの内部と交差する場合は true
、そうでない場合は false
public boolean intersects(Rectangle2D r)
QuadCurve2D
の形状が、指定された Rectangle2D
の内部と交差するかどうかを判定します。Shape
内の intersects
r
- 指定された Rectangle2D
QuadCurve2D
の形状が指定された Rectangle2D
の内部と交差する場合は true
、そうでない場合は false
public boolean contains(double x, double y, double w, double h)
QuadCurve2D
の形状の内部が、指定された矩形座標セットを完全に内包するかどうかを判定します。Shape
内の contains
x, y
- 指定された矩形領域の左上隅の座標w
- 指定された矩形領域の幅h
- 指定された矩形領域の高さQuadCurve2D
の形状の内部が指定された矩形領域を完全に内包する場合は true
、そうでない場合は false
public boolean contains(Rectangle2D r)
QuadCurve2D
の形状の内部が、指定された Rectangle2D
を完全に内包するかどうかを判定します。Shape
内の contains
r
- 指定された Rectangle2D
QuadCurve2D
の形状の内部が指定された Rectangle2D
を完全に内包する場合は true
、そうでない場合は false
public Rectangle getBounds()
QuadCurve2D
のバウンディングボックスを返します。Shape
内の getBounds
QuadCurve2D
の形状のバウンディングボックスを表す Rectangle
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 Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.