当互补角(例如30和60)传递给xy_plot1和xyplot2函数时,两个弹丸的图形无法正常工作

导入matplotlib.pyplot作为plt

将numpy导入为np

导入数学

导入matplotlib.gridspec作为gridspec

从matplotlib.animation导入FuncAnimation

无花果= plt.figure()

plt.xlabel('X')

plt.ylabel('Y')

限制y和x轴

ylim(0,10)

plt.xlim(0,10)

def xy_plot1(u,theta):

y_arr1= []
x_arr1 = []

# displacement in the y_direction is zero
x_disp = (u*u)*(math.sin(2*theta))/9.8  # disp_x = (u^2)*sin(2theta)/g {horizontal                                                                                  range}

x = 0           # distance from the origin

while(x <= x_disp):
    # below is the equation of path of projectile 
    y = (x*(math.tan(theta))) - ((9.8*x*x)/(2*pow((u*math.cos(theta)), 2)))
    y_arr1.append(y)
    x_arr1.append(x)
    x = x + 0.1 # basically x = x + dx  

plt.plot(x_arr1, y_arr1)

def xy_plot2(u,theta):

y_arr2 = []
x_arr2 = []

# displacement in the y_direction is zero
x_disp = (u*u)*(math.sin(2*theta))/9.8  # disp_x = (u^2)*sin(2theta)/g {horizontal                                                                                  range}

x = 0           # distance from the origin
dx = 0.1
while(x <= x_disp):
    # below is the equation of path of projectile 
    y = (x*(math.tan(theta))) - ((9.8*x*x)/(2*pow((u*math.cos(theta)), 2)))
    y_arr2.append(y)
    x_arr2.append(x)
    x = x + dx

plt.plot(x_arr2, y_arr2)

xy_plot1(10,60)

xy_plot2(10,30)

plt.show()

德里克·奥

小心!xyplot()函数的theta参数以度为单位,但是在函数内部,math.sin()函数采用以弧度为单位的角度参数。最简单的解决方法是以弧度而不是度为单位提供theta参数。

如果它们确实做同样的事情,那么您也不需要这两个函数,因为plt.plot()会在不清除绘图的情况下绘制后续的弹丸曲线以及先前的弹丸曲线。

import matplotlib.pyplot as plt
import numpy as np
import math
import matplotlib.gridspec as gridspec
from matplotlib.animation import FuncAnimation

fig = plt.figure()

plt.xlabel('X')
plt.ylabel('Y')

# limiting the y and x axis
plt.ylim(0, 10)
plt.xlim(0, 10)

def xy_plot(u, theta):
    y_arr2 = []
    x_arr2 = []

    # displacement in the y_direction is zero
    x_disp = (u*u)*(math.sin(2*theta))/9.8  # disp_x = (u^2)*sin(2theta)/g {horizontal                                                                                  range}

    x = 0           # distance from the origin
    dx=0.1
    while(x <= x_disp):
        # below is the equation of path of projectile 
        y = (x*(math.tan(theta))) - ((9.8*x*x)/(2*pow((u*math.cos(theta)), 2)))
        y_arr2.append(y)
        x_arr2.append(x)
        x = x + dx

    plt.plot(x_arr2, y_arr2)

# be careful about using degrees versus radians!!
xy_plot(10, math.pi/3)
xy_plot(10, math.pi/6)
plt.show()

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在绘制弹丸运动图形时我的plt.plot()无法正常工作?

来自分类Dev

组合两个公式ArrayFormula w / if和TextJoin无法正常工作

来自分类Dev

两个不同的公用IP地址使动态DNS和端口转发无法正常工作?

来自分类Dev

Keras:当将相同的输入传递给两个函数时,train_on_batch()和test_on_batch()的损失为何不同?

来自分类Dev

如何将无限的参数和一个或两个参数传递给JavaScript函数?

来自分类Dev

两个图形和相同的图表

来自分类Dev

PHP if(isset)在2个广播组和1个文本名称下无法正常工作

来自分类Dev

PHP if(isset)在2个广播组和1个文本名称下无法正常工作

来自分类Dev

我们如何产生数字 xy,其中 x 和 y 是两个参数或函数?

来自分类Dev

无法将两个命令行参数即文件名传递给函数

来自分类Dev

尝试在两个片段之间进行通信时,EventBus无法正常工作

来自分类Dev

如何使用qt和qglwidget将两个纹理传递给opengl着色器

来自分类Dev

如何使用qt和qglwidget将两个纹理传递给opengl着色器

来自分类Dev

将附加参数传递给两个函数

来自分类Dev

将两个参数传递给fminunc函数

来自分类Dev

将两个参数传递给Javascript函数

来自分类Dev

Mapview中两个位置的Mapkit路线无法正常工作于印度的纬度和经度?

来自分类Dev

不能正常工作与Tkinter和类两个计算器

来自分类Dev

两个日期之间的范围的NSPredicate无法正常工作

来自分类Dev

Tess-两个OCR无法正常工作

来自分类Dev

单个UIViewcontroller中的两个UITableView无法正常工作

来自分类Dev

比较两个日期无法正常工作

来自分类Dev

两个不同的for循环之间的Printf无法正常工作

来自分类Dev

将参数传递给函数:两个元素元组v。两个单独的参数?

来自分类Dev

如何一次性合并两个data.tables和互补列数据?

来自分类Dev

如何使用单个Solr实例或Solr模板字段无法正常工作来索引和搜索同一数据源中的两个不同表

来自分类Dev

如何使用单个Solr实例或Solr模板字段无法正常工作来索引和搜索同一数据源中的两个不同表

来自分类Dev

当两者对齐时,自动布局对于图像视图和标签无法正常工作

来自分类Dev

如何解包从函数 common() 返回的两个列表(list1 和 list2)?

Related 相关文章

  1. 1

    为什么在绘制弹丸运动图形时我的plt.plot()无法正常工作?

  2. 2

    组合两个公式ArrayFormula w / if和TextJoin无法正常工作

  3. 3

    两个不同的公用IP地址使动态DNS和端口转发无法正常工作?

  4. 4

    Keras:当将相同的输入传递给两个函数时,train_on_batch()和test_on_batch()的损失为何不同?

  5. 5

    如何将无限的参数和一个或两个参数传递给JavaScript函数?

  6. 6

    两个图形和相同的图表

  7. 7

    PHP if(isset)在2个广播组和1个文本名称下无法正常工作

  8. 8

    PHP if(isset)在2个广播组和1个文本名称下无法正常工作

  9. 9

    我们如何产生数字 xy,其中 x 和 y 是两个参数或函数?

  10. 10

    无法将两个命令行参数即文件名传递给函数

  11. 11

    尝试在两个片段之间进行通信时,EventBus无法正常工作

  12. 12

    如何使用qt和qglwidget将两个纹理传递给opengl着色器

  13. 13

    如何使用qt和qglwidget将两个纹理传递给opengl着色器

  14. 14

    将附加参数传递给两个函数

  15. 15

    将两个参数传递给fminunc函数

  16. 16

    将两个参数传递给Javascript函数

  17. 17

    Mapview中两个位置的Mapkit路线无法正常工作于印度的纬度和经度?

  18. 18

    不能正常工作与Tkinter和类两个计算器

  19. 19

    两个日期之间的范围的NSPredicate无法正常工作

  20. 20

    Tess-两个OCR无法正常工作

  21. 21

    单个UIViewcontroller中的两个UITableView无法正常工作

  22. 22

    比较两个日期无法正常工作

  23. 23

    两个不同的for循环之间的Printf无法正常工作

  24. 24

    将参数传递给函数:两个元素元组v。两个单独的参数?

  25. 25

    如何一次性合并两个data.tables和互补列数据?

  26. 26

    如何使用单个Solr实例或Solr模板字段无法正常工作来索引和搜索同一数据源中的两个不同表

  27. 27

    如何使用单个Solr实例或Solr模板字段无法正常工作来索引和搜索同一数据源中的两个不同表

  28. 28

    当两者对齐时,自动布局对于图像视图和标签无法正常工作

  29. 29

    如何解包从函数 common() 返回的两个列表(list1 和 list2)?

热门标签

归档