public final class ShapeUtilities extends Object
java.awt.geom
package.Modifier and Type | Field and Description |
---|---|
static int |
HORIZONTAL
Constante pour les calculs de paraboles.
|
static int |
PARALLEL
Constante pour les calculs de paraboles.
|
Modifier and Type | Method and Description |
---|---|
static Point2D |
circleCentre(double x1,
double y1,
double x2,
double y2,
double x3,
double y3)
Retourne la coordonnée centrale d'un cercle passant pas les trois points spécifiés.
|
static Point2D |
colinearPoint(double x1,
double y1,
double x2,
double y2,
double x,
double y,
double distance)
Retourne le point sur le segment de droite
(x1,y1)-(x2,y2) qui se trouve à la
distance distance spécifiée du point point . |
static Point2D |
colinearPoint(Line2D line,
Point2D point,
double distance)
Retourne le point sur le segment de droite
line qui se trouve à la distance distance spécifiée du point point . |
static Ellipse2D |
fitCircle(Point2D P1,
Point2D P2,
Point2D P3)
Retourne un cercle qui passe par chacun des trois points spécifiés.
|
static QuadCurve2D |
fitParabol(double x0,
double y0,
double x1,
double y1,
double x2,
double y2,
int orientation)
Retourne une courbe quadratique passant par les trois points spécifiés.
|
static QuadCurve2D |
fitParabol(Point2D P0,
Point2D P1,
Point2D P2,
int orientation)
Retourne une courbe quadratique passant par les trois points spécifiés.
|
static double |
getFlatness(Shape shape)
Returns a suggested value for the
flatness argument in Shape.getPathIterator(AffineTransform,double) for the specified shape. |
static Point2D |
intersectionPoint(double ax1,
double ay1,
double ax2,
double ay2,
double bx1,
double by1,
double bx2,
double by2)
Retourne le point d'intersection de deux segments de droites.
|
static Point2D |
intersectionPoint(Line2D a,
Line2D b)
Retourne le point d'intersection de deux segments de droites.
|
static Point2D |
nearestColinearPoint(double x1,
double y1,
double x2,
double y2,
double x,
double y)
Retourne le point sur le segment de droite
(x1,y1)-(x2,y2) qui se trouve le plus près
du point (x,y) spécifié. |
static Point2D |
nearestColinearPoint(Line2D segment,
Point2D point)
Retourne le point sur le segment de droite
line qui se trouve le plus près du point
point spécifié. |
static Point2D |
parabolicControlPoint(double x0,
double y0,
double x1,
double y1,
double x2,
double y2,
int orientation,
Point2D dest)
Retourne le point de contrôle d'une courbe quadratique passant par les trois points
spécifiés.
|
static Shape |
toPrimitive(Shape path)
Tente de remplacer la forme géométrique
path par une des formes standards de Java2D. |
public static final int PARALLEL
public static final int HORIZONTAL
public static Point2D intersectionPoint(Line2D a, Line2D b)
null
.a
- Première ligne.b
- Deuxième ligne.null
.public static Point2D intersectionPoint(double ax1, double ay1, double ax2, double ay2, double bx1, double by1, double bx2, double by2)
null
.ax1
- x value of the first point on the first line.ay1
- y value of the first point on the first line.ax2
- x value of the last point on the first line.ay2
- y value of the last point on the first line.bx1
- x value of the first point on the second line.by1
- y value of the first point on the second line.bx2
- x value of the last point on the second line.by2
- y value of the last point on the second line.null
.public static Point2D nearestColinearPoint(Line2D segment, Point2D point)
line
qui se trouve le plus près du point
point
spécifié. Appellons result
le point retourné par cette méthode. Il est
garanti que result
répond aux conditions suivantes (aux erreurs d'arrondissements
près):
result
est un point du segment de droite line
. Il ne trouve pas au delà
des points extrêmes P1 et P2 de ce segment.
result
et point
est la plus courte
distance possible pour les points qui respectent la condition précédente. Cette
distance peut être calculée par point.distance(result)
.
segment
- The line on which to search for a point.point
- A point close to the given line.colinearPoint(Line2D, Point2D, double)
public static Point2D nearestColinearPoint(double x1, double y1, double x2, double y2, double x, double y)
(x1,y1)-(x2,y2)
qui se trouve le plus près
du point (x,y)
spécifié. Appellons result
le point retourné par cette
méthode. Il est garanti que result
répond aux conditions suivantes (aux erreurs
d'arrondissements près):
result
est un point du segment de droite (x1,y1)-(x2,y2)
. Il ne trouve
pas au delà des points extrêmes (x1,y1)
et (x2,y2)
de ce segment.
result
et (x,y)
est la plus courte
distance possible pour les points qui respectent la condition précédente. Cette
distance peut être calculée par new Point2D.Double(x,y).distance(result)
.
x1
- x value of the first point on the line.y1
- y value of the first point on the line.x2
- x value of the last point on the line.y2
- y value of the last point on the line.x
- x value of a point close to the given line.y
- y value of a point close to the given line.colinearPoint(double,double , double,double , double,double , double)
public static Point2D colinearPoint(Line2D line, Point2D point, double distance)
line
qui se trouve à la distance distance
spécifiée du point point
. Appellons result
le point retourné par
cette méthode. Si result
est non-nul, alors il est garanti qu'il répond aux
conditions suivantes (aux erreurs d'arrondissements près):
result
est un point du segment de droite line
. Il ne trouve pas au delà
des points extrêmes P1 et P2 de ce segment.
result
et point
est exactement distance
(aux erreurs d'arrondissements près). Cette distance peut être calculée par
point.distance(result)
.
null
.
Si deux points peuvent répondre à ces conditions, alors par convention cette méthode retourne
le point le plus près du point line.getP1()
.line
- The line on which to searh for a point.point
- A point close to the given line.distance
- The distance between the given point and the point to be returned.nearestColinearPoint(Line2D, Point2D)
public static Point2D colinearPoint(double x1, double y1, double x2, double y2, double x, double y, double distance)
(x1,y1)-(x2,y2)
qui se trouve à la
distance distance
spécifiée du point point
. Appellons result
le point
retourné par cette méthode. Si result
est non-nul, alors il est garantit qu'il répond
aux conditions suivantes (aux erreurs d'arrondissements près):
result
est un point du segment de droite (x1,y1)-(x2,y2)
. Il ne trouve
pas au delà des points extrêmes (x1,y1)
et (x2,y2)
de ce segment.
result
et point
est exactement distance
(aux erreurs d'arrondissements près). Cette distance peut être calculée par
point.distance(result)
.
null
.
Si deux points peuvent répondre à ces conditions, alors par convention cette méthode retourne
le point le plus près du point (x1,y1)
.x1
- x value of the first point on the line.y1
- y value of the first point on the line.x2
- x value of the last point on the line.y2
- y value of the last point on the line.x
- x value of a point close to the given line.y
- y value of a point close to the given line.distance
- The distance between the given point and the point to be returned.nearestColinearPoint(double,double , double,double , double,double)
public static QuadCurve2D fitParabol(Point2D P0, Point2D P1, Point2D P2, int orientation) throws IllegalArgumentException
y=ax²+bx+c
, mais que l'axe des x de cette équation n'est pas
nécessairement horizontal. La direction de cet axe des x dépend du paramètre
orientation
spécifié à cette méthode. La valeur HORIZONTAL
signifie que
l'axe des x de la parabole sera toujours horizontal. La courbe quadratique
produite ressemblera alors à une parabole classique telle qu'on en voit dans les ouvrages de
mathématiques élémentaires. La valeur PARALLEL
indique plutôt que l'axe des
x de la parabole doit être parallèle à la droite joignant les points P0
et
P2
. Ce dernier type produira le même résultat que HORIZONTAL
si P0.y==P2.y
.P0
- Premier point de la courbe quadratique.P1
- Point par lequel la courbe quadratique doit passer. Il n'est pas obligatoire que ce
point soit situé entre P0
et P1
. Toutefois, il ne doit pas être
colinéaire avec P0
et P1
.P2
- Dernier point de la courbe quadratique.orientation
- Orientation de l'axe des x de la parabole: PARALLEL
ou
HORIZONTAL
.P0
et se terminera au point P2
. Si deux points ont des
coordonnées presque identiques, ou si les trois points sont colinéaires, alors cette
méthode retourne null
.IllegalArgumentException
- si l'argument orientation
n'est pas une des
constantes valides.public static QuadCurve2D fitParabol(double x0, double y0, double x1, double y1, double x2, double y2, int orientation) throws IllegalArgumentException
y=ax²+bx+c
, mais que l'axe des x de cette équation n'est pas
nécessairement horizontal. La direction de cet axe des x dépend du paramètre
orientation
spécifié à cette méthode. La valeur HORIZONTAL
signifie que
l'axe des x de la parabole sera toujours horizontal. La courbe quadratique
produite ressemblera alors à une parabole classique telle qu'on en voit dans les ouvrages de
mathématiques élémentaires. La valeur PARALLEL
indique plutôt que l'axe des
x de la parabole doit être parallèle à la droite joignant les points (x0,y0)
et (x2,y2)
. Ce dernier type produira le même résultat que HORIZONTAL
si y0==y2
.x0
- x value of the first point.y0
- y value of the first point.x1
- x value of the second point.y1
- y value of the second point.x2
- x value of the third point.y2
- y value of the third point.orientation
- Orientation de l'axe des x de la parabole: PARALLEL
ou
HORIZONTAL
.(x0,y0)
et se terminera au point (x2,y2)
. Si deux points ont des
coordonnées presque identiques, ou si les trois points sont colinéaires, alors cette
méthode retourne null
.IllegalArgumentException
- si l'argument orientation
n'est pas une des
constantes valides.public static Point2D parabolicControlPoint(double x0, double y0, double x1, double y1, double x2, double y2, int orientation, Point2D dest) throws IllegalArgumentException
y=ax²+bx+c
, mais que l'axe des x de
cette équation n'est pas nécessairement horizontal. La direction de cet axe des x
dépend du paramètre orientation
spécifié à cette méthode. La valeur HORIZONTAL
signifie que l'axe des x de la parabole sera toujours horizontal. La
courbe quadratique produite ressemblera alors à une parabole classique telle qu'on en voit
dans les ouvrages de mathématiques élémentaires. La valeur PARALLEL
indique plutôt
que l'axe des x de la parabole doit être parallèle à la droite joignant les points
(x0,y0)
et (x2,y2)
. Ce dernier type produira le même résultat que HORIZONTAL
si y0==y2
.x0
- x value of the first point.y0
- y value of the first point.x1
- x value of the second point.y1
- y value of the second point.x2
- x value of the third point.y2
- y value of the third point.orientation
- Orientation de l'axe des x de la parabole: PARALLEL
ou
HORIZONTAL
.dest
- Where to store the control point.(x0,y0)
et se terminera au point (x2,y2)
.
Si deux points ont des coordonnées presque identiques, ou si les trois points sont
colinéaires, alors cette méthode retourne null
.IllegalArgumentException
- si l'argument orientation
n'est pas une des
constantes valides.public static Ellipse2D fitCircle(Point2D P1, Point2D P2, Point2D P3)
P1
- The first point.P2
- The second point.P3
- The third point.public static Point2D circleCentre(double x1, double y1, double x2, double y2, double x3, double y3)
x1
- x value of the first point.y1
- y value of the first point.x2
- x value of the second point.y2
- y value of the second point.x3
- x value of the third point.y3
- y value of the third point.public static Shape toPrimitive(Shape path)
path
par une des formes standards de Java2D.
Par exemple, si path
ne contient qu'un simple segment de droite ou une courbe
quadratique, alors cette méthode retournera un objet Line2D
ou QuadCurve2D
respectivement.path
- Forme géométrique à simplifier (généralement un objet GeneralPath
).path
si aucun remplacement n'est proposé.public static double getFlatness(Shape shape)
flatness
argument in Shape.getPathIterator(AffineTransform,double)
for the specified shape.shape
- The shape for which to compute a flatness factor.Copyright © 1996–2019 Geotools. All rights reserved.