По первому вопросу читаем документацию:
C++ (Qt)
void QGraphicsItem::setRotation ( qreal angle )
...
The item is rotated around its transform origin point, which by default is (0, 0). You can select a different transformation origin by calling setTransformOriginPoint().
По второму вопросу поисковик в помощь - это простая математика.