Tipi di freccie:
Oppure usare algoritmo intelligente per effettuare questo lavoro. Come spiegato, riconoscendo il punto a metà tra le due linee è possibile tirare automaticamente la linea.
Caso speciale: dx o dy tra due linee è meno di un tot (es. 10px) => Disegna linea
Tipologia freccia:
Intersezioni:
Possiblità di scegliere se usare curva di bezier?
List<point2d> list = new ArrayList<point2d>();
for (double t = 0.0; t <= 1.0; t += step) {
// (1-t)^2P1 + 2(1-t)tC + t^2*P2
Point2D p = new Point2D.Double(
pow(1.0 - t, 2.0) * p1.getX() + 2 * (1.0 - t) * t * control.getX() + pow(t, 2.0) * p2.getX(),
pow(1.0 - t, 2.0) * p1.getY() + 2 * (1.0 - t) * t * control.getY() + pow(t, 2.0) * p2.getY());
list.add(p);
}</point2d></point2d>