python繪制鉛球的運(yùn)行軌跡代碼分享
我們按照面向過程程序設(shè)計的思想,使用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秒, 取一個點(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)容,希望對大家有所幫助。感興趣的朋友可以參閱本站:
如有不足之處,歡迎留言指出。
相關(guān)文章
Python實現(xiàn)RLE格式與PNG格式互轉(zhuǎn)
在機(jī)器視覺領(lǐng)域的深度學(xué)習(xí)中,很多數(shù)據(jù)集的標(biāo)注文件使用RLE的格式。但是神經(jīng)網(wǎng)絡(luò)的輸入一定是一張圖片,為此必須把RLE格式的文件轉(zhuǎn)變?yōu)閳D像格式。本文將利用Python實現(xiàn)RLE格式與PNG格式互轉(zhuǎn),感興趣的可以了解一下2022-08-08Django視圖之ORM數(shù)據(jù)庫查詢操作API的實例
下面小編就為大家?guī)硪黄狣jango視圖之ORM數(shù)據(jù)庫查詢操作API的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10對python的bytes類型數(shù)據(jù)split分割切片方法
今天小編就為大家分享一篇對python的bytes類型數(shù)據(jù)split分割切片方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12python數(shù)據(jù)結(jié)構(gòu)leetcode338比特位計數(shù)算法
這篇文章主要介紹了力扣刷題中python數(shù)據(jù)結(jié)構(gòu)leetcode338比特位計數(shù)算法解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06