Le tri des points par leur angle polaire en Java

Je suis en utilisant Graham analyse de l'algorithme pour trouver la convexe-la coque d'un ensemble de points
Je suis en train de trier les points de par leur angle polaire mais je n'ai aucune idée de comment faire (j'ai déjà trié l'ensemble des points par leurs coordonnées Y).

Ce que j'ai déjà écrit, c'est comme ceci:

public double angle(Coord o, Coord a)
{
    return Math.atan((double)(a.y - o.y) / (double)(a.x - o.x));
}

Coord est la classe où j'ai des coordonnées X et Y comme double.

J'ai également regardé l'un de la des emplois similaires dans le Débordement de la Pile où quelqu'un avait essayé de mettre en œuvre cet angle avec le C++, mais je ne comprends pas qsqrt. Avons-nous quelque chose comme cela en Java?

qreal Interpolation::dp(QPointF pt1, QPointF pt2)
{
    return (pt2.x()-pt1.x())/qSqrt((pt2.x()-pt1.x())*(pt2.x()-pt1.x()) + (pt2.y()-pt1.y())*(pt2.y()-pt1.y()));
}

Je serai heureux si quelqu'un peut m'aider.

OriginalL'auteur Navid Koochooloo | 2013-05-12