当前位置: 首页 > news >正文

Python篮球王子

系列文章

序号直达链接
爱心系列
1Python制作一个无法拒绝的表白界面
2Python满屏飘字表白代码
3Python无限弹窗满屏表白代码
4Python李峋同款可写字版跳动的爱心
5Python流星雨代码
6Python漂浮爱心代码
7Python爱心光波代码
8Python普通的玫瑰花代码
9Python炫酷的玫瑰花代码
10Python多彩的玫瑰花代码
11Python爱心泡泡
12Python爱心射线
节日系列
1Python动漫风烟花秀代码
2Python新年烟花秀代码
3Python圣诞礼物代码
4Python画圣诞树代码
5Python可爱版圣诞树丨绿色
6Python可爱版圣诞树丨粉色
7Python大雪纷飞代码
8Python生日蛋糕代码
9Python五彩气球代码
10Python国庆祝福代码
11Python万圣礼物代码
12Python愚人节礼物代码
13Python浪漫星空代码
14Python樱花树代码
动漫系列
1Python名侦探柯南
2Python喜羊羊
3Python懒羊羊
4Python沸羊羊
5Python小灰灰
6Python小香香
7Python灰太狼
8Python海绵宝宝
9Python哆啦A梦
10Python凯蒂猫
11Python猫和老鼠
12Python草莓熊
13Python迷你皮卡丘
14Python高级皮卡丘
15Python豪华皮卡丘
16Python史迪仔
17Python小熊猫
18Python蜘蛛侠
19Python可爱版蜡笔小新
20Python萌萌的蜡笔小新
21Python罗小黑
22Python猪猪侠
炫酷系列
1  Python张万森下雪了
2Python一闪一闪亮晶晶
3Python黑客帝国代码雨
4Python七彩花朵
5Python模拟3D星空
6Python金榜题名
7Python满天星

目录

系列文章

写在前面

完整代码

代码分析

写在后面


写在前面

Python绘制篮球王子的完整代码。

完整代码

import turtle
from turtle import *
from math import *
turtle.setup(1.0, 1.0)
turtle.Turtle().screen.delay(0)     # 如需慢慢画,删除本行即可
turtle.title('篮球王子')def ty_c(x,y,sita,a,b,p,q,c):fillcolor(c)si=2*pi/100penup()goto(x+a*cos(sita),y+a*sin(sita))pendown()t=0for i in range(201):if i*si+sita<=p:penup()goto(x+a*cos(i*si)*cos(sita)-b*sin(i*si)*sin(sita)\,y+a*cos(i*si)*sin(sita)+b*sin(i*si)*cos(sita))pendown()elif p<=i*si+sita<=q+2*pi/100:if t==0:begin_fill()t=1goto(x+a*cos(i*si)*cos(sita)-b*sin(i*si)*sin(sita)\,y+a*cos(i*si)*sin(sita)+b*sin(i*si)*cos(sita))end_fill()
#高级椭圆方程
def ty(x,y,sita,a,b,p,q):si=2*pi/100penup()goto(x+a*cos(sita),y+a*sin(sita))pendown()for i in range(201):if i*si+sita<p:penup()goto(x+a*cos(i*si)*cos(sita)-b*sin(i*si)*sin(sita)\,y+a*cos(i*si)*sin(sita)+b*sin(i*si)*cos(sita))pendown()elif p<=i*si+sita<=q+2*pi/100:goto(x+a*cos(i*si)*cos(sita)-b*sin(i*si)*sin(sita)\,y+a*cos(i*si)*sin(sita)+b*sin(i*si)*cos(sita))
speed(0)
hideturtle()
#篮球
pensize(10)
pencolor('black')
ty_c(350,-267,0,161,161,0,2*pi,'#ff9900')
ty(350,-267+161+50,0,161,161,7*pi/6+pi/12,11*pi/6-pi/12)
ty(350,-267-161-50,0,161,161,pi/6+pi/12,5*pi/6-pi/12)
ty(350,-267+161+330,0,500,500,8.5*pi/6,9.5*pi/6)
#脸
pensize(20)
ty_c(0,0,0,657/2,576/2,0,2*pi,'#ffcc00')
#眼睛
pensize(22)
ty_c(55,52,0,106,104,0,2*pi,'white')
ty_c(-165,60,0,101,99,0,2*pi,'white')
pensize(20)
ty_c(4,79,0,14,14,0,2*pi,'black')
ty_c(-201,80,0,14,14,0,2*pi,'black')
#嘴巴
pensize(12)
ty_c(-66,-76,0,102,62,0,2*pi,'#ff6600')
penup()
goto(-155,-50)
pendown()
goto(-134,-64)
goto(-115,-74)
goto(-90,-82)
goto(-67,-86)
goto(-47,-85)
goto(-25,-82)
goto(0,-77)
goto(15,-66)
goto(25,-55)
#腮红
pensize(1)
pencolor('red')
ty_c(-256,-90,15*pi/180,49,66,0,2*pi+15*pi/180,'red')
ty_c(201,-105,0,73,75,0,2*pi,'red')
#领口
color('black','black')
pensize(10)
penup()
goto(-275,-227)
pendown()
begin_fill()
goto(-241,-209)
goto(-189,-233)
goto(-166,-260)
goto(-127,-272)
goto(-88,-252)
goto(-49,-233)
goto(-19,-227)
goto(51,-237)
goto(108,-242)
goto(168,-242)
goto(210,-233)
goto(250,-206)
goto(252,-254)
goto(216,-269)
goto(-13,-353)
goto(-65,-362)
goto(-109,-356)
goto(-178,-317)
goto(-214,-296)
goto(-246,-266)
goto(-272,-245)
goto(-275,-227)
end_fill()
#衣服
penup()
goto(-244,-287)
pendown()
begin_fill()
goto(-269,-314)
goto(-310,-405)
goto(-304,-410)
goto(-21,-416)
goto(317,-410)
goto(331,-398)
goto(323,-381)
goto(319,-356)
goto(315,-320)
goto(275,-266)
goto(263,-257)
pensize(15)
pencolor('#c0c0c0')goto(252,-254)
goto(216,-269)
goto(-13,-353)
pensize(13)
goto(-65,-362)
goto(-109,-356)
pensize(10)
goto(-178,-317)
goto(-214,-296)
goto(-246,-284)
end_fill()
#肩带
penup()
goto(-206,-310)
pendown()
pensize(30)
goto(-183,-363)
goto(-180,-384)
goto(-184,-414)penup()
goto(229,-285)
pendown()
goto(203,-360)
pensize(34)
goto(190,-415)penup()
goto(-115,-360)
pendown()
pensize(8)
goto(-96,-411)
goto(-75,-413)
goto(18,-371)
goto(69,-341)
goto(105,-325)
pensize(12)
goto(177,-297)
#中分
pencolor('#808080')
pensize(1)
penup()
goto(67,393)
pendown()
fillcolor('#808080')
begin_fill()
goto(43,+419)
goto(13,+431)
goto(-96,+426)
goto(-156,+402)
goto(-239,+336)
goto(-277,+300)
goto(-307,+263)
goto(-372,+153)
goto(-383,+101)
goto(-373,+57)
goto(-339,+38)
goto(-298,+40)
goto(-278,+61)
goto(-236,+74)
goto(-176,+103)
goto(-163,+128)
goto(-135,+224)
goto(-95,+265)
goto(-64,+271)
goto(-30,+253)
goto(22,+269)
goto(61,268)
goto(75,202)
goto(93,132)
goto(108,71)
goto(136,31)
goto(171,4)
goto(236,-10)
goto(277,-10)
goto(323,-25)
goto(363,-61)
goto(404,-35)
goto(423,14)
goto(453,71)
goto(457,120)
goto(441,170)
goto(398,227)
goto(331,285)
goto(283,323)
goto(232,360)
goto(168,396)
goto(122,416)
goto(87,406)
goto(67,393)
end_fill()
pencolor('black')
pensize(4)
goto(-30,+253)
done()

代码分析

这段代码使用Python的turtle模块来绘制一个卡通风格的人物图像。turtle是一个简单的绘图库,允许用户通过编程控制一个“turtle”(海龟)在屏幕上移动并绘制图形。

 1. 导入与设置

  • 导入了turtle模块,并从turtle模块中导入所有内容以便简化调用。
  • 设置了画布大小为全屏,并关闭了绘制延迟,使得图形绘制得更快。
  • 设置窗口标题为'篮球王子'。 

 2. 定义函数

  • ty_c 和 ty 函数用于绘制椭圆或部分椭圆,并且ty_c可以填充颜色。它们都接受多个参数,如中心点坐标、旋转角度、长轴和短轴长度、开始和结束的角度等。
  • 这些函数使用了参数化的椭圆方程来计算椭圆上的点,并根据指定的角度范围决定是否绘制这些点。

3. 绘制篮球

  • 使用ty_c函数绘制了一个橙色的篮球,并使用ty函数绘制了篮球上的线条。

4. 绘制脸部特征

  • 使用ty_c函数绘制了一个黄色的脸部轮廓。
  • 绘制了白色的眼睛,并在眼睛内添加了黑色的眼珠。
  • 绘制了橙色的嘴巴,并通过一系列的goto命令绘制了嘴巴的具体形状。
  • 添加了红色的腮红。

5. 绘制衣物

  • 使用begin_fillend_fill来绘制衣服的区域,包括领口和衣服主体。
  • 通过改变pencolorpensize属性来改变线条的颜色和宽度。

6. 细节

  • 使用了penup()pendown()来控制是否绘制路径。
  • 为了增加细节,还绘制了一些装饰性的元素,比如肩带和头发的中分线。

7. 完成绘制

  • 最后使用done()来显示绘制结果。 

这个程序展示了如何利用turtle的特性来创建复杂的图形,同时也展示了如何通过循环和条件语句来控制图形的绘制过程。整个代码逻辑清晰,层次分明,适合用来作为turtle模块的进阶教程示例。

写在后面

我是一只有趣的兔子,感谢你的喜欢。

相关文章:

Python篮球王子

系列文章 序号直达链接爱心系列1Python制作一个无法拒绝的表白界面2Python满屏飘字表白代码3Python无限弹窗满屏表白代码4Python李峋同款可写字版跳动的爱心5Python流星雨代码6Python漂浮爱心代码7Python爱心光波代码8Python普通的玫瑰花代码9Python炫酷的玫瑰花代码10Python多…...

分享一些在部署k8s集群时遇到的问题

目录 一、k8s拉取镜像失败&#xff0c;多半是docker镜像源失效了&#xff0c;需要经常更新 1.编辑该配置文件&#xff1a; 2.重启服务器&#xff1a; 二、kubectl get nodes时出现&#xff1a;The connection to the server localhost:8080 was refused - did you specify t…...

【Canal 中间件】Canal使用原理与基本组件概述

文章目录 一、canal 概述1.2 什么是 canal2.3 canal 的所有组件 二、canal 工作原理2.1 MySQL 主备复制原理2.2 canal 工作原理 三、canal.server 组件3.1 canal.server 的架构3.2 instance 模块组成部分 四、canal.client 组件4.1 类设计4.2 server/clinet 交互协议4.3 使用案…...

《Baichuan-Omni》论文精读:第1个7B全模态模型 | 能够同时处理文本、图像、视频和音频输入

技术报告Baichuan-Omni Technical ReportGitHub仓库地址 文章目录 论文摘要1. 引言简介2. 训练2.1. 高质量的多模态数据2.2. 多模态对齐预训练2.2.1. 图像-语言分支2.2.2. 视频语音分支2.2.3. 音频语言分支2.2.4. 图像-视频-音频全方位对齐 2.3. 多模态微调监督 3. 实验3.1. 语…...

YOLOv6-4.0部分代码阅读笔记-common.py

common.py yolov6\layers\common.py 目录 common.py 1.所需的库和模块 2.class SiLU(nn.Module): 3.class ConvModule(nn.Module): 4.class ConvBNReLU(nn.Module): 5.class ConvBNSiLU(nn.Module): 6.class ConvBN(nn.Module): 7.class ConvBNHS(nn.Module): …...

移植 AWTK 到 纯血鸿蒙 (HarmonyOS NEXT) 系统 (4) - 平台适配

在移植 AWTK 到 HarmonyOS NEXT 系统之前&#xff0c;我们需要先完成平台适配&#xff0c;比如文件、多线程&#xff08;线程和同步&#xff09;、时间、动态库和资源管理。 1. 文件 HarmonyOS NEXT 支持标准的 POSIX 文件操作接口&#xff0c;我们可以直接使用下面的代码&am…...

Java 多线程(八)—— 锁策略,synchronized 的优化,JVM 与编译器的锁优化,ReentrantLock,CAS

前言 本文为 Java 面试小八股&#xff0c;一句话&#xff0c;理解性记忆&#xff0c;不能理解就死背吧。 锁策略 悲观锁与乐观锁 悲观锁和乐观锁是锁的特性&#xff0c;并不是特指某个具体的锁。 我们知道在多线程中&#xff0c;锁是会被竞争的&#xff0c;悲观锁就是指锁…...

【项目分享】法拉利中控台模拟 html+css+js

引入&#xff1a; 制作一个模拟法拉利中控台的网页是一个有趣且富有挑战性的项目。为了简化这个任务&#xff0c;我们可以使用一些HTML、CSS和JavaScript来实现一个基本的界面。以下是一个简单的示例&#xff0c;展示了如何创建一个基本的法拉利中控台模拟网页。 效果展示&…...

Rust 力扣 - 2461. 长度为 K 子数组中的最大和

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们遍历长度为k的窗口&#xff0c;用一个哈希表记录窗口内的所有元素&#xff08;用来对窗口内元素去重&#xff09;&#xff0c;我们取哈希表中元素数量等于k的窗口总和的最大值 题解代码 use std::collecti…...

stm32103c8t6 pwm驱动舵机(SG90)

本方法采用通用定时器&#xff08;TIM2、TIM3、TIM4、TIM5&#xff09;实现 代码&#xff1a; PWM.h #ifndef __PWM_H // 防止头文件重复包含 #define __PWM_H#include "stm32f10x.h" // 包含STM32F10x系列的设备头文件// 函数声明 void TIM2_PWM_In…...

Python For循环

Python 的 for 循环是自动化重复任务的强大工具&#xff0c;可以使代码更高效、更易于管理。本教程将解释 for 循环的工作原理&#xff0c;探讨不同的应用场景&#xff0c;并提供大量实用示例。无论你是初学者还是希望提升技能的开发者&#xff0c;这些示例都将帮助你更好地在 …...

C++入门——“C++11-右值引用和移动语义”

C11相比于C98增加以许多新特性&#xff0c;让C语言更加灵活好用&#xff0c;但是貌似也增加了许多学习的难度&#xff0c;现在先看第一部分。 一、右值引用和移动语义 1.右值引用和左值引用 在C中&#xff0c;值可以大致分为右值和左值&#xff0c;左值大概是哪些已经被定义的变…...

timm使用笔记

timm&#xff08;Timm is a model repository for PyTorch&#xff09;是一个 PyTorch 原生实现的计算机视觉模型库。它提供了预训练模型和各种网络组件&#xff0c;可以用于各种计算机视觉任务&#xff0c;例如图像分类、物体检测、语义分割等等。timm&#xff08;库提供了预训…...

android浏览器源码 可输入地址或关键词搜索 android studio 2024 可开发可改地址

Android 浏览器是一种运行在Android操作系统上的应用程序&#xff0c;主要用于访问和查看互联网内容。以下是关于Android浏览器的详细介绍&#xff1a; 1. 基本功能 Android浏览器提供了用户浏览网页的基本功能&#xff0c;如&#xff1a; 网页加载&#xff1a;支持加载静态…...

贪心算法入门(一)

1.什么是贪心算法&#xff1f; 贪心算法是一种解决问题的策略&#xff0c;它将复杂的问题分解为若干个步骤&#xff0c;并在每一步都选择当前最优的解决方案&#xff0c;最终希望能得到全局最优解。这种策略的核心在于“最优”二字&#xff0c;意味着我们追求的是以最少的时间和…...

C# ref和out 有什么区别,分别用在那种场景

在C#中&#xff0c;ref和out都是用于按引用传递参数的关键字&#xff0c;但它们有一些细微的差别和使用场景。 ref 关键字 ref 关键字用于按引用传递参数。这意味着当你将一个变量作为参数传递给一个方法时&#xff0c;你不是传递变量的值&#xff0c;而是传递变量的引用。因…...

TikTok直播专线:提升直播效果和体验

作为当今全球最受欢迎的社交媒体平台之一&#xff0c;TikTok为商家提供了无限的商机和市场。然而&#xff0c;商家在使用TikTok时也面临着许多挑战&#xff0c;如网络延迟、直播中断以及账号被封等问题。TikTok直播专线旨在为商家提供高速稳定的网络连接&#xff0c;助力他们在…...

由浅入深逐步理解spring boot中如何实现websocket

实现websocket的方式 1.springboot中有两种方式实现websocket&#xff0c;一种是基于原生的基于注解的websocket&#xff0c;另一种是基于spring封装后的WebSocketHandler 基于原生注解实现websocket 1&#xff09;先引入websocket的starter坐标 <dependency><grou…...

1-petalinux 问题记录-根文件系统分区问题

在MPSOC上使用SD第二分区配置根文件系统的时候&#xff0c;需要选择对应的bootargs&#xff0c;但是板子上有emmc和sd两个区域&#xff0c;至于配置哪一种mmcblk0就出现了问题&#xff0c;从vivado中的BlockDesign和MLK XCZU2CG原理图来看的话&#xff0c;我使用的SD卡应该属于…...

微信小程序的上拉刷新与下拉刷新

效果图如下&#xff1a; 上拉刷新 与 下拉刷新 代码如下&#xff1a; joked.wxml <scroll-view class"scroll" scroll-y refresher-enabled refresher-default-style"white" bindrefresherrefresh"onRefresh" refresher-triggered&qu…...

家长选择赶考小状元AI自习室还是其他品牌对孩子学习更有帮助?深度解析三大维度

随着教育智能化浪潮席卷而来&#xff0c;家长们在为孩子选择学习辅助工具时&#xff0c;面临着前所未有的多元选择。传统网课、新兴自习室品牌层出不穷&#xff0c;而深耕智能教育领域二十年的赶考小状元AI智能自习室&#xff0c;以其独特的“教育内核科技工具运营支持”三维融…...

Perplexity图标搜索效率提升300%:从零配置到精准获取的5步实战工作流

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;Perplexity图标资源搜索 在构建与 Perplexity AI 集成的前端应用或开发调试工具时&#xff0c;获取其官方图标资源是品牌一致性与用户体验的关键环节。Perplexity 官方未提供公开的图标下载中心&#xff0c;但…...

AI Agent Harness Engineering 与组织结构重塑:未来公司将变成什么样

AI Agent Harness Engineering 与组织结构重塑:未来公司将变成什么样 摘要/引言 你有没有在深夜刷到过这样的“科技黑话式”创业视频?创始人拍着桌子喊:“我们公司90%的活都是AI干的!产品上线从3个月缩短到3天!利润率翻了10倍!”旁边的工位要么是空的,要么坐着手忙脚乱…...

不止图表引用!VSCode+LaTeX完整编译链配置指南(含BibTeX文献处理)

VSCodeLaTeX高效工作流&#xff1a;从交叉引用到文献管理的全栈配置指南 当你第一次在VSCode中尝试用LaTeX撰写学术论文时&#xff0c;是否曾被那些顽固的"??"标记困扰&#xff1f;这些问号背后隐藏着LaTeX编译机制的核心逻辑——交叉引用需要多轮编译才能正确解析…...

在 GitHub Actions 中集成 Taotoken 实现大模型 API 自动化调用

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在 GitHub Actions 中集成 Taotoken 实现大模型 API 自动化调用 将大模型能力集成到自动化工作流中&#xff0c;是提升开发效率的有…...

Redis Sorted Set(有序集合)详解

Redis 里面有一种非常强大的数据结构&#xff1a; Sorted Set&#xff08;有序集合&#xff09;简称&#xff1a; ZSet这是 Redis 面试和项目里非常高频的东西。一、什么是 Sorted Set 先记住一句话&#xff1a; Sorted Set 自动排序的 Set它具备&#xff1a; Set 的去重自动排…...

Arcgis新手必看:用‘焦点统计’和‘设为空函数’搞定栅格数据清洗(附避坑要点)

ArcGIS栅格数据清洗实战&#xff1a;焦点统计与设为空函数的高效应用指南 当你第一次拿到一份满是噪点的DEM数据或存在异常值的土地利用分类图时&#xff0c;那种手足无措的感觉我深有体会。栅格数据清洗是GIS分析中看似简单却暗藏玄机的关键步骤&#xff0c;一个不当的参数设置…...

【MYSQL】 mysql库和表的操作--详解

一.库的操作1.1 创建数据库创建数据库&#xff1a;create database db_name; -- 本质就是在 /var/lib/mysql 创建一个目录CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...] create_specification: [DEFAULT] CHARACTER SET chars…...

告别手动画图!用Perl脚本自动化统计MS动力学模拟中的氢键(附脚本下载)

用Perl脚本实现MS动力学模拟中氢键的自动化统计与分析 在分子动力学模拟研究中&#xff0c;氢键作为影响材料性能的关键因素之一&#xff0c;其动态变化规律往往需要从海量轨迹数据中提取。传统手动分析方法不仅效率低下&#xff0c;还容易引入人为误差。本文将介绍如何利用Per…...

深入STM32中断系统:从EXTI触发到NVIC裁决的完整流程剖析(附流程图详解)

深入STM32中断系统&#xff1a;从EXTI触发到NVIC裁决的完整流程剖析 在嵌入式开发中&#xff0c;中断系统是实时响应的核心机制。对于STM32开发者而言&#xff0c;深入理解从外部信号触发到CPU执行中断服务程序(ISR)的完整链路&#xff0c;是优化系统实时性、排查异常问题的关…...