用python画绚丽的渐变色立体漂亮图案01:51

[复制链接]
s& e5 e+ p) _9 Y8 y ]2 x$ _. l- N
. E8 X0 W8 U. ?7 ?
! {2 {6 M; @, W: Q* ?8 B4 z& g/ o7 S ]
7 s$ N% t1 N; J$ l4 p' y( ~
01:51
% S5 q7 S: `1 ^- `! G9 x4 \) d
% k# R/ G/ L) m+ b2 O
: j2 a5 }/ h3 x2 G) @7 \
& y2 Y. v' Y9 F0 i! X8 F' y7 d
* t' F# k. n$ A4 P! ]( s2 D

用python画绚丽的渐变色立体漂亮图案,源码解释如下:

8 R( u: n$ f# w N: d5 ~
; Q# C8 M) V" t5 S$ O' g7 G" d
# k1 m5 A* t! M! M9 }; S) u4 |
用python画绚丽的渐变色立体漂亮图案
8 c; L2 p0 y* T$ }, \+ o, M
' c/ m! p! ?$ z w' h$ }
5 \" }7 j4 E' ?

import turtle as tu 调用turtle库

6 l/ {0 c$ l' [6 c
* i* z4 V9 R% W+ I M
: g- d! I5 [. S% F- t0 F2 o# F

import colorsys 调用颜色

) {9 Z2 T+ g7 {1 i; e o
0 F$ D" n9 j0 w' a7 Q
3 o5 j( U7 f6 p' Y8 T: x# `; K

tu.Screen().bgcolor("white") 设置背景颜色

$ D# _6 `1 a) Z+ B1 d
8 |3 }# s. u& j! U6 v/ q
& C$ Q$ _* F2 ~4 A' {9 q

t=tu.Turtle() 设置tu

9 J' d. b1 `5 c1 u
, F; m* o+ I: U& k
9 g6 X% }7 I# ^. ?0 b, y: G3 J

t.speed(0) 设置速度

: u8 {3 N" s$ s; \$ ~' b
* V- m+ ~! N9 ]- M: G9 M+ v
0 p" e) V/ J8 o% r0 l" R Q

t.pensize(5) 设置画笔粗细

. h9 P$ K( K4 u
! |4 K% e) ^5 x* |8 @
7 q- f+ n r+ A X C& @% ?" O

t.penup() 起笔

4 s. b; n1 V" a; q
+ C% c& U1 z0 b6 g. r/ O
& W3 s2 ~. @- |; S

t.goto(0,-100) 走到这个坐标点

4 T' `* F1 t7 b% w. B- A
# G9 s4 B1 A6 L/ l: ^
4 w% b' R; C5 Z2 P0 S1 t! [0 j

t.pendown() 落笔

9 R8 Q h9 M/ j7 ?
, J1 A& B- O5 j7 K9 K% a& I
0 H- l% m& |! X8 m: U

h=0.6 设置色相

/ w- `1 ]8 J7 f
! a$ b7 R6 q! A0 s
3 i u; J3 L5 Z: j

def design(n,ang): 定义design函数

/ `7 ^* Q+ D8 u% e, j" `' p
+ m: h8 E3 s$ W
/ Q6 \: f7 N( ^" ]

t.circle(60+n,90) 画圆

: I- f2 ?) X, I0 e& @
7 ~2 }2 J" Q7 A9 j- E* I
, c1 \& }! J4 _+ [9 P

t.left(ang) 向左转ang个度数

: m4 ]' F6 U0 ~& r2 T* Y6 I9 D# l/ Z( A
/ Y3 r! W J- I0 Q5 A
% M3 p2 D$ ^8 Y; Z

t.circle(60+n,90) 画圆

+ x/ h: \" D+ ]8 e x
& M( i- m0 {7 s, Z( Q: v& u3 m0 ~# _
; h+ `" \* x; R# e" I. a: r

for i in range(80): 设置i循环

* w" ~& e; |9 `* P6 B
* X( h! T' o. K6 `8 z2 C& k: U
' k7 V% j1 U; N! h7 W

c=colorsys.hsv_to_rgb(h,0.8,1) 设置颜色变化

& t, p+ x, i5 U6 h8 I- b, K( B
5 I5 m' K4 z% f" d
^1 r% I; Q. U: U5 Y. [

t.pencolor(c) 设置画笔颜色

! R% W; P2 ?4 V; q5 Q- E
) V u2 T3 v) W) v6 e9 h+ b% g# G& f6 M
2 M4 P" X$ ]9 n6 O4 }5 I+ P4 ?& R

design(i,60) 设置第一个design

) v% _- P( [- z
6 [4 u2 \2 H' p1 F# M/ @
* g9 w8 i2 H1 ^' d# f( l6 K

design(i,90) 设置第二个design

) X) w5 z8 V# y+ t
) f$ m. {* p# x( ~3 d
( n7 W' h }* T! k0 H& R; v

design(i,120) 设置第三个design

( c X9 D0 ]) t$ N, h/ B' G& `. j( y" M
) k2 t5 q, i2 [$ S
* ]3 i3 t" N+ a$ v2 G$ S, x3 I

design(i,90) 设置第四个design

3 }3 V ^0 K& |8 ` k+ P3 u7 l
' h2 ^+ C$ p& q
% ^1 e) E: c% ?& b8 ]8 \

design(i,60) 设置第五个design

4 Q5 u" K" T/ P* H1 }1 A H/ ]
4 Z- f# a0 @8 Q2 i# g' X' T
" A$ j, z5 ?2 U5 L

h+=0.006 设置色相变化

& F. s' ]: w. y8 h
) A. v4 o& V4 Q% v2 ^. M y7 t& G
6 c1 m9 n4 i/ _# [4 t9 v; F

t.ht() 隐藏画笔

$ S# u; M' o( q, o/ E* m
! t7 J( Y+ @0 M' F
) B( t0 b8 i, k; U% E( P# k

tu.done() 结束

' \# w% W" i# }$ o9 l$ ~- n, ?0 l
0 A+ _# G5 Y; @& r4 \& z
# r$ i! ] ~" y E6 n5 y6 u/ Z
; m* r C1 B7 g9 I4 I, X! r
9 P+ f; ?9 @$ e1 J
' Y% _$ z& ]) z

源码如下:

. c( u3 B: T+ C7 s
9 ]- T8 {; X/ U
8 G6 i+ s1 B$ v! C0 D" ]# V

import turtle as tu

1 E" Z* j( j- l+ f* H: a B. h* K( C% @
5 @. r9 Q; J& f9 G
- ~: ?+ h$ r7 C3 j4 o% h( g

import colorsys

+ O% D6 z" g5 ]) g- _7 m1 O, {
: j8 W& ~" }! [, R8 G3 y7 J e
2 X( G. {& S" j& o8 y4 _- v3 o

tu.Screen().bgcolor("white")

# t( k C; m# |' G8 j9 B* d( b/ @
4 S% {# ~# N/ P
& v* ~4 v- d' d8 M1 k

t=tu.Turtle()

4 W5 J a- [. k" c, Y4 p# G
$ K5 {1 z8 U6 j* {% A- R
/ Z' E+ k- ^# B. X8 x! N

t.speed(0)

2 s/ u2 I, ^4 w
9 e. W- L5 z9 o
* p& V% X" \% q5 U e

t.pensize(5)

& E% @7 J1 b/ q
" C6 u9 A5 u/ g* `! D' _ W
$ r* Z) G& \& ]: p! t% d1 ?

t.penup()

% z/ n% g; y& y/ i) G& Q
0 a' e' N) M" }, l3 G) F
" Y1 M: V V/ U) }2 ]! R

t.goto(0,-100)

- ?2 `! f$ {. o) Z0 y3 m
5 |0 S" U# _3 c9 D
" L4 O- h- ?) ]# e$ t/ R

t.pendown()

M0 z5 ]- f7 h g0 G2 q* C3 s
* c; P4 I: R, n3 x
0 N+ C! m3 Q3 N0 s

h=0.6

; t p% a* Q: V7 G( k
1 Z' y7 [% s3 g8 F: [( E# g
. b, O, B: S1 \' z

def design(n,ang):

* F" F; n, b! d! \1 R
0 V$ r2 m' I, S+ y9 O8 l5 {
% v t6 x$ O2 E% n, u

t.circle(60+n,90)

# d6 u7 h( U v, C) L5 i
! c/ \4 r) r, j% T9 O7 _
" N$ f' K/ ~2 G! A

t.left(ang)

' n+ h. p2 P6 y
% G4 ?! d6 Y* J* K4 M
* C) ?4 M$ f5 z4 q2 |" g7 d( I4 C

t.circle(60+n,90)

* K9 F6 r$ C% ]% z
# \% P1 F$ U3 F# m
! H2 Y% E8 \$ i" J5 j( @1 K

for i in range(80):

+ u: S6 m! F: I( m* [( T
. h4 C/ x" X$ L& i
! |2 ^3 H' _1 R$ g, a, ^/ T3 \

c=colorsys.hsv_to_rgb(h,0.8,1)

/ H+ G4 D: N/ P
v7 V7 C$ U' @ P4 I
' t" Z, k( c* F* N' Z

t.pencolor(c)

8 Z% e: ?! a, e: o8 `2 n6 ?! ~
7 M. N. d+ G- L
) l p( R- r- j. l

design(i,60)

$ p4 S$ b+ A1 E& f6 e n
$ y4 p- p: j8 }$ V
: ?) l1 ], ~$ Q: A! O" X. s

design(i,90)

% G0 g5 L3 D( b+ P, r+ B: B
5 d- ?, w5 y/ R6 }9 C
+ y, q$ x0 Q) a" Z( I

design(i,120)

" b$ l, T* R: h* G) _
9 j; {6 D) Y* K1 W
1 `8 l# s! a0 a

design(i,90)

% W9 |5 f% W6 R- h
( l- ~3 E3 M* P0 e& f
6 M9 ~3 g7 k, U# o' \" \

design(i,60)

) f6 ?2 e3 m8 w# v, L- h
: U! d6 ]% |% O) [' F! _* _
$ _( X: m- h8 P7 ?9 u

h+=0.006

- T% C- P* l- y* F# S; r
" j# V# {) {/ x
9 Q" k9 t. s' K

t.ht()

" X7 e, P( g3 z$ ^, ]1 S% K/ ?$ a) b
* m# z/ D' m( h9 @7 {; x( f8 ~
2 j$ a7 q5 A3 s* N) U- ~' |( ^* f

tu.done()

, C1 A) f0 m2 T6 I
# `/ [6 r' W9 N$ b" o+ Y$ ~" F0 |
3 w# i" [9 G. e9 F8 T) _& V7 g( H
8 p/ M! \- J: t. p- W" o
4 [( C8 {8 [ B- I3 i1 U, d) b
! n3 A+ }3 W. B& D$ D
举报/反馈
7 ^2 e/ F1 j: ^
' Z! H3 F7 b$ P # d. ~4 }- A8 P) ], w/ a1 L4 @ & ?- S$ K2 t9 l6 f) }$ h1 K3 ?& c 8 g% U3 x5 W& `8 r* P7 l4 r* C : |9 T3 x' f) R. u5 g
回复

举报 使用道具

相关帖子

全部回帖
暂无回帖,快来参与回复吧
懒得打字?点击右侧快捷回复 【吾爱海洋论坛发文有奖】
您需要登录后才可以回帖 登录 | 立即注册
盖好我的小被子
活跃在4 天前
快速回复 返回顶部 返回列表