यहां, मेरे पास एक पैरामीट्रिक समीकरण है।पायथन - कुछ बिंदुओं पर वेग और त्वरण वैक्टर प्लॉटिंग
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
t = np.linspace(0,2*np.pi, 40)
# Position Equation
def rx(t):
return t * np.cos(t)
def ry(t):
return t * np.sin(t)
# Velocity Vectors
def vx(t):
return np.cos(t) - t*np.sin(t)
def vy(t):
return np.sin(t) + t*np.cos(t)
# Acceleration Vectors
def ax(t):
return -2*np.sin(t) - t*np.cos(t)
def ay(t):
return 2*np.cos(t) - t*np.sin(t)
fig = plt.figure()
ax1 = fig.gca(projection='3d')
z = t
ax1.plot(rx(z), r(z), z)
plt.xlim(-2*np.pi,2*np.pi)
plt.ylim(-6,6)
ax.legend()
तो मैं इस पैरामीट्रिक समीकरण है कि इस ग्राफ बनाता है।
मैं अपने कोड में ऊपर मेरे वेग और त्वरण पैरामीट्रिक समीकरणों को परिभाषित किया है।
जो मैं करना चाहता हूं वह परिभाषित बिंदुओं पर ऊपर मेरे स्थिति ग्राफ में त्वरण और वेग वैक्टरों को साजिश करना है। (Id est, टी = pi/2, 3pi/2, 2pi)
कुछ इस तरह:
Python/matplotlib : plotting a 3d cube, a sphere and a vector?
लेकिन मैं के बाद से मैं प्रत्येक बिंदु टी को परिभाषित करने के लिए है सीधे आगे और अधिक कुछ करना चाहता हूँ दो समीकरणों में।
ऐसी चीज संभव है? मैं केवल वेक्टर फ़ील्ड ढूंढ सकता हूं और क्या नहीं।
धन्यवाद।
संपादित प्रश्न
# t = pi/4
t_val_start_pi4 = np.pi/4
vel_start_pi4 = [rx(t_val_start_pi4), ry(t_val_start_pi4), t_val_start_pi4]
vel_end_pi4 = [rx(t_val_start_pi4) + vx(t_val_start_pi4), ry(t_val_start_pi4)+vy(t_val_start_pi4), t_val_start_pi4 ]
vel_vecs_pi4 = (t_val_start_pi4 , vel_end_pi4)
vel_arrow_pi4 = Arrow3D(vel_vecs_pi4[0],vel_vecs_pi4[1], vel_vecs_pi4[2], mutation_scale=20, lw=1, arrowstyle="-|>", color="b")
axes.add_artist(vel_arrow_pi4)
यह मुझे कह Tuple out of index
निम्नलिखित शो कैसे तीर आकर्षित करने के लिए। एक बार जब आप वेक्टर पूंछ के स्थान की गणना करते हैं, वेक्टर की लंबाई, वेक्टर की दिशा, और वेक्टर की शैली पर निर्णय लेते हैं, तो आप वेक्टर को आकर्षित करने के लिए इसका उपयोग कर सकते हैं: http://matplotlib.org/examples/pylab_examples/arrow_simple_demo.html – boardrider
ताकि क्या पहला शून्य पूंछ के स्थान का प्रतिनिधित्व करता है और अगला वाला वैक्टर लंबाई का प्रतिनिधित्व करता है? 'ax.arrow (0, 0, 0.5, 0.5, head_width = 0.05, head_length = 0.1, fc = 'k', ec = 'k')' – DarthLazar
@ डार्थलाजार - कृपया [दस्तावेज़ीकरण] देखें (http: // matplotlib उस विधि के लिए .org/api/axes_api.html # matplotlib.axes.Axes.arrow) –