基于Python-turtle库绘制哆啦A梦和大雄在一起
源码:
1 # -*- coding: utf-8 -*- 2 3 from turtle import * 4 import turtle 5 6 speed(0) 7 penup() 8 seth(180) 9 fd(200) 10 seth(0) 11 penup() #外圈头 12 circle(150, 40) 13 pendown() 14 fillcolor('dodgerblue') 15 begin_fill() 16 circle(150, 280) 17 end_fill() #外圈头 18 fillcolor("red") 19 begin_fill() #外圈头 20 seth(0) #项圈 21 fd(200) 22 circle(-5,90) 23 fd(10) 24 circle(-5,90) 25 fd(210) 26 circle(-5,90) 27 fd(10) 28 circle(-5,90) 29 end_fill() #项圈 30 fd(183) #右脸 31 left(45) 32 fillcolor("white") 33 begin_fill() 34 circle(120,100) 35 seth(90) #眼睛 36 a = 2.5 37 for i in range(120): 38 if 0 <= i < 30 or 60 <= i < 90: 39 a -= 0.05 40 lt(3) 41 fd(a) 42 else: 43 a += 0.05 44 lt(3) 45 fd(a) 46 penup() 47 seth(180) 48 fd(60) 49 pendown() 50 seth(90) 51 for i in range(120): 52 if 0 <= i < 30 or 60 <= i < 90: 53 a -= 0.05 54 lt(3) 55 fd(a) 56 else: 57 a += 0.05 58 lt(3) 59 fd(a) #眼睛 60 seth(180) 61 penup() 62 fd(60) 63 pendown() 64 seth(215) 65 circle(120,100) 66 end_fill() #脸部颜色和眼睛部分 67 seth(0) # 左眼珠部分 68 penup() 69 fd(40) 70 seth(90) 71 fd(170) 72 seth(0) 73 fd(5) 74 pendown() 75 fillcolor("black") 76 begin_fill() 77 circle(15,360) 78 end_fill() 79 seth(90) 80 penup() 81 fd(5) 82 pendown() 83 seth(0) 84 fillcolor("white") 85 begin_fill() 86 circle(4,360) 87 end_fill() #左眼珠部分 88 penup() #右眼珠 89 seth(0) 90 fd(58) 91 seth(270) 92 fd(15) 93 seth(0) 94 pensize(5) 95 circle(18,90) 96 pendown() 97 circle(18,180) 98 penup() 99 circle(18,90) 100 pendown() 101 pensize(1)#右眼珠 102 penup() #鼻子 103 seth(270) 104 fd(7) 105 seth(180) 106 fd(27) 107 pendown() 108 fillcolor("red") 109 begin_fill() 110 circle(20) 111 end_fill()#鼻子 112 seth(270)#嘴 113 penup() 114 fd(40) 115 pendown() 116 pencolor("black") 117 pensize(2) 118 fd(90) 119 seth(0) 120 circle(120,50) 121 penup() 122 circle(120,260) 123 pendown() 124 circle(120,50)#嘴 125 penup() #胡须 126 seth(90) 127 fd(60) 128 seth(0) 129 fd(20) 130 pendown() 131 fd(60) 132 penup() 133 fd(-60) 134 seth(90) 135 fd(20) 136 pendown() 137 seth(15) 138 fd(60) 139 penup() 140 fd(-60) 141 seth(270) 142 fd(40) 143 pendown() 144 seth(-15) 145 fd(50) 146 penup() 147 fd(-50) 148 seth(180) 149 fd(40) 150 pendown() 151 seth(-165) 152 fd(50) 153 penup() 154 fd(-50) 155 seth(90) 156 fd(40) 157 seth(165) 158 pendown() 159 fd(60) 160 fd(-60) 161 penup() 162 seth(280) 163 fd(20) 164 seth(180) 165 pendown() 166 fd(60) #胡须 167 penup() #下半身 168 home() 169 penup() 170 seth(180) 171 fd(200) 172 seth(0) 173 seth(90) 174 fd(36) 175 seth(0) 176 fd(98) 177 pendown() 178 fillcolor("dodgerblue") 179 begin_fill() 180 seth(50) 181 fd(70) 182 seth(40) 183 fd(20) 184 right(90) 185 fd(35) 186 right(75) 187 fd(105) 188 seth(90) 189 fd(10) 190 seth(-90) 191 fd(90) 192 seth(-95) 193 fd(80) 194 seth(180) 195 fd(80) # 右腿 196 penup() #左腿和过渡 197 fd(30) 198 seth(-90) 199 fd(30) 200 seth(0) 201 circle(30,90) 202 pendown() 203 circle(30,180) 204 penup() 205 circle(30,90) 206 seth(90) 207 fd(30) 208 seth(180) 209 fd(30) 210 pendown() 211 fd(80) #腿 212 seth(92) 213 fd(80) 214 seth(90) 215 fd(75) 216 fd(-30) 217 seth(-135) 218 fd(30) 219 right(90) 220 fd(40) 221 right(93) 222 fd(78) 223 seth(0) 224 fd(205) 225 end_fill() 226 fillcolor("red")# 项圈的补充 227 begin_fill() 228 circle(5,90) 229 fd(10) 230 circle(5,90) 231 fd(10) 232 end_fill() 233 penup() 234 seth(50) 235 fd(70) 236 seth(40) 237 fd(16) 238 right(90) 239 fd(20) 240 pendown() 241 fillcolor("white")# 手掌 242 begin_fill() 243 circle(30) 244 end_fill() 245 penup() 246 seth(-90) 247 fd(253) 248 seth(180) 249 fd(160) 250 seth(-90) 251 fd(30) 252 seth(0) 253 pendown() 254 fillcolor("white") 255 begin_fill() 256 penup() 257 circle(31,90) 258 pendown() 259 circle(31,180) 260 penup() 261 circle(31,90) 262 end_fill() 263 seth(90) 264 fd(30) 265 seth(0) 266 fd(24) 267 pendown() 268 seth(180) 269 circle(15,180)# 脚 270 fd(90) 271 circle(15,180) 272 fd(90) 273 penup() 274 seth(180) 275 fd(60) 276 penup() 277 seth(0) 278 pendown() 279 circle(-15,180) 280 fd(80) 281 circle(-15,180) 282 fd(80) 283 penup() 284 seth(180) 285 fd(140) 286 seth(90) 287 fd(90) 288 seth(-45) 289 pendown() 290 fillcolor("white") 291 begin_fill() 292 circle(30) 293 end_fill() 294 penup() 295 seth(-90) 296 fd(50) 297 seth(0) 298 fd(173) 299 seth(0) 300 fillcolor("white")# 胸 301 begin_fill() 302 pendown() 303 circle(90,128) 304 seth(180) 305 fd(145) 306 seth(-128) 307 circle(90,129) 308 end_fill() 309 seth(90) 310 penup() 311 fd(35) 312 seth(0) 313 pendown() 314 circle(70,90)# 口袋 315 seth(180) 316 fd(140) 317 seth(-90) 318 circle(70,90) 319 penup() 320 seth(90) 321 fd(90) 322 pendown() 323 seth(0) 324 fillcolor("#ffd200")#铃铛 325 begin_fill() 326 circle(20) 327 end_fill() 328 seth(90) 329 pensize(2) 330 fd(13) 331 fillcolor("black") 332 begin_fill() 333 seth(0) 334 circle(2) 335 end_fill() 336 seth(-90) 337 fd(13) 338 seth(0) 339 penup() 340 circle(20,110) 341 pendown() 342 seth(170) 343 fd(20) 344 seth(190) 345 fd(20) 346 penup() 347 seth(-90) 348 fd(3.5) 349 pendown() 350 seth(10) 351 fd(20) 352 seth(-10) 353 fd(22) 354 355 #大雄部分 356 pensize(1) 357 penup() 358 seth(0) 359 fd(400) 360 pendown() 361 speed(0) 362 fillcolor("black") 363 begin_fill() 364 seth(30) 365 circle(100,60) 366 fd(20) #右脸 367 seth(50) 368 circle(50,150) 369 seth(70) 370 fd(4) 371 seth(50) 372 fd(4) 373 fd(-4) 374 seth(70) 375 fd(-4) 376 seth(145) 377 fd(5) 378 seth(138) 379 fd(5) 380 fd(-5) 381 seth(145) 382 fd(-5) 383 seth(150) 384 circle(60,150) 385 seth(-90) 386 fd(20) 387 circle(84,92) 388 end_fill() 389 penup() 390 seth(90) 391 fd(110) 392 seth(0) 393 fd(50) 394 fillcolor("#FAFAD2") 395 begin_fill() 396 pendown()#发际线 397 seth(85) 398 fd(20) 399 seth(160) 400 fd(20) 401 seth(165) 402 fd(20) 403 seth(170) 404 fd(10) 405 seth(175) 406 fd(20) 407 seth(180) 408 fd(10) 409 seth(185) 410 fd(20) 411 seth(190) 412 fd(20) 413 seth(195) 414 fd(10) 415 seth(200) 416 fd(14.5) 417 seth(-85) 418 fd(30)#发际线 419 seth(-90) 420 fd(20) 421 circle(84,92) 422 seth(30) 423 circle(100.5,60) 424 fd(30) 425 end_fill()#脸的补全 426 penup() 427 seth(-90) 428 fd(10) 429 pendown() 430 fillcolor("#FAFAD2") 431 begin_fill() 432 seth(80) 433 circle(-8,190) 434 seth(-90) 435 fd(5) 436 seth(-95) 437 fd(5) 438 seth(-100) 439 fd(5) 440 seth(-105) 441 fd(5) 442 seth(-110) 443 fd(5) 444 circle(-8,135) 445 penup() 446 seth(90) 447 fd(15) 448 seth(0) 449 fd(3) 450 pendown() 451 452 seth(60) 453 fd(8) 454 seth(70) 455 fd(8) 456 fd(-8) 457 seth(70) 458 circle(-5,180) 459 seth(-120) 460 fd(14) 461 end_fill() 462 penup() 463 seth(180) 464 fd(142) 465 seth(90) 466 fd(23) 467 pendown() 468 fillcolor("#FAFAD2") 469 begin_fill() 470 seth(100) 471 circle(8,180) 472 seth(-90) 473 fd(6) 474 seth(-85) 475 fd(6) 476 seth(-80) 477 fd(6) 478 circle(8,140) 479 end_fill() 480 seth(100) 481 fd(20) 482 circle(5,210) 483 fd(7) 484 penup() 485 seth(0) 486 fd(142) 487 seth(90) 488 fd(9) 489 pendown() 490 seth(180) 491 fd(18) 492 seth(90) 493 fillcolor("white") 494 begin_fill() 495 a = 2.3 496 for i in range(120): 497 if 0 <= i < 30 or 60 <= i < 90: 498 a -= 0.05 499 lt(3) 500 fd(a) 501 else: 502 a += 0.05 503 lt(3) 504 fd(a) 505 506 penup() 507 seth(180) 508 fd(50) 509 seth(90) 510 pendown() 511 for i in range(120): 512 if 0 <= i < 30 or 60 <= i < 90: 513 a -= 0.05 514 lt(3) 515 fd(a) 516 else: 517 a += 0.05 518 lt(3) 519 fd(a) 520 end_fill() 521 seth(180) 522 penup() 523 fd(70) 524 pendown() 525 seth(0) 526 fd(20) 527 penup() 528 fd(34) 529 seth(-90) 530 fd(2) 531 pendown() 532 pensize(6) 533 circle(4) 534 penup() 535 seth(0) 536 fd(26) 537 seth(-90) 538 fd(2.5) 539 seth(0) 540 pendown() 541 circle(4) 542 pensize(2) 543 penup() 544 seth(90) 545 fd(40) 546 seth(0) 547 fd(15) 548 seth(30) 549 pendown() 550 fd(8) 551 seth(0) 552 fd(10) 553 seth(-40) 554 fd(15) 555 seth(-50) 556 fd(7) 557 seth(-60) 558 fd(7) 559 penup() 560 seth(180) 561 fd(95) 562 seth(90) 563 fd(25) 564 pendown() 565 seth(-145) 566 fd(10) 567 seth(-135) 568 fd(5) 569 seth(-125) 570 fd(5) 571 seth(-120) 572 fd(5) 573 seth(-115) 574 fd(5) 575 seth(-110) 576 fd(5) 577 penup() 578 seth(90) 579 fd(30) 580 seth(0) 581 fd(25) 582 pendown() 583 seth(-30) 584 fd(19) 585 penup() 586 pensize(1) 587 seth(0) 588 fd(13) 589 seth(-90) 590 fd(81) 591 seth(0) 592 pendown() 593 circle(8) 594 penup() 595 seth(-90) 596 fd(20) 597 seth(180) 598 fd(10) 599 seth(160) 600 pendown() 601 fd(25) 602 fd(-25) 603 seth(-15) 604 fd(5) 605 seth(-10) 606 fd(5) 607 seth(0) 608 fd(5) 609 seth(10) 610 fd(5) 611 seth(15) 612 fd(5) 613 seth(20) 614 fd(27) 615 seth(-90) 616 penup() 617 fd(25) 618 seth(180) 619 fd(36) 620 seth(0) 621 pendown() 622 fillcolor("white") 623 begin_fill() 624 circle(68.5,75) 625 seth(-105) 626 circle(-68.5,75) 627 circle(-72.5,78) 628 penup() 629 seth(-90) 630 fd(100) 631 seth(0) 632 fd(133) 633 seth(90) 634 fd(85) 635 end_fill() 636 fillcolor("#FAFAD2") 637 begin_fill() 638 seth(-160) 639 fd(104) 640 seth(0) 641 fd(38) 642 seth(-90) 643 fd(7.5) 644 pendown() 645 seth(0) 646 circle(66,76) 647 end_fill() 648 penup() 649 seth(180) 650 fd(80) 651 seth(-90) 652 fd(33.5) 653 pendown() 654 seth(-15) 655 fd(5) 656 seth(-10) 657 fd(5) 658 seth(0) 659 fd(5) 660 seth(10) 661 fd(5) 662 seth(15) 663 fd(5) 664 seth(20) 665 fd(27) 666 penup() 667 seth(180) 668 fd(12) 669 seth(-90) 670 fd(21) 671 pendown() 672 fillcolor("#FAFAD2") 673 begin_fill() 674 fd(12) 675 seth(180) 676 fd(46) 677 seth(90) 678 fd(11) 679 penup() 680 seth(-30) 681 fd(5) 682 seth(-20) 683 fd(5) 684 seth(-10) 685 fd(5) 686 seth(0) 687 fd(5) 688 pendown() 689 circle(73,27) 690 end_fill() 691 penup() 692 seth(-90) 693 fd(6) 694 seth(180) 695 fd(5) 696 pendown() 697 fillcolor("white") 698 begin_fill() 699 seth(-50) 700 fd(12) 701 seth(-100) 702 fd(30) 703 seth(135) 704 fd(40) 705 seth(-135) 706 fd(40) 707 seth(100) 708 fd(30) 709 seth(45) 710 fd(16) 711 end_fill() 712 fillcolor("#EEC900") 713 begin_fill() 714 fd(-16) 715 seth(-145) 716 fd(40) 717 circle(20,45) 718 fd(10) 719 left(10) 720 fd(5) 721 right(10) 722 fd(10) 723 left(90) 724 fd(25) 725 seth(85) 726 fd(25) 727 seth(75) 728 fd(10) 729 fd(-10) 730 seth(85) 731 fd(-25) 732 seth(-90) 733 fd(15) 734 seth(-85) 735 fd(18) 736 seth(0) 737 fd(95) 738 circle(6,180) 739 seth(90) 740 fd(30) 741 seth(95) 742 fd(35) 743 fd(-30) 744 right(90) 745 fd(25) 746 left(80) 747 fd(6) 748 left(6) 749 fd(6) 750 left(12) 751 fd(20) 752 circle(20,60) 753 fd(20) 754 end_fill() 755 penup() 756 seth(180) 757 fd(54) 758 seth(90) 759 fd(10) 760 pendown() 761 fillcolor("#FAFAD2") 762 begin_fill() 763 seth(-90) 764 fd(10) 765 seth(0) 766 fd(48) 767 seth(90) 768 fd(10) 769 end_fill() 770 seth(180) 771 penup() 772 fd(24) 773 pendown() 774 circle(-160,13) 775 seth(-13) 776 circle(160,13) 777 seth(0) 778 circle(160,12) 779 penup() 780 seth(-90) 781 fd(12) 782 seth(180) 783 fd(3) 784 pendown() 785 fillcolor("white") 786 begin_fill() 787 seth(-100) 788 fd(30) 789 seth(135) 790 fd(40) 791 seth(-135) 792 fd(40) 793 seth(100) 794 fd(26) 795 end_fill() 796 penup() 797 seth(0) 798 fd(20) 799 seth(90) 800 fd(2) 801 pendown() 802 seth(0) 803 fd(41) 804 penup() 805 seth(0) 806 fd(40) 807 seth(-90) 808 fd(53) 809 pendown() 810 fillcolor("#FAFAD2") 811 begin_fill() 812 seth(-80) 813 fd(60) 814 seth(-30) 815 fd(5) 816 seth(-40) 817 fd(5) 818 seth(-50) 819 fd(5) 820 seth(-60) 821 fd(5) 822 seth(-80) 823 fd(5) 824 seth(-90) 825 fd(5) 826 seth(-95) 827 fd(5) 828 seth(-135) 829 fd(6) 830 seth(-138) 831 fd(6) 832 seth(-143) 833 fd(6) 834 circle(-15,160) 835 seth(180) 836 circle(20,20) 837 seth(95) 838 fd(80) 839 end_fill() 840 penup() 841 fd(-90) 842 seth(0) 843 fd(20) 844 pendown() 845 seth(-70) 846 fd(10) 847 fd(-10) 848 penup() 849 seth(0) 850 fd(8) 851 seth(-70) 852 pendown() 853 fd(7) 854 fd(-7) 855 penup() 856 seth(0) 857 fd(8) 858 seth(-70) 859 fd(-10) 860 pendown() 861 fd(13) 862 penup() 863 seth(180) 864 fd(165) 865 seth(90) 866 fd(82) 867 seth(-95) 868 fillcolor("#FAFAD2") 869 begin_fill() 870 pendown() 871 fd(80) 872 seth(-150) 873 circle(20,190) 874 seth(145) 875 fd(10) 876 left(90) 877 fd(6) 878 fd(-14) 879 fd(8) 880 right(90) 881 fd(-7) 882 seth(45) 883 circle(20,80) 884 seth(85) 885 fd(85) 886 end_fill() 887 888 penup() 889 seth(-90) 890 fd(35) 891 seth(0) 892 fd(3) 893 pendown() 894 fillcolor("#FAFAD2") 895 begin_fill() 896 seth(-105) 897 fd(10) 898 seth(-87) 899 fd(70) 900 seth(-90) 901 fd(70) 902 seth(-145) 903 fd(20) 904 circle(10,160) 905 seth(0) 906 fd(50) 907 circle(5,110) 908 fd(20) 909 seth(90) 910 fd(50) 911 seth(87) 912 fd(60) 913 circle(-6,175) 914 fd(60) 915 seth(-90) 916 fd(50) 917 seth(-120) 918 fd(18) 919 circle(5,130) 920 seth(0) 921 fd(50) 922 circle(10,160) 923 fd(16) 924 seth(90) 925 fd(70) 926 seth(87) 927 fd(80) 928 end_fill() 929 penup() 930 seth(90) 931 fd(1) 932 fillcolor("#FF3E96") 933 begin_fill() 934 pendown() 935 seth(180) 936 fd(96) 937 seth(-105) 938 fd(10) 939 seth(-87) 940 fd(45) 941 seth(0) 942 fd(43) 943 seth(87) 944 fd(13) 945 circle(-6,175) 946 seth(-90) 947 fd(15) 948 seth(0) 949 fd(40) 950 end_fill() 951 penup() 952 seth(-90) 953 fd(98) 954 seth(180) 955 fd(40) 956 pendown() 957 seth(-10) 958 fd(15) 959 seth(0) 960 fd(15) 961 seth(10) 962 fd(15) 963 penup() 964 seth(180) 965 fd(62) 966 pendown() 967 seth(-170) 968 fd(15) 969 seth(180) 970 fd(15) 971 seth(-190) 972 fd(15) 973 974 #末尾加上这一行,不然画完后会闪退 975 turtle.done() 976 977 # hideturtle()
效果图: