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在ubuntu中的几种安装方法(小结)
Dec 08 Python
python定向爬取淘宝商品价格
Feb 27 Python
使用numpy和PIL进行简单的图像处理方法
Jul 02 Python
pygame实现简易飞机大战
Sep 11 Python
Windows下Anaconda2安装NLTK教程
Sep 19 Python
Django重设Admin密码过程解析
Feb 10 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
Feb 18 Python
Python基于内置库pytesseract实现图片验证码识别功能
Feb 24 Python
Lombok插件安装(IDEA)及配置jar包使用详解
Nov 04 Python
基于Django快速集成Echarts代码示例
Dec 01 Python
Django和Ueditor自定义存储上传文件的文件名
Feb 25 Python
深入浅析Django MTV模式
Sep 04 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
论坛头像随机变换代码
2006/10/09 PHP
解决控件遮挡问题:关于有窗口元素和无窗口元素
2007/01/28 PHP
一步一步学习PHP(5) 类和对象
2010/02/16 PHP
PHP数字前补0的自带函数sprintf 和number_format的用法(详解)
2017/02/06 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
在Laravel中实现使用AJAX动态刷新部分页面
2019/10/15 PHP
让innerHTML的脚本也可以运行起来
2006/07/01 Javascript
用javascript判断IE版本号简单实用且向后兼容
2013/09/11 Javascript
非html5实现js版弹球游戏示例代码
2013/09/22 Javascript
JS获取当前网址、主机地址项目根路径
2013/11/19 Javascript
window.open打开页面居中显示的示例代码
2013/12/27 Javascript
js获取ajax返回值代码
2014/04/30 Javascript
nodejs调用cmd命令实现复制目录
2015/05/04 NodeJs
JQuery自动触发事件的方法
2015/06/13 Javascript
深入分析JSON编码格式提交表单数据
2015/06/25 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
2015/08/24 Javascript
原生JS实现的跳一跳小游戏完整实例
2019/01/27 Javascript
详解简单易懂的 ES6 Iterators 指南和示例
2019/09/24 Javascript
javascript实现贪吃蛇经典游戏
2020/04/10 Javascript
JavaScript实现切换多张图片
2021/01/27 Javascript
[00:32]2018DOTA2亚洲邀请赛出场——VP
2018/04/04 DOTA
python处理csv数据的方法
2015/03/11 Python
Python中模块string.py详解
2017/03/12 Python
Python利用flask sqlalchemy实现分页效果
2020/08/02 Python
python pytest进阶之fixture详解
2019/06/27 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
使用python自动追踪你的快递(物流推送邮箱)
2020/03/17 Python
MATCHESFASHION澳大利亚/亚太地区:英国时尚奢侈品电商
2020/01/14 全球购物
食品安全工作方案
2014/05/07 职场文书
民用住房租房协议书
2014/10/29 职场文书
领导参观欢迎词
2015/01/26 职场文书
运动会闭幕词
2015/01/28 职场文书
薪资证明范本
2015/06/19 职场文书
8g内存用python读取10文件_面试题-python 如何读取一个大于 10G 的txt文件?
2021/05/28 Python
OpenCV-Python实现轮廓拟合
2021/06/08 Python
MySql重置root密码 --skip-grant-tables
2022/04/11 MySQL