You have to calculate everything manually yourself. You can use QLineF and QPointF to calculate intersections but the rest requires pure math skills. That's one of the reasons I'm suggesting GraphicsView.