deegree 2.1 (2007/11/08 09:57 build-328-official)

org.deegree.model.csct.resources
Class Geometry

java.lang.Object
  extended by org.deegree.model.csct.resources.Geometry

public final class Geometry
extends Object

Static utilities methods. Those methods operate on geometric shapes from the java.awt.geom package.

Version:
1.0
Author:
Martin Desruisseaux

Field Summary
static int HORIZONTAL
          Constante pour les calculs de paraboles.
static int PARALLEL
          Constante pour les calculs de paraboles.
 
Method Summary
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 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PARALLEL

public static final int PARALLEL
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.

See Also:
Constant Field Values

HORIZONTAL

public static final int HORIZONTAL
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.

See Also:
Constant Field Values
Method Detail

intersectionPoint

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.
b - Deuxi�me ligne.
Returns:
Si une intersection fut trouv�e, les coordonn�es de cette intersection. Si aucune intersection n'a �t� trouv�e, alors cette 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)
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.

Returns:
Si une intersection fut trouv�e, les coordonn�es de cette intersection. Si aucune intersection n'a �t� trouv�e, alors cette m�thode retourne null.

nearestColinearPoint

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�. 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):

See Also:
colinearPoint(Line2D, Point2D, double)

nearestColinearPoint

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�. 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):

See Also:
colinearPoint(double,double , double,double , double,double , double)

colinearPoint

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. 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): 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:
nearestColinearPoint(Line2D, Point2D)

colinearPoint

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. 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): 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:
nearestColinearPoint(double,double , double,double , double,double)

fitParabol

public static QuadCurve2D fitParabol(Point2D P0,
                                     Point2D P1,
                                     Point2D P2,
                                     int orientation)
                              throws IllegalArgumentException
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 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.

Parameters:
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.
Returns:
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 les trois 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
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 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.

Parameters:
orientation - Orientation de l'axe des x de la parabole: PARALLEL ou HORIZONTAL.
Returns:
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 sont colin�aires, alors cette m�thode retourne null.
Throws:
IllegalArgumentException - si l'argument orientation n'est pas une des constantes valides.

parabolicControlPoint

public static Point2D parabolicControlPoint(double x0,
                                            double y0,
                                            double x1,
                                            double y1,
                                            double x2,
                                            double y2,
                                            int orientation,
                                            Point2D dest)
                                     throws IllegalArgumentException
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 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.

Parameters:
orientation - Orientation de l'axe des x de la parabole: PARALLEL ou HORIZONTAL.
Returns:
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 sont colin�aires, alors cette m�thode retourne null.
Throws:
IllegalArgumentException - si l'argument orientation n'est pas une des constantes valides.

fitCircle

public static Ellipse2D fitCircle(Point2D P1,
                                  Point2D P2,
                                  Point2D P3)
Retourne un cercle qui passe par chacun des trois points sp�cifi�s.


circleCentre

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. 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.


toPrimitive

public static Shape toPrimitive(Shape path)
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).
Returns:
Forme g�om�trique standard, ou path si aucun remplacement n'est propos�.

deegree 2.1 (2007/11/08 09:57 build-328-official)

an open source project founded by lat/lon, Bonn, Germany.
For more information visit: http://deegree.sourceforge.net