int startY = startNode.getY() + startNode.getHeight()/2;
//and the same for end node
int endX = endNode.getX() + endNode.getWidth()/2;
int endY = endNode.getY() + endNode.getHeight()/2;
arc.getPath().add(0, new TransitionArcPoint(startX, startY));
arc.addPoint(endX, endY);
double a;//remember about vertical line
double b;