返回介绍

java.awt.geom 类 Line2D

发布于 2019-10-04 09:50:25 字数 29856 浏览 856 评论 0 收藏 0

java.lang.Object
  └java.awt.geom.Line2D
所有已实现的接口:
Shape, Cloneable
直接已知子类:
Line2D.Double, Line2D.Float

public abstract class Line2D
extends Object
 
implements Shape, Cloneable
 

Line2D 表示 (x,y) 坐标空间内的线段。像 Java 2D API 的所有类一样,此类使用称为用户空间 的默认坐标系统,其中 Y 轴的值向下增大,X 轴的值向右增大。有关用户空间坐标系统的更多信息,请参阅《Java 2D Programmer's Guide》中的 Coordinate Systems 部分。

此类是所有存储 2D 线段对象的惟一抽象超类。坐标的实际存储表示形式要靠子类来完成。


嵌套类摘要
staticclassLine2D.Double

使用 double 坐标指定的线段。

staticclassLine2D.Float

使用 float 坐标指定的线段。

构造方法摘要
protectedLine2D()

这是一个无法直接实例化的抽象类。

方法摘要
Objectclone()

创建一个与此对象具有相同类的新对象。

booleancontains(doublex, doubley)

测试指定坐标是否在此 Line2D 对象的边界内。

booleancontains(doublex, doubley, doublew, doubleh)

测试此 Line2D 的内部是否完全包含指定矩形坐标集。

booleancontains(Point2Dp)

测试给定 Point2D 是否在此 Line2D 的边界内。

booleancontains(Rectangle2Dr)

测试此 Line2D 内部是否完全包含指定的 Rectangle2D

RectanglegetBounds()

返回此 Line2D 的边界框。

abstract Point2DgetP1()

返回此 Line2D 的起始 Point2D

abstract Point2DgetP2()

返回此 Line2D 的结束 Point2D

PathIteratorgetPathIterator(AffineTransformat)

返回定义此 Line2D 边界的迭代对象。

PathIteratorgetPathIterator(AffineTransformat, doubleflatness)

返回定义此变平的 Line2D 边界的迭代对象。

abstract doublegetX1()

返回起始点的 X 坐标(以 double 精度形式)。

abstract doublegetX2()

返回结束点的 X 坐标(以 double 精度形式)。

abstract doublegetY1()

返回起始点的 Y 坐标(以 double 精度形式)。

abstract doublegetY2()

返回结束点的 Y 坐标(以 double 精度形式)。

booleanintersects(doublex, doubley, doublew, doubleh)

测试此 Line2D 是否与指定矩形坐标集的内部相交。

booleanintersects(Rectangle2Dr)

测试此 Line2D 是否与指定 Rectangle2D 的内部相交。

booleanintersectsLine(doubleX1, doubleY1, doubleX2, doubleY2)

测试从 (X1,Y1) 到 (X2,Y2) 的线段是否与此线段相交。

booleanintersectsLine(Line2Dl)

测试指定的线段是否与此线段相交。

staticbooleanlinesIntersect(doubleX1, doubleY1, doubleX2, doubleY2, doubleX3, doubleY3, doubleX4, doubleY4)

测试从 (X1,Y1) 到 (X2,Y2) 的线段是否与从 (X3,Y3) 到 (X4,Y4) 的线段相交。

doubleptLineDist(doublePX, doublePY)

返回从点到此线的距离。

staticdoubleptLineDist(doubleX1, doubleY1, doubleX2, doubleY2, doublePX, doublePY)

返回从点到线的距离。

doubleptLineDist(Point2Dpt)

返回从 Point2D 到此线的距离。

doubleptLineDistSq(doublePX, doublePY)

返回从点到此线的距离的平方。

staticdoubleptLineDistSq(doubleX1, doubleY1, doubleX2, doubleY2, doublePX, doublePY)

返回从点到线的距离的平方。

doubleptLineDistSq(Point2Dpt)

返回从指定 Point2D 到此线的距离的平方。

doubleptSegDist(doublePX, doublePY)

返回从点到此线段的距离。

staticdoubleptSegDist(doubleX1, doubleY1, doubleX2, doubleY2, doublePX, doublePY)

返回从点到线段的距离。

doubleptSegDist(Point2Dpt)

返回从 Point2D 到此线段的距离的平方。

doubleptSegDistSq(doublePX, doublePY)

返回从点到此线段的距离的平方。

staticdoubleptSegDistSq(doubleX1, doubleY1, doubleX2, doubleY2, doublePX, doublePY)

返回从点到线段的距离的平方。

doubleptSegDistSq(Point2Dpt)

返回从 Point2D 到此线段的距离的平方。

intrelativeCCW(doublePX, doublePY)

返回指定点 (PX,PY) 相对于此线段的位置的指示符。

staticintrelativeCCW(doubleX1, doubleY1, doubleX2, doubleY2, doublePX, doublePY)

返回指定点 (PX,PY) 相对于从 (X1,Y1) 到 (X2,Y2) 的线段的位置的指示符。

intrelativeCCW(Point2Dp)

返回指定 Point2D 相对于此线段的位置的指示符。

abstract voidsetLine(doubleX1, doubleY1, doubleX2, doubleY2)

将此 Line2D 的端点位置设置为指定的 double 坐标。

voidsetLine(Line2Dl)

将此 Line2D 端点的位置设置为与指定 Line2D 的这些端点相同。

voidsetLine(Point2Dp1, Point2Dp2)

将此 Line2D 端点的位置设置为指定的 Point2D 坐标。

从类 java.lang.Object 继承的方法
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从接口 java.awt.Shape 继承的方法
getBounds2D

构造方法详细信息

Line2D

protected Line2D()
这是一个无法直接实例化的抽象类。特定于类型的实现子类可用于实例化,并提供用于存储满足以下各种访问器方法所需信息的许多格式。
另请参见:
Line2D.Float , Line2D.Double

方法详细信息

getX1

public abstract double getX1()
返回起始点的 X 坐标(以 double 精度形式)。
返回:
Line2D 对象起始点的 X 坐标。

getY1

public abstract double getY1()
返回起始点的 Y 坐标(以 double 精度形式)。
返回:
Line2D 对象起始点的 Y 坐标。

getP1

public abstract Point2D getP1()
返回此 Line2D 的起始 Point2D
返回:
Line2D 的起始 Point2D

getX2

public abstract double getX2()
返回结束点的 X 坐标(以 double 精度形式)。
返回:
Line2D 对象起始点的 X 坐标。

getY2

public abstract double getY2()
返回结束点的 Y 坐标(以 double 精度形式)。
返回:
Line2D 对象起始点的 Y 坐标。

getP2

public abstract Point2D getP2()
返回此 Line2D 的结束 Point2D
返回:
作为此 Line2D 端点的 Point2D

setLine

public abstract void setLine(doubleX1,
                             doubleY1,
                             doubleX2,
                             doubleY2)
将此 Line2D 的端点位置设置为指定的 double 坐标。
参数:
X1,Y1 - 第一个指定的坐标
X2,Y2 - 第二个指定的坐标

setLine

public void setLine(Point2Dp1,
                    Point2Dp2)
将此 Line2D 端点的位置设置为指定的 Point2D 坐标。
参数:
p1,p2 - 指定的 Point2D 对象

setLine

public void setLine(Line2Dl)
将此 Line2D 端点的位置设置为与指定 Line2D 的这些端点相同。
参数:
l - 指定的 Line2D

relativeCCW

public static int relativeCCW(doubleX1,
                              doubleY1,
                              doubleX2,
                              doubleY2,
                              doublePX,
                              doublePY)
返回指定点 (PX,PY) 相对于从 (X1,Y1) 到 (X2,Y2) 的线段的位置的指示符。返回值可以为 1、-1 或 0,指示为指向指定点 (PX, PY),指定的线段必须绕其第一个端点 (X1,Y1) 旋转的方向。

返回值 1 指示线段转动的方向是从 X 正半轴到 Y 负半轴。在 Java 2D 使用的默认坐标系统中,此方向为逆时针方向。

返回值 -1 指示线段转动的方向是从 X 正半轴到 Y 正半轴。在默认的坐标系统中,此方向为顺时针方向。

返回值 0 指示,点恰好位于线段上。注意,指示符 0 是非常罕见的,并且因浮点舍入问题而不可用于确定共线性。

如果点与线段共线,但是不在端点之间,则点位于“(X1,Y1) 之外”时值为 -1,点位于“(X2,Y2) 之外”时值为 1。

参数:
X1,Y1 - 指定线段头的坐标
X2,Y2 - 指定线段尾的坐标
PX,PY - 要与指定线段进行比较的指定点的坐标
返回:
指示第三个指定坐标相对于前两个指定坐标所形成线段的位置的整数。

relativeCCW

public int relativeCCW(doublePX,
                       doublePY)
返回指定点 (PX,PY) 相对于此线段的位置的指示符。请参见 relativeCCW(double, double, double, double, double, double) 的方法注释以获取对返回值的解释。
参数:
PX,PY - 要与当前线段进行比较的指定点的坐标
返回:
指示指定坐标相对于当前线段的位置的整数。
另请参见:
relativeCCW(double, double, double, double, double, double)

relativeCCW

public int relativeCCW(Point2Dp)
返回指定 Point2D 相对于此线段的位置的指示符。请参见 relativeCCW(double, double, double, double, double, double) 的方法注释以获取对返回值的解释。
参数:
p - 要与当前线段进行比较的指定 Point2D 的坐标
返回:
指示 Point2D 相对于当前线段的位置的整数。
另请参见:
relativeCCW(double, double, double, double, double, double)

linesIntersect

public static boolean linesIntersect(doubleX1,
                                     doubleY1,
                                     doubleX2,
                                     doubleY2,
                                     doubleX3,
                                     doubleY3,
                                     doubleX4,
                                     doubleY4)
测试从 (X1,Y1) 到 (X2,Y2) 的线段是否与从 (X3,Y3) 到 (X4,Y4) 的线段相交。
参数:
X1,Y1 - 第一个指定线段头的坐标
X2,Y2 - 第一个指定线段尾的坐标
X3,Y3 - 第二个指定线段头的坐标
X4,Y4 - 第二个指定线段尾的坐标
返回:
如果第一个指定线段与第二个指定线段彼此相交,则返回 true ;否则返回 false

intersectsLine

public boolean intersectsLine(doubleX1,
                              doubleY1,
                              doubleX2,
                              doubleY2)
测试从 (X1,Y1) 到 (X2,Y2) 的线段是否与此线段相交。
参数:
X1,Y1 - 指定线段头的坐标
X2,Y2 - 指定线段尾的坐标
返回:
如果此线段与指定线段彼此相交,则返回 true ;否则返回 false

intersectsLine

public boolean intersectsLine(Line2Dl)
测试指定的线段是否与此线段相交。
参数:
l - 指定的 Line2D
返回:
如果此线段与指定线段彼此相交,则返回 true ;否则返回 false

ptSegDistSq

public static double ptSegDistSq(doubleX1,
                                 doubleY1,
                                 doubleX2,
                                 doubleY2,
                                 doublePX,
                                 doublePY)
返回从点到线段的距离的平方。测量的距离是从指定点到位于指定端点间的最近点之间的距离。如果指定点与线段相交于端点之间,则此方法返回 0.0。
参数:
X1,Y1 - 指定线段头的坐标
X2,Y2 - 指定线段尾的坐标
PX,PY - 要针对指定线段测量的指定点的坐标
返回:
作为从指定点到指定线段的距离的平方的 double 值。
另请参见:
ptLineDistSq(double, double, double, double, double, double)

ptSegDist

public static double ptSegDist(doubleX1,
                               doubleY1,
                               doubleX2,
                               doubleY2,
                               doublePX,
                               doublePY)
返回从点到线段的距离。测量的距离是从指定点到位于指定端点间的最近点之间的距离。如果指定点与线段相交于端点之间,则此方法返回 0.0。
参数:
X1, Y1 - 指定线段头的坐标
X2, Y2 - 指定线段尾的坐标
PX, PY - 要针对指定线段测量的指定点的坐标
返回:
作为从指定点到指定线段的距离的 double 值。
另请参见:
ptLineDist(double, double, double, double, double, double)

ptSegDistSq

public double ptSegDistSq(doublePX,
                          doublePY)
返回从点到此线段的距离的平方。测量的距离是从指定点到位于当前线端点间的最近点之间的距离。如果指定点与线段相交于端点之间,则此方法返回 0.0。
参数:
PX,PY - 针对此线段测量的指定点的坐标
返回:
作为从指定点到当前线段的距离平方的 double 值。
另请参见:
ptLineDistSq(double, double)

ptSegDistSq

public double ptSegDistSq(Point2Dpt)
返回从 Point2D 到此线段的距离的平方。测量的距离是从指定点到位于当前线端点间的最近点之间的距离。如果指定点与线段相交于端点之间,则此方法返回 0.0。
参数:
pt - 针对此线段测量的指定的 Point2D
返回:
作为从指定 Point2D 到当前线段的距离平方的 double 值。
另请参见:
ptLineDistSq(Point2D)

ptSegDist

public double ptSegDist(doublePX,
                        doublePY)
返回从点到此线段的距离。测量的距离是从指定点到位于当前线端点间的最近点之间的距离。如果指定点与线段相交于端点之间,则此方法返回 0.0。
参数:
PX, PY - 针对此线段测量的指定点的坐标
返回:
作为从指定点到当前线段的距离的 double 值。
另请参见:
ptLineDist(double, double)

ptSegDist

public double ptSegDist(Point2Dpt)
返回从 Point2D 到此线段的距离的平方。测量的距离是从指定点到位于当前线端点间的最近点之间的距离。如果指定点与线段相交于端点之间,则此方法返回 0.0。
参数:
pt - 针对此线段测量的指定 Point2D
返回:
作为从指定 Point2D 到当前线段的距离的 double 值。
另请参见:
ptLineDist(Point2D)

ptLineDistSq

public static double ptLineDistSq(doubleX1,
                                  doubleY1,
                                  doubleX2,
                                  doubleY2,
                                  doublePX,
                                  doublePY)
返回从点到线的距离的平方。测量的距离是指定点与位于指定坐标定义的无限延长线上的最近点之间的距离。如果指定点与线相交,则此方法返回 0.0。
参数:
X1,Y1 - 指定的线上某个点的坐标
X2,Y2 - 指定的线上另一个点的坐标
PX,PY - 针对指定线测量的指定点的坐标
返回:
作为从指定点到指定线的距离平方的 double 值。
另请参见:
ptSegDistSq(double, double, double, double, double, double)

ptLineDist

public static double ptLineDist(doubleX1,
                                doubleY1,
                                doubleX2,
                                doubleY2,
                                doublePX,
                                doublePY)
返回从点到线的距离。测量的距离是指定点与位于指定坐标定义的无限延长线上的最近点之间的距离。如果指定点与线相交,则此方法返回 0.0。
参数:
X1, Y1 - 指定的线上某个点的坐标
X2, Y2 - 指定的线上另一个点的坐标
PX, PY - 针对指定线测量的指定点的坐标
返回:
作为从指定点到指定线的距离的 double 值。
另请参见:
ptSegDist(double, double, double, double, double, double)

ptLineDistSq

public double ptLineDistSq(doublePX,
                           doublePY)
返回从点到此线的距离的平方。测量的距离是指定点与位于此 Line2D 定义的无限延长线上的最近点之间的距离。如果指定点与线相交,则此方法返回 0.0。
参数:
PX, PY - 针对此线测量的指定点的坐标
返回:
作为从指定点到当前线的距离平方的 double 值。
另请参见:
ptSegDistSq(double, double)

ptLineDistSq

public double ptLineDistSq(Point2Dpt)
返回从指定 Point2D 到此线的距离的平方。测量的距离是指定点与位于此 Line2D 定义的无限延长线上的最近点之间的距离。如果指定点与线相交,则此方法返回 0.0。
参数:
pt - 针对此线测量的指定 Point2D
返回:
作为从指定 Point2D 到当前线段的距离平方的 double 值。
另请参见:
ptSegDistSq(Point2D)

ptLineDist

public double ptLineDist(doublePX,
                         doublePY)
返回从点到此线的距离。测量的距离是指定点与位于此 Line2D 定义的无限延长线上的最近点之间的距离。如果指定点与线相交,则此方法返回 0.0。
参数:
PX,PY - 针对此线测量的指定点的坐标
返回:
作为从指定点到当前线的距离的 double 值。
另请参见:
ptSegDist(double, double)

ptLineDist

public double ptLineDist(Point2Dpt)
返回从 Point2D 到此线的距离。测量的距离是指定点与位于此 Line2D 定义的无限延长线上的最近点之间的距离。如果指定点与线相交,则此方法返回 0.0。
参数:
pt - 要测量的指定 Point2D
返回:
作为从指定 Point2D 到当前线段的距离的 double 值。
另请参见:
ptSegDist(Point2D)

contains

public boolean contains(doublex,
                        doubley)
测试指定坐标是否在此 Line2D 对象的边界内。此方法需要实现 Shape 接口,但是对于 Line2D 对象来说,它始终返回 false ,因为线不包含任何区域。
指定者:
接口 Shape 中的 contains
参数:
x,y - 指定点的坐标
返回:
false ,因为 Line2D 不包含任何区域。

contains

public boolean contains(Point2Dp)
测试给定 Point2D 是否在此 Line2D 的边界内。此方法需要实现 Shape 接口,但是对于 Line2D 对象来说,它始终返回 false ,因为线不包含任何区域。
指定者:
接口 Shape 中的 contains
参数:
p - 要测试的指定 Point2D
返回:
false ,因为 Line2D 不包含任何区域。

intersects

public boolean intersects(doublex,
                          doubley,
                          doublew,
                          doubleh)
测试此 Line2D 是否与指定矩形坐标集的内部相交。
指定者:
接口 Shape 中的 intersects
参数:
x,y - 指定矩形区域左上角的坐标
w - 指定矩形区域的宽度
h - 指定矩形区域的高度
返回:
如果此 Line2D 与指定矩形坐标集的内部相交,则返回 true ;否则返回 false
另请参见:
Area

intersects

public boolean intersects(Rectangle2Dr)
测试此 Line2D 是否与指定 Rectangle2D 的内部相交。
指定者:
接口 Shape 中的 intersects
参数:
r - 要测试的指定 Rectangle2D
返回:
如果此 Line2D 与指定 Rectangle2D 的内部相交,则返回 true ;否则返回 false
另请参见:
Shape.intersects(double, double, double, double)

contains

public boolean contains(doublex,
                        doubley,
                        doublew,
                        doubleh)
测试此 Line2D 的内部是否完全包含指定矩形坐标集。此方法需要实现 Shape 接口,但是对于 Line2D 对象来说,它始终返回 false,因为线不包含任何区域。
指定者:
接口 Shape 中的 contains
参数:
x,y - 指定矩形区域左上角的坐标
w - 指定矩形区域的宽度
h - 指定矩形区域的高度
返回:
false ,因为 Line2D 不包含任何区域。
另请参见:
Area , Shape.intersects(double, double, double, double)

contains

public boolean contains(Rectangle2Dr)
测试此 Line2D 内部是否完全包含指定的 Rectangle2D 。此方法需要实现 Shape 接口,但是对于 Line2D 对象来说,它始终返回 false ,因为线不包含任何区域。
指定者:
接口 Shape 中的 contains
参数:
r - 要测试的指定 Rectangle2D
返回:
false ,因为 Line2D 不包含任何区域。
另请参见:
Shape.contains(double, double, double, double)

getBounds

public Rectangle getBounds()
返回此 Line2D 的边界框。
指定者:
接口 Shape 中的 getBounds
返回:
作为 Line2D 边界框的 Rectangle
另请参见:
Shape.getBounds2D()

getPathIterator

public PathIterator getPathIterator(AffineTransformat)
返回定义此 Line2D 边界的迭代对象。此类的迭代器不是多线程安全的,这意味着此 Line2D 类不保证对此 Line2D 对象几何形状所作的修改不会对该几何形状中正在进行的迭代产生影响。
指定者:
接口 Shape 中的 getPathIterator
参数:
at - 指定的 AffineTransform
返回:
定义此 Line2D 的边界的 PathIterator

getPathIterator

public PathIterator getPathIterator(AffineTransformat,
                                    doubleflatness)
返回定义此变平的 Line2D 边界的迭代对象。此类的迭代器不是多线程安全的,这意味着此 Line2D 类不保证对此 Line2D 对象几何形状所作的修改不会对该几何形状中正在进行的迭代产生影响。
指定者:
接口 Shape 中的 getPathIterator
参数:
at - 指定的 AffineTransform
flatness - 在由连接端点的直线取代细分曲线之前,给定曲线的控制点可以从共线变化的最大量。因为 Line2D 对象始终是平的,所以此参数会被忽略。
返回:
定义变平的 Line2D 的边界的 PathIterator

clone

public Object clone()
创建一个与此对象具有相同类的新对象。
覆盖:
Object 中的 clone
返回:
此实例的一个副本。
抛出:
OutOfMemoryError - 如果没有足够的内存。
从以下版本开始:
1.2
另请参见:
Cloneable

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文