项目需要:
描画同心圆对画布上的点进行同心圆分类。
问题:
分类正确,但是点位显示不正确,应该在圆环外,但是点显示在圆内。
起因:
使用QPainter函数addEllipse()和QGraphicsEllipseItem描画同心圆由于Qt内部的采样点较少,进行放大时可以看到圆的弧度较小。
解决:
通过计算圆的离散点使用QGraphicsPolygonItem进行描画(离散点越多越精准)。
问题图像:
1.描画同心圆
2.蓝色圆为QGraphicsPolygonItem描画。红色圆为使用addEllipse()或QGraphicsEllipseItem
可以看到 红色圆将2个蓝色点(实际时同心圆外的点)圈进来了。但是蓝色圆将蓝色点正确圈在了圆外。(注:蓝色点是圆外点,红色点时圆内点)