ดูภาพที่มีความละเอียดสูงกว่า((ไฟล์ SVG, 600 × 400 พิกเซล, ขนาดไฟล์: 29 กิโลไบต์))

Wikimedia Commons logo รูปภาพหรือไฟล์เสียงนี้ ต้นฉบับอยู่ที่ คอมมอนส์ รายละเอียดด้านล่าง เป็นข้อความที่แสดงผลจาก ไฟล์ต้นฉบับในคอมมอนส์
คอมมอนส์เป็นเว็บไซต์ในโครงการสำหรับเก็บรวบรวมสื่อเสรี ที่ คุณสามารถช่วยได้

ความย่อ

คำอธิบาย
English: Plot of a ballistic trajectory with air resistance. The trajectory follows the differential equation with initial conditions .

The parameters are:

  • , ,
  • The initial velocity takes the values , , , ,
The differential equation is solved numerically using Scipy odeint.
วันที่
แหล่งที่มา งานของตัว
ผู้สร้างสรรค์ Geek3
SVG genesis
InfoField
 
ซอร์สโค้ดของ SVG นี้ตรวจสอบถูกต้องแล้ว
 
ไฟล์ภาพกราฟิกส์เวกเตอร์นี้ สร้างขึ้นโดยใช้ mplwp
รหัสต้นฉบับ
InfoField

mplwp source code

The plot was generated with mplwp 1.0
#!/usr/bin/python
# -*- coding: utf8 -*-

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
from math import *

code_website = 'http://commons.wikimedia.org/wiki/User:Geek3/mplwp'
try:
    import mplwp
except ImportError, er:
    print 'ImportError:', er
    print 'You need to download mplwp.py from', code_website
    exit(1)

name = 'mplwp_ballistic_trajectories_velocities.svg'
fig = mplwp.fig_standard(mpl)

xlim = 0,2.6; fig.gca().set_xlim(xlim)
ylim = 0,2.6*355/515.; fig.gca().set_ylim(ylim)
fig.gca().xaxis.set_major_locator(mpl.ticker.MultipleLocator(0.4))
fig.gca().yaxis.set_major_locator(mpl.ticker.MultipleLocator(0.4))

from scipy.integrate import odeint
from scipy.optimize import brentq
def ballistic(g, k, xy0, v0, alpha0, tt):
    # use a four-dimensional vector function vec = [x, y, vx, vy]
    def dif(vec, t):
        v = sqrt(vec[2]**2 + vec[3]**2)
        return [vec[2], vec[3], -k*v*vec[2], -g -k*v*vec[3]]
    
    # solve the differential equation numerically
    vec = odeint(dif, [xy0[0], xy0[1], v0*cos(alpha0), v0*sin(alpha0)], tt)
    return vec[:,0], vec[:,1] # return x(tt) and y(tt)

g = 1.0
k = 1.0
alpha0 = pi/4
for v0 in np.linspace(0, 10, 6)[1:]:
    t1 = brentq(lambda t: ballistic(g,k,[0,0],v0,alpha0,[0,t])[1][1],0.1,5)
    t = np.linspace(0, t1, 5001)
    x, y = ballistic(g, k, [0, 0], v0, alpha0, t)
    while len(y) > 1 and y[-2] <= 0.0: x = x[:-1]; y = y[:-1]
    plt.plot(x, y,
        label=ur'$v_0=\,{:.0f}$'.format(v0))

mpl.rc('legend', borderaxespad=1.0)
plt.legend(loc='upper left').get_frame().set_alpha(0.9)
plt.savefig(name)
mplwp.postprocess(name)

การอนุญาตใช้สิทธิ

ข้าพเจ้า ในฐานะผู้ถือลิขสิทธิ์ของภาพหรือสื่อนี้ อนุญาตให้ใช้ภาพหรือสื่อนี้ภายใต้เงื่อนไขต่อไปนี้
GNU head อนุญาตให้คัดลอก แจกจ่ายและ/หรือดัดแปรเอกสารนี้ภายใต้เงื่อนไขของสัญญาอนุญาตเอกสารเสรีของกนู รุ่น 1.2 หรือรุ่นใด ๆ นับจากนี้ที่ออกโดยมูลนิธิซอฟต์แวร์เสรี โดยไม่มีส่วนใดห้ามแก้ไข ไม่มีข้อความปกหน้าและปกหลัง สำเนาของสัญญาอนุญาตรวมอยู่ในส่วนชื่อ สัญญาอนุญาตเอกสารเสรีของกนู
w:th:ครีเอทีฟคอมมอนส์
แสดงที่มา
ไฟล์นี้อยู่ภายใต้สัญญาอนุญาตครีเอทีฟคอมมอนส์ รุ่น แสดงที่มา 3.0 ต้นฉบับ
คุณสามารถ:
  • ที่จะแบ่งปัน – ที่จะทำสำเนา แจกจ่าย และส่งงานดังกล่าวต่อไป
  • ที่จะเรียบเรียงใหม่ – ที่จะดัดแปลงงานดังกล่าว
ภายใต้เงื่อนไขต่อไปนี้:
  • แสดงที่มา – คุณต้องให้เกียรติเจ้าของงานอย่างเหมาะสม โดยเพิ่มลิงก์ไปยังสัญญาอนุญาต และระบุหากมีการเปลี่ยนแปลง คุณอาจทำเช่นนี้ได้ในรูปแบบใดก็ได้ตามควร แต่ต้องไม่ใช่ในลักษณะที่แนะว่าผู้ให้อนุญาตสนับสนุนคุณหรือการใช้งานของคุณ
คุณสามารถเลือกสัญญาอนุญาตดังกล่าวตามต้องการ

ดูเพิ่ม

คำบรรยายโดยย่อ

เพิ่มคำบรรยายทรรทัดเดียวเพื่อขยายความว่าไฟล์นี้มีอะไร

ไอเทมที่แสดงอยู่ในไฟล์นี้

ประกอบด้วย

ประวัติไฟล์

คลิกวันที่/เวลาเพื่อดูไฟล์ที่ปรากฏในขณะนั้น

วันที่/เวลารูปย่อขนาดผู้ใช้ความเห็น
ปัจจุบัน21:00, 28 กันยายน 2557รูปย่อสำหรับรุ่นเมื่อ 21:00, 28 กันยายน 2557600 × 400 (29 กิโลไบต์)Geek3ballistic_trajectories_velocities plot by Geek3

การใช้ไฟล์ข้ามโครงการ

วิกิอื่นต่อไปนี้ใช้ไฟล์นี้:

ข้อมูลเกี่ยวกับภาพ