Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from graph import *
- from math import sin, cos, pi
- def ellipse( x1, y1, x2, y2, vertex_count = 36 ):
- """
- Рисует эллипс, вписанный в прямоугольник x1,y1 x x2,y2
- """
- (x1, x2) = (min(x1, x2), max(x1, x2))
- (y1, y2) = (min(y1, y2), max(y1, y2))
- a = (x2 - x1) / 2
- b = (y2 - y1) / 2
- ## https://ru.wikipedia.org/wiki/Эллипс#Уравнения_в_параметрической_форме
- VERTEX = [ (a * cos(i * 2 * pi / vertex_count) + ( x1 + x2 ) / 2, \
- b * sin(i * 2 * pi / vertex_count) + ( y1 + y2 ) / 2 ) \
- for i in range(vertex_count) ]
- mypol = polygon(VERTEX)
- return mypol
- def cat(x0=0,y0=0, size=880, flip=False):
- size_factor=size/880.0
- flip_factor = -1 if flip else 1
- x0=x0+size_factor*flip_factor
- x_factor=size_factor*flip_factor
- y_factor=size_factor
- print("cat size:",size_factor,x_factor,y_factor)
- brushColor('#c87137')
- tail=ellipse(x0+460*x_factor, y0+100*y_factor,x0+842*x_factor,y0+214*y_factor)
- body=ellipse(x0+92*x_factor,y0+2*y_factor,x0+605*x_factor,y0+274*y_factor)
- leg1=ellipse(x0+52*x_factor, y0+110*y_factor,x0+122*x_factor,y0+250*y_factor)
- head=circle(x0+114*x_factor, y0+125*y_factor, R=98*y_factor)
- leg2=ellipse(x0+114*x_factor, y0+214*y_factor,x0+242*x_factor,y0+298*y_factor)
- leg31=circle(x0+532*x_factor, y0+209*y_factor, R=82*y_factor)
- leg32=ellipse(x0+580*x_factor, y0+231*y_factor,x0+640*x_factor,y0+367*y_factor)
- brushColor('#88aa00')
- eye1=ellipse(x0+46*x_factor, y0+98*y_factor,x0+102*x_factor,y0+162*y_factor)
- eye2=ellipse(x0+140*x_factor, y0+98*y_factor,x0+196*x_factor,y0+162*y_factor)
- brushColor('black')
- eye1_black=ellipse(x0+78*x_factor, y0+103*y_factor,x0+84*x_factor,y0+156*y_factor)
- eye1_black=ellipse(x0+170*x_factor, y0+103*y_factor,x0+176*x_factor,y0+156*y_factor)
- brushColor('#c87137')
- hear1=polygon([(x0+3*x_factor,y0+19*y_factor), (x0+60*x_factor,y0+46*y_factor), (x0+20*x_factor,y0+92*y_factor)])
- hear2=polygon([(x0+212*x_factor,y0+11*y_factor),(x0+202*x_factor,y0+85*y_factor), (x0+158*x_factor,y0+43*y_factor)])
- brushColor('#deaa87') #inside hear pink
- hear1_ins=polygon([(x0+10*x_factor,y0+26*y_factor), (x0+52*x_factor,y0+47*y_factor), (x0+23*x_factor,y0+80*y_factor)])
- hear2_ins=polygon([(x0+206*x_factor,y0+19*y_factor),(x0+198*x_factor,y0+73*y_factor), (x0+166*x_factor,y0+43*y_factor)])
- nose=polygon([(x0+108*x_factor,y0+165*y_factor),(x0+127*x_factor,y0+165*y_factor), (x0+118*x_factor,y0+175*y_factor)])
- if __name__ == "__main__":
- canvasSize(1600,1123)
- windowSize(1600,1123)
- cat(0,0, flip=False)
- cat(1000,400, size=440, flip=True)
- cat(100,500,size=220, flip=False)
- run()
Add Comment
Please, Sign In to add comment