所以我試著用點類來畫不同的多邊形。我製作了乙個名為generate_polygon的類,它應該生成乙個有s邊的正多邊形,y0是起始頂點。在import sys
import math
import line_point
try:
x0 = float(sys.ar**[1])
y0 = float(sys.ar**[2])
s = int(sys.ar**[3])
except:
print >> sys.stderr, 'syntax: generate_polygon.py x0 y0 s'
sys.exit(1)
p1 = line_point.point(x0, y0)
while s>0:
p2 = line_point.point(p1.x, p1.y)
p2.rotate((2*math.pi)/s)
line = line_point.line(p1, p2)
print >> sys.stdout, line
p1=p2
s = s-1
它還使用另乙個名為line_point的類:
^$我還使用了另乙個名為rotate的類,它從stdin讀取行並將它們分成4個單獨的部分並旋轉每個部分:import sys
import line_point
try:
a = float(sys.ar**[1])
count = int(sys.ar**[2])
except:
print >> sys.stderr, 'syntax: rotate.py angle count'
sys.exit(1)
for l in sys.stdin:
l = l.split()
print l
x0 = float(l[0])
y0 = float(l[1])
x = float(l[2])
y = float(l[3])
p0 = line_point.point(x0, y0)
p1 = line_point.point(x, y)
line = line_point.line(p0, p1)
for x in range(count):
print l
p0.rotate(a)
因此,預期的輸出是乙個包含4個不同行部分的行檔案。如果我使用python generate_polygon.py 0.0 250.0 3測試**,那麼預期的輸出是:line 0 250 -217 -125
line -217 -125 217 -125
line 217 -125 0 250
但我最終得到的是:0 250 -217 -125
-217 -125 217 125
217 125 217 125
所以有幾個數字是完全錯誤的,4行之前沒有行。所以我認為問題出在generate_polygon類或rotate類中,但我似乎不知道問題出在**。在
Opencv繪製多邊形
利用opencv繪製多邊形,主要是因為給的資料是4個點,而繪製矩形的函式cv2.rectangle只傳遞兩個點,即左上和右下。繪製矩形框可以參考這裡 就是利用cv2.fillpoly函式 cv2.fillpoly img,area1,area2,area3 2,255,255 image表示處理的 ...
vc 使用api繪製多邊形
全域性變數 point poly1 5 poly2 5 poly3 5 hpen hpen 畫筆控制代碼 hbrush hbru 畫刷控制代碼 mypaint函式 void mypaint hdc hdc selectobject hdc,hpen selectobject hdc,hbru pol...
canvas繪製多邊形並填充
let canvas document.getelementbyid canvas canvas.width 800 畫布寬度 canvas.height 800 畫布高度 let context canvas.getcontext 2d canvasmonth context,100,100,40...