python繪制鉛球的運(yùn)行軌跡代碼分享
我們按照面向過程程序設(shè)計(jì)的思想,使用python編寫了程序,追蹤鉛球在運(yùn)行過程中的位置信息。下面,修改程序代碼,導(dǎo)入turtle模塊,將鉛球的運(yùn)行軌跡繪制出來。
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:'))# 設(shè)置鉛球的起始位置
xpos = 0
ypos = h0
theta = radians(angle)# 將輸入的角度值轉(zhuǎn)換為弧度值
xvel = vel * cos(theta)# 鉛球的初始速度在x軸上的分量
yvel = vel * sin(theta)# 鉛球的初始速度在y軸上的分量# 創(chuàng)建Turtle對象, 剛創(chuàng)建的小烏龜對象, 位于坐標(biāo)原點(diǎn)( 0, 0), 朝向x軸正方向
t = Turtle()
t.color('red')# 設(shè)置畫筆的顏色
t.pensize(2)# 線條粗細(xì)
t.speed(2)# 調(diào)整速度
t.hideturtle()# 隱藏小烏龜# 繪制x軸和y軸
t.forward(350)# 繪制x軸
t.goto(0, 0)# 回到坐標(biāo)原點(diǎn), 準(zhǔn)備繪制y軸
t.goto(0, 200)# 繪制y軸
print('the position:({0:.3f},{1:0.3f})'.format(xpos, ypos))
xScale = 25# x坐標(biāo)放大倍數(shù)
yScale = 30# y坐標(biāo)放大倍數(shù)# 畫筆移到鉛球的起始位置, 準(zhǔn)備繪制鉛球的運(yùn)行軌跡
t.goto(xpos * xScale, ypos * yScale)# 通過while循環(huán)繪制鉛球的運(yùn)行軌跡, 每隔time秒, 取一個(gè)點(diǎn), 將所有取到的點(diǎn)連起來
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()
運(yùn)行程序,輸入輸出如下:



繪制的鉛球運(yùn)行軌跡,如下:

總結(jié)
有關(guān)turtle模塊的使用,后面還會向大家專門介紹,這里暫不贅述。
以上就是本文關(guān)于python繪制鉛球的運(yùn)行軌跡代碼分享的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以參閱本站:
python中實(shí)現(xiàn)k-means聚類算法詳解
如有不足之處,歡迎留言指出。
相關(guān)文章
對python 中re.sub,replace(),strip()的區(qū)別詳解
今天小編就為大家分享一篇對python 中re.sub,replace(),strip()的區(qū)別詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
Python寫一個(gè)字符串?dāng)?shù)字后綴部分的遞增函數(shù)
這篇文章主要介紹了Python寫一個(gè)字符串?dāng)?shù)字后綴部分的遞增函數(shù),寫函數(shù)之前需要Python處理重名字符串,添加或遞增數(shù)字字符串后綴,下面具體過程,需要的小伙伴可以參考一下2022-03-03
Python中Yield的基本用法及Yield與return的區(qū)別解析
Python中有一個(gè)非常有用的語法叫做生成器,用到的關(guān)鍵字就是yield,這篇文章主要介紹了Python中Yield的基本用法及Yield與return的區(qū)別,需要的朋友可以參考下2022-10-10
Python3實(shí)現(xiàn)將文件歸檔到zip文件及從zip文件中讀取數(shù)據(jù)的方法
這篇文章主要介紹了Python3實(shí)現(xiàn)將文件歸檔到zip文件及從zip文件中讀取數(shù)據(jù)的方法,涉及Python針對zip文件操作的相關(guān)技巧,需要的朋友可以參考下2015-05-05
Python實(shí)現(xiàn)對PPT文件進(jìn)行截圖操作的方法
這篇文章主要介紹了Python實(shí)現(xiàn)對PPT文件進(jìn)行截圖操作的方法,涉及Python操作幻燈片的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
Python 靜態(tài)導(dǎo)入與動(dòng)態(tài)導(dǎo)入的實(shí)現(xiàn)示例
Python靜態(tài)導(dǎo)入和動(dòng)態(tài)導(dǎo)入是指導(dǎo)入模塊或模塊內(nèi)部函數(shù)的兩種方式,本文主要介紹了Python 靜態(tài)導(dǎo)入與動(dòng)態(tài)導(dǎo)入的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05
python opencv 讀取圖片 返回圖片某像素點(diǎn)的b,g,r值的實(shí)現(xiàn)方法
今天小編就為大家分享一篇python opencv 讀取圖片 返回圖片某像素點(diǎn)的b,g,r值的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07

