appendix> 2D> Line2D.Double | TOPUPPREVNEXT |
java.lang.Object
└java.awt.geom.Line2D
└java.awt.geom.Line2D.Double
コンストラクタ | 機能 |
---|---|
Line2D.Double () | 始点 (0,0) と 終点 (0,0) を両端とする直線を生成します。 |
Line2D.Double(
double x1, double y1, double x2, double y2) |
始点 ( x1 , y1 ) と 終点 ( x2 , y2 ) を両端とする直線を生成します。 |
Line2D.Double( Point2D p1, Point2D p2) | 始点 p1 と 終点 p2 を両端とする直線を生成します。 |
メソッド | 機能 |
---|---|
Rectangle2D getBounds2D( ) | この直線をぴったりと囲む矩形の枠を返します。 |
Point2D getP1( ) | この直線の始点を返します。 |
Point2D getP2( ) | この直線の終点を返します。 |
double getX1( ) | この直線の始点のx座標を返します。 |
double getX2( ) | この直線の終点のx座標を返します。 |
double getY1( ) | この直線の始点のy座標を返します。 |
double getY2( ) | この直線の終点のy座標を返します。 |
void setLine( double x1 , double y1 , double x2 , double y2 ) | この直線の始点と終点を ( x1 , y1 ) と ( x2 , y2 ) にします。 |
メソッド | 機能 |
---|---|
boolean contains ( ... ) | ... に種々のパラメータを指定できますが、 直線は広がりをもたないため値は常に false となります。 |
Rectangle getBounds ( ) | この直線をぴったりと囲む矩形の枠を返します。 |
boolean intersects (
double x , double y , double w , double h ) |
この直線が、左上隅座標 (x , y)、 幅 w、 高さ h の矩形と交わる場合は true、そうでない場合は false |
boolean intersects ( Rectangle2D r ) | この直線が 矩形 r と交わる場合は true、そうでない場合は false |
boolean intersectsLine (
double x , double y , double w , double h ) |
この直線が、 始点を(x , y)、 終点を(x , y)とする直線と交わる場合は true、そうでない場合は false |
boolean intersectsLine ( Line2D line ) | この直線が、 直線 line と交わる場合は true、そうでない場合は false |
static boolean linesIntersect (
double x1 , double y1 , double x2 , double y2 , double x3 , double y3 , double x4 , double y4 ) |
(x1 , y1)と(x2 , y2) を結ぶ直線と、 (x3 , y3)と(x4 , y4) を結ぶ直線とが交わる場合には true、そうでない場合には false |
double ptLineDist ( double x , double y ) | この直線(正確には線分)を無限に延長してえられる直線と、 点(x , y) の距離 |
double ptLineDist ( Point2Dp ) | この直線(正確には線分)を無限に延長してえられる直線と、 点 p の距離 |
static double ptLineDist (
double x1 , double y1 , double x2 , double y2 , double x0 , double y0 ) |
2点(x1 , y1) 、 (x2 , y2) を通る無限に長い直線と、 と点(x0 , y0) の距離 |
double ptLineDistSq ( double x , double y ) | この直線(正確には線分)を無限に延長してえられる直線と 点(x , y) の距離の2乗 |
double ptLineDistSq ( Point2Dp ) | この直線(正確には線分)を無限に延長してえられる直線と 点 p の距離の2乗 |
static double ptLineDistSq (
double x1 , double y1 , double x2 , double y2 , double x0 , double y0 ) |
2点 (x1 , y1) 、 (x2 , y2) を結ぶ無限に長い直線と、 と点(x0 , y0) の距離の2乗 |
double ptSegDist ( double x , double y ) | この直線(線分)と点(x , y) の距離 |
double ptSegDist ( Point2Dp ) | この直線(線分)と点 p の距離 |
static double ptLineDist (
double x1 , double y1 , double x2 , double y2 , double x0 , double y0 ) |
(x1 , y1)と(x2 , y2) を結ぶ直線(線分)と、 と点(x0 , y0) の距離 |
double ptLineDistSq ( double x , double y ) | この直線(線分)と点(x , y) の距離の2乗 |
double ptLineDistSq ( Point2Dp ) | この直線(線分)と点 p の距離の2乗 |
static double ptLineDistSq (
double x1 , double y1 , double x2 , double y2 , double x0 , double y0 ) |
(x1 , y1)と(x2 , y2) を結ぶ直線(線分)と、 と点(x0 , y0) の距離の2乗 |
int relativeCCW ( Point2D p ) | この直線と点 p の位置関係。 この直線を始点を中心に回転させて点 p の方向をむける場合に、 左回りに回転させた方がはやい場合は 1、 右回りに回転させたほうが回転角が小さくてすむ場合は -1。 直線の延長線上にある場合はゼロですが、誤差を考慮して判定する必要があります。 |
int relativeCCW (
double x0 , double y0 ) |
この直線と点 ( x0 , y0 ) の位置関係。 計算方法は、relativeCCW ( Point2D p ) と同じ。 |
static int relativeCCW (
double x1 , double y1 , double x2 , double y2 , double x0 , double y0 ) |
始点を(x1 , y1)、 終点を(x2 , y2)とする直線と、 点 ( x0 , y0 ) の位置関係。 計算方法は、relativeCCW ( Point2D p ) と同じ。 |
void setLine ( Point2D p1 , Point2D p2 ) | この直線の始点を p1 で示される座標に、終点を p2で示された座標に設定します。 |
void setLine ( Line2D line ) | この直線の始点と終点の座標を line で示された座標に等しくします。 |
実行結果の例
始点と終点はドラッグできます。 線の幅、dash、dash_phase を選択したり変更したりしてみましょう。
dash を自分で手入力する場合は、数値の配列を与えてください。
実行結果の例
更新日:2004-03-11