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中mechanize库的简单使用示例
Jan 10 Python
python中pycurl库的用法实例
Sep 30 Python
Python实现SVN的目录周期性备份实例
Jul 17 Python
python实战教程之自动扫雷
Jul 13 Python
python+django+rest框架配置创建方法
Aug 31 Python
Python字符串、列表、元组、字典、集合的补充实例详解
Dec 20 Python
Python如何用filter函数筛选数据
Mar 05 Python
Pycharm安装并配置jupyter notebook的实现
May 18 Python
Python中的全局变量如何理解
Jun 04 Python
Python使用Selenium实现淘宝抢单的流程分析
Jun 23 Python
python3中数组逆序输出方法
Dec 01 Python
关于django python manage.py startapp 应用名出错异常原因解析
Dec 15 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之提取多维数组指定列的方法
2017/01/03 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
基于javascipt-dom编程 table对象的使用
2013/04/22 Javascript
jQuery原型属性和原型方法详解
2015/07/07 Javascript
JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
2016/04/29 Javascript
angular基于路由控制ui-router实现系统权限控制
2016/09/27 Javascript
Base64(二进制)图片编码解析及在各种浏览器的兼容性处理
2017/02/09 Javascript
Vue自定义指令详解
2017/07/28 Javascript
常用的9个JavaScript图表库详解
2017/12/19 Javascript
Nodejs 和 Electron ubuntu下快速安装过程
2018/05/04 NodeJs
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
2018/09/18 Javascript
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
2019/01/18 Javascript
[03:04]2018年国际邀请赛典藏宝瓶&莱恩声望物品展示 片尾有彩蛋
2018/06/04 DOTA
Python中的Classes和Metaclasses详解
2015/04/02 Python
python自动发送邮件脚本
2018/06/20 Python
tensorflow如何批量读取图片
2019/08/29 Python
Python获取一个用户名的组ID过程解析
2019/09/03 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
2020/02/22 Python
DataFrame 数据合并实现(merge,join,concat)
2020/06/14 Python
CSS3简单实现照片墙
2014/12/12 HTML / CSS
CSS3之2D与3D变换的实现方法
2019/01/28 HTML / CSS
综合办公室个人的自我评价
2013/12/22 职场文书
校园十佳歌手策划书
2014/01/22 职场文书
刊首寄语大全
2014/04/11 职场文书
大学社团活动总结
2014/04/26 职场文书
连带责任保证书
2014/04/29 职场文书
医院搬迁方案
2014/06/14 职场文书
商场消防安全责任书
2014/07/29 职场文书
向国旗敬礼活动小结
2014/09/27 职场文书
2015年社区创卫工作总结
2015/04/21 职场文书
清明祭英烈活动总结
2015/05/11 职场文书
硕士毕业答辩开场白
2015/05/27 职场文书
埃及王子观后感
2015/06/16 职场文书
警示教育片观后感
2015/06/17 职场文书
2016先进集体事迹材料范文
2016/02/25 职场文书