| java.lang.Object org.geotools.resources.geometry.ShapeUtilities
ShapeUtilities | final public class ShapeUtilities (Code) | | Static utilities methods. Those methods operate on geometric
shapes from the
java.awt.geom package.
since: 2.0 version: $Id: ShapeUtilities.java 22482 2006-10-31 02:58:00Z desruisseaux $ author: Martin Desruisseaux |
Field Summary | |
final public static int | HORIZONTAL Constante pour les calculs de paraboles. | final public static int | PARALLEL Constante pour les calculs de paraboles. |
Method Summary | |
public 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. | public 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 . | public 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 . | public static Ellipse2D | fitCircle(Point2D P1, Point2D P2, Point2D P3) Retourne un cercle qui passe par
chacun des trois points spécifiés. | public static QuadCurve2D | fitParabol(Point2D P0, Point2D P1, Point2D P2, int orientation) Retourne une courbe quadratique passant par les trois points spécifiés. | public 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. | public static double | getFlatness(Shape shape) Returns a suggested value for the
flatness argument in
Shape.getPathIterator(AffineTransformdouble) for the specified shape. | public static Point2D | intersectionPoint(Line2D a, Line2D b) Retourne le point d'intersection de deux segments de droites.
Cette méthode ne prolonge pas les segments de droites à l'infini.
Si les deux segments ne s'interceptent pas (soit par ce qu'ils sont
parallèles, ou soit parce qu'ils ne se prolongent pas assez loin
pour se toucher), alors cette méthode retourne
null .
Parameters: a - Première ligne. Parameters: b - Deuxième ligne. | public 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.
Cette méthode ne prolonge pas les segments de droites à l'infini.
Si les deux segments ne s'interceptent pas (soit par ce qu'ils sont
parallèles, ou soit parce qu'ils ne se prolongent pas assez loin
pour se toucher), alors cette méthode retourne
null .
Si une intersection fut trouvée, les coordonnées de cetteintersection. | public 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é. | public 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é. | public 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.
Il peut exister une infinité de courbes quadratiques passant par trois points. | public static Shape | toPrimitive(Shape path) Tente de remplacer la forme géométrique
path par une des formes standards
de Java2D. |
HORIZONTAL | final public static int HORIZONTAL(Code) | | Constante pour les calculs de paraboles. Cette constante indique que l'axe des
x de la parabole doit être horizontale, quelle que soit la pente de
la droite joignant les points P0 et P2.
|
PARALLEL | final public static int PARALLEL(Code) | | Constante pour les calculs de paraboles. Cette constante indique que l'axe des
x de la parabole doit être parallèle à la droite joignant les points
P0 et P2.
|
circleCentre | public static Point2D circleCentre(double x1, double y1, double x2, double y2, double x3, double y3)(Code) | | Retourne la coordonnée centrale d'un cercle passant
pas les trois points spécifiés. La distance entre
le point retourné et n'importe quel des points
(x1,y1),
(x2,y2),
(x3,y3)
sera constante; ce sera le rayon d'un cercle centré
au point retourné et passant par les trois points
spécifiés.
|
colinearPoint | public static Point2D colinearPoint(Line2D line, Point2D point, double distance)(Code) | | Retourne le point sur le segment de droite
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.
- La distance entre les points
result et
point est exactement
distance (aux erreurs d'arrondissements près).
Cette distance peut être calculée par
point.distance(result) .
Si aucun point ne peut répondre à ces conditions, alors cette méthode retourne
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() .
See Also: ShapeUtilities.nearestColinearPoint(Line2D,Point2D) |
colinearPoint | public static Point2D colinearPoint(double x1, double y1, double x2, double y2, double x, double y, double distance)(Code) | | Retourne le point sur le segment de droite
(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.
- La distance entre les points
result et
point est exactement
distance (aux erreurs d'arrondissements près).
Cette distance peut être calculée par
point.distance(result) .
Si aucun point ne peut répondre à ces conditions, alors cette méthode retourne
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) .
See Also: ShapeUtilities.nearestColinearPoint(double,double,double,double,double,double) |
fitParabol | public static QuadCurve2D fitParabol(Point2D P0, Point2D P1, Point2D P2, int orientation) throws IllegalArgumentException(Code) | | Retourne une courbe quadratique passant par les trois points spécifiés. Il peut exister une infinité de courbes
quadratiques passant par trois points. On peut voir les choses en disant qu'une courbe quadratique correspond à
une parabole produite par une équation de la forme 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
ShapeUtilities.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
ShapeUtilities.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
ShapeUtilities.HORIZONTAL si
P0.y==P2.y .
Parameters: P0 - Premier point de la courbe quadratique. Parameters: 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 . Parameters: P2 - Dernier point de la courbe quadratique. Parameters: orientation - Orientation de l'axe des x de la parabole: ShapeUtilities.PARALLEL ou ShapeUtilities.HORIZONTAL. Une courbe quadratique passant par les trois points spécifiés. La courbe commencera au point P0 et se terminera au point P2 . Si deux points ont des coordonnées presque identiques, ou si lestrois points sont colinéaires, alors cette méthode retourne null . throws: IllegalArgumentException - si l'argument orientation n'est pas une des constantes valides. |
fitParabol | public static QuadCurve2D fitParabol(double x0, double y0, double x1, double y1, double x2, double y2, int orientation) throws IllegalArgumentException(Code) | | Retourne une courbe quadratique passant par les trois points spécifiés. Il peut exister une infinité de courbes
quadratiques passant par trois points. On peut voir les choses en disant qu'une courbe quadratique correspond à
une parabole produite par une équation de la forme 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
ShapeUtilities.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
ShapeUtilities.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
ShapeUtilities.HORIZONTAL si
y0==y2 .
Parameters: orientation - Orientation de l'axe des x de la parabole: ShapeUtilities.PARALLEL ou ShapeUtilities.HORIZONTAL. Une courbe quadratique passant par les trois points spécifiés. La courbe commencera au point (x0,y0) et se terminera au point (x2,y2) . Si deux points ont des coordonnées presque identiques, ou si lestrois points sont colinéaires, alors cette méthode retourne null . throws: IllegalArgumentException - si l'argument orientation n'est pas une des constantes valides. |
intersectionPoint | public static Point2D intersectionPoint(Line2D a, Line2D b)(Code) | | Retourne le point d'intersection de deux segments de droites.
Cette méthode ne prolonge pas les segments de droites à l'infini.
Si les deux segments ne s'interceptent pas (soit par ce qu'ils sont
parallèles, ou soit parce qu'ils ne se prolongent pas assez loin
pour se toucher), alors cette méthode retourne
null .
Parameters: a - Première ligne. Parameters: b - Deuxième ligne. Si une intersection fut trouvée, les coordonnées de cetteintersection. Si aucune intersection n'a été trouvée, alorscette méthode retourne null . |
intersectionPoint | public static Point2D intersectionPoint(double ax1, double ay1, double ax2, double ay2, double bx1, double by1, double bx2, double by2)(Code) | | Retourne le point d'intersection de deux segments de droites.
Cette méthode ne prolonge pas les segments de droites à l'infini.
Si les deux segments ne s'interceptent pas (soit par ce qu'ils sont
parallèles, ou soit parce qu'ils ne se prolongent pas assez loin
pour se toucher), alors cette méthode retourne
null .
Si une intersection fut trouvée, les coordonnées de cetteintersection. Si aucune intersection n'a été trouvée, alorscette méthode retourne null . |
nearestColinearPoint | public static Point2D nearestColinearPoint(Line2D segment, Point2D point)(Code) | | Retourne le point sur le segment de droite
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.
- La distance entre les points
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) .
See Also: ShapeUtilities.colinearPoint(Line2D,Point2D,double) |
nearestColinearPoint | public static Point2D nearestColinearPoint(double x1, double y1, double x2, double y2, double x, double y)(Code) | | 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é. 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.
- La distance entre les points
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) .
See Also: ShapeUtilities.colinearPoint(double,double,double,double,double,double,double) |
parabolicControlPoint | public static Point2D parabolicControlPoint(double x0, double y0, double x1, double y1, double x2, double y2, int orientation, Point2D dest) throws IllegalArgumentException(Code) | | Retourne le point de contrôle d'une courbe quadratique passant par les trois points spécifiés.
Il peut exister une infinité de courbes quadratiques passant par trois points. On peut voir
les choses en disant qu'une courbe quadratique correspond à une parabole produite par une
équation de la forme 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
ShapeUtilities.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
ShapeUtilities.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
ShapeUtilities.HORIZONTAL si
y0==y2 .
Parameters: orientation - Orientation de l'axe des x de la parabole: ShapeUtilities.PARALLELou ShapeUtilities.HORIZONTAL. Le point de contrôle d'une courbe quadratique passant par les trois points spécifiés.La courbe commencera au point (x0,y0) et se terminera au point (x2,y2) .Si deux points ont des coordonnées presque identiques, ou si les trois points sontcolinéaires, alors cette méthode retourne null . throws: IllegalArgumentException - si l'argument orientation n'est pas une desconstantes valides. |
toPrimitive | public static Shape toPrimitive(Shape path)(Code) | | Tente de remplacer la forme géométrique
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.
Parameters: path - Forme géométrique à simplifier (généralement un objet GeneralPath). Forme géométrique standard, ou path si aucun remplacement n'est proposé. |
|
|