python绘制铅球的运行轨迹代码分享


Posted in Python onNovember 14, 2017

我们按照面向过程程序设计的思想,使用python编写了程序,追踪铅球在运行过程中的位置信息。下面,修改程序代码,导入turtle模块,将铅球的运行轨迹绘制出来。

python3代码如下:

from math
import pi, sin, cos, radians
from turtle
import Turtle
def main():
  angle = eval(input('Enter the launch angle(in degrees):'))
vel = eval(input('Enter the initial velocity(in meters/sec):'))
h0 = eval(input('Enter the initial height(in meters):'))
time = eval(input('Enter the time interval:'))# 设置铅球的起始位置
xpos = 0
ypos = h0
theta = radians(angle)# 将输入的角度值转换为弧度值
xvel = vel * cos(theta)# 铅球的初始速度在x轴上的分量
yvel = vel * sin(theta)# 铅球的初始速度在y轴上的分量# 创建Turtle对象, 刚创建的小乌龟对象, 位于坐标原点( 0, 0), 朝向x轴正方向
t = Turtle()
t.color('red')# 设置画笔的颜色
t.pensize(2)# 线条粗细
t.speed(2)# 调整速度
t.hideturtle()# 隐藏小乌龟# 绘制x轴和y轴
t.forward(350)# 绘制x轴
t.goto(0, 0)# 回到坐标原点, 准备绘制y轴
t.goto(0, 200)# 绘制y轴
print('the position:({0:.3f},{1:0.3f})'.format(xpos, ypos))
xScale = 25# x坐标放大倍数
yScale = 30# y坐标放大倍数# 画笔移到铅球的起始位置, 准备绘制铅球的运行轨迹
t.goto(xpos * xScale, ypos * yScale)# 通过while循环绘制铅球的运行轨迹, 每隔time秒, 取一个点, 将所有取到的点连起来
while ypos >= 0:
  xpos = xpos + time * xvel
yvel1 = yvel - time * 9.8
ypos = ypos + time * (yvel + yvel1) / 2.0
yvel = yvel1
print('the position:({0:.3f},{1:0.3f})'.format(xpos, ypos))
t.goto(xpos * xScale, ypos * yScale)
print('\nDistance traveled:{0:0.1f} meters.'.format(xpos))
if __name__ == '__main__':
  main()

运行程序,输入输出如下:

python绘制铅球的运行轨迹代码分享

python绘制铅球的运行轨迹代码分享

python绘制铅球的运行轨迹代码分享

绘制的铅球运行轨迹,如下:

python绘制铅球的运行轨迹代码分享

总结

有关turtle模块的使用,后面还会向大家专门介绍,这里暂不赘述。

以上就是本文关于python绘制铅球的运行轨迹代码分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以参阅本站:

如有不足之处,欢迎留言指出。

Python 相关文章推荐
Python urls.py的三种配置写法实例详解
Apr 28 Python
Python之csv文件从MySQL数据库导入导出的方法
Jun 21 Python
Python实例方法、类方法、静态方法的区别与作用详解
Mar 25 Python
Python3中urlencode和urldecode的用法详解
Jul 23 Python
python 提取文件指定列的方法示例
Aug 07 Python
解决pycharm同一目录下无法import其他文件
Feb 12 Python
Python 如何批量更新已安装的库
May 26 Python
Python使用jupyter notebook查看ipynb文件过程解析
Jun 02 Python
keras topN显示,自编写代码案例
Jul 03 Python
关于Kotlin中SAM转换的那些事
Sep 15 Python
Python趣味挑战之用pygame实现简单的金币旋转效果
May 31 Python
Python中的程序流程控制语句
Feb 24 Python
Python实现句子翻译功能
Nov 14 #Python
简述:我为什么选择Python而不是Matlab和R语言
Nov 14 #Python
Python与R语言的简要对比
Nov 14 #Python
Python基础语言学习笔记总结(精华)
Nov 14 #Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
Nov 14 #Python
python中os和sys模块的区别与常用方法总结
Nov 14 #Python
Python 将RGB图像转换为Pytho灰度图像的实例
Nov 14 #Python
You might like
PHP中使用file_get_contents post数据代码例子
2015/02/13 PHP
程序员的表白神器“520”大声喊出来
2016/05/20 PHP
支付宝支付开发――当面付条码支付和扫码支付实例
2016/11/04 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
2019/12/13 PHP
探索Emberjs制作一个简单的Todo应用
2012/11/07 Javascript
jquery 合并内容相同的单元格(示例代码)
2013/12/13 Javascript
js星星评分效果
2014/07/24 Javascript
莱鸟介绍window.print()方法
2016/01/06 Javascript
BootStrap和jQuery相结合实现可编辑表格
2016/04/21 Javascript
微信小程序-详解数据缓存
2016/11/24 Javascript
React Router基础使用
2017/01/17 Javascript
Vue.js tab实现选项卡切换
2017/05/16 Javascript
使用 Node.js 对文本内容分词和关键词抽取
2017/05/27 Javascript
深入理解基于vue-cli的vuex配置
2017/07/24 Javascript
Cropper.js 实现裁剪图片并上传(PC端)
2017/08/20 Javascript
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
2017/12/01 Javascript
web前端vue filter 过滤器
2018/01/12 Javascript
[04:10]2016国际邀请赛中国区预选赛第二日TOP10精彩集锦
2016/06/28 DOTA
[01:02:04]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
使用python提取html文件中的特定数据的实现代码
2013/03/24 Python
Numpy数组转置的两种实现方法
2018/04/17 Python
python爬虫实现中英翻译词典
2019/06/25 Python
Django之使用内置函数和celery发邮件的方法示例
2019/09/16 Python
Python线程threading模块用法详解
2020/02/26 Python
基于Pytorch版yolov5的滑块验证码破解思路详解
2021/02/25 Python
水果超市创业计划书
2014/01/27 职场文书
《得道多助,失道寡助》教学反思
2014/04/19 职场文书
感恩教师节演讲稿
2014/09/03 职场文书
对外汉语专业大学生职业生涯规划范文
2014/09/13 职场文书
交通事故代理词范文
2015/05/23 职场文书
2015年暑期社会实践方案
2015/07/14 职场文书
2016年大学生党员承诺书
2016/03/24 职场文书
Django使用redis配置缓存的方法
2021/06/01 Redis
Mysql中常用的join连接方式
2022/05/11 MySQL
CSS使用SVG实现动态分布的圆环发散路径动画
2022/12/24 HTML / CSS