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

[复制链接]
7 C; M6 }, z! ^' n# K Q- @# H
5 m& w, T. f9 k d2 v" D$ r
' e" l; t! z; I; b" R: S
, `# J* S z1 u9 t% R! r
01:51
x0 ^7 g4 o/ \, @6 a
7 \/ l9 d c7 R- o
- M. q7 R- l4 V4 x/ x) I/ i+ U
9 d1 V, o! J& F% v( [
& q4 V4 H. K* Q( Z+ h$ i5 S

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

& d6 N9 t4 i- w7 V5 V: u1 ?+ y
, Y2 X% `# ^$ i9 f2 q
- i- ~' m0 ?1 _9 ~
用python画绚丽的渐变色立体漂亮图案
" { T6 d* T+ Q
- _/ |6 s. [& R" F8 q0 p7 n
, `" A4 j. O0 x/ C

import turtle as tu 调用turtle库

5 y5 e& \7 s! k: V
; |; N Y8 m. c6 `5 v6 r
' X6 W; G0 Q6 _5 I% e- Y7 I

import colorsys 调用颜色

0 A) g, z3 \6 [( G
% S8 O5 a2 f5 d2 r8 Q/ N, r
0 ^8 R. K4 Q! ^0 _! k

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

0 d g: z4 u+ ?4 X8 ]' c0 T, G& P
. m: C7 k0 F1 V+ R- ]
- u* a+ P2 E0 H0 `9 w

t=tu.Turtle() 设置tu

G& w5 E# r7 @6 g$ F6 x. ^
. ^- I, \+ V2 [: a
- Y* B, v9 g% e$ S

t.speed(0) 设置速度

3 J% X- ]/ T' i) A' y
& Z. }- g7 B6 l- d% M3 I
% t1 p4 b& y% O

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

6 [& o( l, N: [6 n H, V E+ L2 y
; t6 `# J8 V: w% }7 D0 T
9 M6 z6 k; P: {, g. y4 H5 \

t.penup() 起笔

0 C2 q9 L& I" j' _
$ M6 \- `. v6 U( U) Y' q5 _
, r5 O# i8 f6 q+ R

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

6 _! z& u7 w' j% e% U
6 U3 {6 n3 G2 j4 T7 y$ Z# N- E: m
7 ?+ g$ o( L% d

t.pendown() 落笔

2 O# w8 k' ]& `6 b
; y! e' O- R: b0 X
! y! v( M. p# \

h=0.6 设置色相

( {0 w% `. B$ x# B4 X! @
. @) W5 l! i6 ?# J8 z5 K* C
. o, ^3 M0 k9 l2 B; ~

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

P% B. X; d9 S& {1 @$ @
7 q+ Z0 @& n+ ^% z9 A
' l. i$ ]& Y* l& K% ?8 ~

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

/ @/ _) G! d* c, S) z
2 x H" x8 E; Z6 O5 [, B9 _5 w
6 a9 h: T6 f# `% n+ r" F

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

" d* ^: O/ H0 M8 h. v, y
9 Q& x# n) B7 P! }
7 k* H: w" }6 W6 T

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

; X* c4 K$ q: h$ g, C k: n( {
+ H7 F* A5 p$ t- T' u
- t, J9 P; X6 D) p2 ^, I0 _

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

# E. h4 L8 C: {% |& L* `
& E: H+ `* _3 ]+ m& U
; ` j- p( K q3 D2 x: W

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

+ M8 S5 Z/ j' S$ V9 k
1 B* g& I- Q* b3 t3 j$ u+ S5 D
' y) a2 D `( @, f1 b* r

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

. y$ I8 P8 G4 w% h9 G4 k5 c# a j" D, f
* k# F3 u( c8 z B7 v/ R
$ K. i& _2 o2 D: X a

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

) b- h# t6 t! F# w+ A: f2 `6 `5 F
4 V/ ]& q9 @' ^4 X7 D
% n% B7 C8 l M! k; `# B

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

9 J3 r# O* I9 j! ^; e9 k
/ c0 a3 H T/ }0 \
; {8 Q1 q; w3 D; s, J! z" y

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

+ g# m) T: M+ D- U
# J4 y1 j3 w" N" `" R; h2 ?4 d
$ }0 P" h" R E/ O7 Y& i

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

' O! H, N% g- a! w! o
4 a! P# F+ V1 f
! Z2 a; ?: w% Z. n+ S8 o0 }- t

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

0 v( K& n: R( j7 C- d: H4 h
7 j$ ?9 r8 }: A' F
' E7 l* ^, u$ r v

h+=0.006 设置色相变化

& O0 I3 S/ n, {( `
' ~1 H: f6 s1 u
4 R( e5 j$ T: [- m# b

t.ht() 隐藏画笔

7 C* M T Z. ?' M3 _
/ l$ j& w7 f1 A" b+ H6 ~9 O
6 }1 x: N; Z+ c! u! g: s

tu.done() 结束

! R9 b, X) v0 M, p& \8 D' s
0 |9 I9 G; D# S* T( U3 n) J0 o
/ O, i1 J- d! e2 b, M' }
1 _5 l$ \& n" ^ q
" \0 S; n5 Y$ k. y y
1 A ^3 f9 x* L( v; _- Y

源码如下:

( ]7 U/ h6 w5 d9 H; b: x
, N; H# z; Y! G z
# t9 T& j; M, \" k/ J, ?

import turtle as tu

' b) x: V, b* j+ R" x" u1 e
+ c6 z8 m5 L. E6 F7 x, j; h
- i; ^6 O! W- U' {3 D3 G3 u

import colorsys

; G e" L! l+ |2 i
" u9 U( I9 X* r+ m
/ B1 \- f7 G4 D" n

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

$ q& g x9 n8 @: b; m0 l: k2 F6 ^
3 A6 D9 G: c: u7 C* t- _/ \
7 B: T) o4 g2 v! O4 I r

t=tu.Turtle()

/ A$ W" ?* h8 b; ` }, ~9 w2 Q
1 O; O3 k6 O" Y6 l
, {% b$ `( }' M% u& M+ w. R

t.speed(0)

5 J+ h( |; V; [$ W+ C# ?
+ u% V! g$ d; M7 j. O- W
' Q: U; S4 A* {+ J! J* `

t.pensize(5)

# P5 Q" a, ~! J
2 }! A: j: Q# U$ v/ c8 R
3 Z4 E7 a- c7 P2 c9 q: _' @) d

t.penup()

; |0 D' j) B( a/ q5 w9 }
5 x) _' U% c: L3 D& s- w2 ?
+ q+ H# Y( k# I& R' Y v

t.goto(0,-100)

6 F: I# `2 t- M! S2 w4 k) z' V
3 Y* i& B* C" K$ Q/ S- B
' o1 \ d( v# ?8 y6 [) Y. b- n

t.pendown()

' A, B: ]) c: R- p! j: [
6 t/ h) a4 F- {
3 n j, `0 s5 c# N

h=0.6

9 o9 ?' o8 t0 X1 O
% k7 H( L- x4 s* \- C5 r+ \# J
% t4 d5 O! K. W9 F

def design(n,ang):

3 i2 a/ L. n" T6 \) X5 M( O
" q: _" k l4 j% e% M! ~1 i
7 Z/ j6 A3 D0 i

t.circle(60+n,90)

! ?$ P5 _! E0 I" s5 |' E% e" S; p
8 z8 B( R: i( o+ Z
" M( G! c9 U9 V+ o# i. C9 ~

t.left(ang)

0 b2 c% d+ o5 d0 p4 P3 j
4 k! D" b6 U: \- Q2 B* [
; c9 a4 H' S, U! m3 K0 }

t.circle(60+n,90)

9 U/ u7 w( x4 X( B4 p
' v7 ~* x6 K* K) h& J2 A
; O# |+ J7 Q5 D7 J' E

for i in range(80):

# Z2 a! H0 h9 k8 Z3 b( w5 ?8 ~
& p7 {7 V% @ ?2 p4 Q" v
q; ?: ^/ h3 e; y6 v

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

% `5 T' B: E& W( r4 k0 @
1 q1 K$ Q3 j* H, K0 k
* F1 o) I; Z" A9 g, g

t.pencolor(c)

N8 ~) x# I7 V! f& @4 p: ]
' m/ |: `8 u- |- V6 ^& a" {$ j
/ V o. J/ O( s( G( ]( z

design(i,60)

5 s9 ~( {% u4 [. W3 F
6 Z1 M2 H" G+ {! I6 R3 H) T' }
1 ~7 d( ^9 u5 O+ T& E

design(i,90)

- x- R b4 H4 D2 B/ q
& U) f" u; R4 W9 S% I, ?
4 n* h: D3 g N

design(i,120)

# V. T: v |& T6 t6 c2 r
1 A9 u2 y1 z/ h8 R, c* Y: C1 g) V
5 [$ N, Z& ~( X0 A- L

design(i,90)

6 |5 Q8 U; c9 d3 H% z6 l& U( ?
6 A) W C. m. Z0 o L; K' {+ k+ A* y
- r" v- f9 }! G

design(i,60)

) U! e8 I* e: o' _4 C( y
, S0 m; r. o! |
2 l0 W* H) }5 S: P

h+=0.006

, x; T1 a2 l9 J* |0 x/ A4 a
2 {& y4 s- k7 r* [3 Z1 y
: o# f3 S) Y% k" Y

t.ht()

2 w+ L1 q/ h* f0 n' t+ V8 _! u
! c8 K2 J6 U1 ^( s J
! ?" q5 X& }' ~, s& L

tu.done()

- ^) m |9 b1 Z6 s% g3 m/ q
# @5 g, d! e0 y: h
) E4 f& u/ K, m* _$ U
% n! C+ ?8 O7 M3 m$ L9 g; k4 i
3 h' P3 |1 F5 a
5 c/ S) F) e1 y5 W/ O" n
举报/反馈
- Y1 z" Q' Y T
9 _8 O/ C7 ?/ Z' z & w% ^, |) E! L# i% N) M 1 m2 s. B1 Z8 R% B! Z& D * H# o9 `" \1 W/ w$ G' a" ]! j, W" s. e, c- [; K% h, ?
回复

举报 使用道具

相关帖子

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