2013-04-27 15 views
5

मेरे पास एक विशिष्ट 2 डी-सरणी है जो एक विशिष्ट क्षेत्र की ज्यामितीय ऊंचाई का प्रतिनिधित्व करती है जहां एक सड़क का निर्माण किया जाएगा। मैं इसे scipy.misc.toimage का उपयोग करके देख सकता हूं। हालांकि मैं क्षेत्र का एक साधारण 3 डी दृश्य प्राप्त करना चाहता हूं। क्या इस डेटा को 3 डी-छवि के रूप में साजिश या प्रस्तुत करने का कोई आसान तरीका है?अजगर के साथ एक इलाके खींचे?

उत्तर

8

शायद का उपयोग matplotlib के plot_surface या plot_wireframe: पहला, दूसरा ऊंचाइयों वाई, जेड आप है, Z:

import matplotlib.pyplot as plt 
import numpy as np 
import mpl_toolkits.mplot3d.axes3d as axes3d 

np.random.seed(1) 
fig, ax = plt.subplots(subplot_kw=dict(projection='3d')) 
N = 100 
X, Y = np.meshgrid(np.arange(N), np.arange(N)) 
heights = np.sin(2*np.pi*np.sqrt(X**2+Y**2)/N) 
ax.plot_surface(X, Y, heights, cmap=plt.get_cmap('jet')) 
plt.show() 

enter image description here

इन कार्यों तीन 2 डी-सरणियों की आवश्यकता है। मानक X और Y उन Z से जुड़े स्थानों को उत्पन्न करने के लिए, आप np.meshgrid का उपयोग कर सकते हैं।

संबंधित मुद्दे