python繪制鉛球的運行軌跡代碼分享
我們按照面向過程程序設計的思想,使用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軸上的分量# 創(chuàng)建Turtle對象, 剛創(chuàng)建的小烏龜對象, 位于坐標原點( 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循環(huán)繪制鉛球的運行軌跡, 每隔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()
運行程序,輸入輸出如下:



繪制的鉛球運行軌跡,如下:

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

