资源简介
在 pycharm 加 pyqt5环境中开发,python实现 中点画圆算法。
有优美的 UI界面。
代码片段和文件信息
from PySide2.QtCore import *
class Circle:
def __init__(self p r):
self.p = p
self.r = r
def points_list_circle(self):
points = []
if self.r < 1:
return points
e = 1 - self.r
x = 0
y = self.r
ps0 = []
ps1 = []
ps2 = []
ps3 = []
ps4 = []
ps5 = []
ps6 = []
ps7 = []
while x < y:
#print(“x:“+str(x)+“ y:“+str(y))
ps0.append(QPoint(x y))
ps1.append(QPoint(y x))
ps2.append(QPoint(-y x))
ps3.append(QPoint(-x y))
ps4.append(QPoint(y -x))
ps5.append(QPoint(x -y))
ps6.append(QPoint(-x -y))
ps7.append(QPoint(-y -x))
if e <= 0:
e = e + 2*x + 3
else:
e = e + 2*x - 2*y + 5
y -= 1
x += 1
for p1 in ps0:
p1.setX(p1.x()+self.p.x())
p1.setY(p1.y()+self.p.y())
points.append(p1)
for p1 in ps1:
p1.setX(p1.x() + self.p.x())
p1.setY(p1.y() + self.p.y())
points.append(p1)
for p1 in ps2:
p1.setX(p1.x() + self.p.x())
p1.setY(p1.y() + self.p.y())
points.append(p1)
for p1 in ps3:
p1.setX(p1.x() + self.p.x())
p1.setY(p1.y() + self.p.y())
points.append(p1)
for p1 in ps4:
p1.setX(p1.x() + self.p.x())
p1.setY(p1.y() + self.p.y())
points.append(p1)
for p1 in ps5:
p1.setX(p1.x() + self.p.x())
p1.setY(p1.y() + self.p.y())
points.append(p1)
for p1 in ps6:
p1.setX(p1.x() + self.p.x())
p1.setY(p1.y() + self.p.y())
points.append(p1)
for p1 in ps7:
p1.setX(p1.x() + self.p.x())
p1.setY(p1.y() + self.p.y())
points.append(p1)
return points
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-10-07 19:57 circle\
目录 0 2019-10-07 19:58 circle\__pycache__\
文件 1739 2019-10-07 19:58 circle\__pycache__\circle.cpython-36.pyc
文件 3859 2019-10-07 19:58 circle\__pycache__\mainfirm.cpython-36.pyc
文件 1818 2019-10-07 19:56 circle\__pycache__\paint.cpython-36.pyc
文件 2029 2019-10-07 19:57 circle\circle.py
文件 302 2019-10-07 19:01 circle\main.py
文件 6186 2019-10-07 19:57 circle\mainfirm.py
文件 1807 2019-10-07 19:56 circle\paint.py
评论
共有 条评论