الملف الأصلي (ملف SVG، أبعاده 575 × 449 بكسل، حجم الملف: 202 كيلوبايت)

ملخص

الوصف
English: 3D view of
التاريخ
المصدر عمل شخصي
المؤلف Nicoguaro
SVG منشأ الملف
InfoField
 
الشيفرة المصدرية لهذا الرسم المتجه صالحة.
 
هذا الرسم المتجهي أُنشئ بواسطة Matplotlib
نص برمجي مصدري
InfoField

Python code

#!/usr/bin/python2

import numpy as np
from mpl_toolkits.mplot3d import Axes3D
from mpl_toolkits.mplot3d.art3d import Poly3DCollection
from matplotlib import cm
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
vmin, vmax = -np.pi, np.pi
plot_args = {'cmap':'YlGnBu_r', 'linewidth': 0.4, 'antialiased': True}
cmap = cm.get_cmap(plot_args['cmap'])

def modpi(x, ref):
    return (x + np.pi - ref) % (2*np.pi) - np.pi + ref

xa = np.linspace(-1, 1, 31)
xc = 0.5 * (xa[:-1] + xa[1:])
ya = np.linspace(-1, 1, 31)
yc = 0.5 * (ya[:-1] + ya[1:])

y, x = np.meshgrid(ya, xa)
z = np.arctan2(y, x)
zc = np.arctan2(*np.meshgrid(yc, xc))
colors = cmap((zc.flatten() - vmin) / (vmax - vmin))

verts = []
for ix in range(len(xa)-1):
    for iy in range(len(ya)-1):
        zm = zc[ix, iy]
        polygon = [
            (xa[ix], ya[iy], modpi(z[ix,iy], zm)),
            (xa[ix], ya[iy+1], modpi(z[ix,iy+1], zm)),
            (xa[ix+1], ya[iy+1], modpi(z[ix+1,iy+1], zm)),
            (xa[ix+1], ya[iy], modpi(z[ix+1,iy], zm))]
        
        for i, p in enumerate(polygon):
            if (p[0], p[1]) == (0., 0.):
                z1 = polygon[(i-1)%len(polygon)][2]
                z2 = polygon[(i+1)%len(polygon)][2]
                new_points = [(p[0], p[1], z1), (p[0], p[1], z2)]
                polygon = polygon[:i] + new_points + polygon[i+1:]
        
        verts.append(polygon)

ax.add_collection3d(Poly3DCollection(verts, facecolors=colors, **plot_args))

ax.view_init(azim=-70, elev=60)
ax.set_xlim(-1, 1)
ax.set_ylim(-1, 1)
ax.set_zlim(vmin, vmax)
plt.xticks([-1, -0.5, 0, 0.5, 1],
           [r"$-1$", r"$-1/2$", r"$0$", r"$1/2$", r"$1$"])
plt.yticks([-1, -0.5, 0, 0.5, 1],
           [r"$-1$", r"$-1/2$", r"$0$", r"$1/2$", r"$1$"])
ax.set_zticks([-np.pi, 0, np.pi])
ax.set_zticklabels([r"$-\pi$", r"$0$", r"$\pi$"])
ax.w_xaxis.set_pane_color((1.0, 1.0, 1.0, 0.0)) 
ax.w_yaxis.set_pane_color((1.0, 1.0, 1.0, 0.0)) 
ax.w_zaxis.set_pane_color((1.0, 1.0, 1.0, 0.0))
ax.set_xlabel(r"$x$", fontsize=18)
ax.set_ylabel(r"$y$", fontsize=18)
ax.set_zlabel(r"$\operatorname{atan2}(y, x)$", fontsize=18)
plt.savefig("atan2.svg", bbox_inches="tight", transparent=True)
plt.show()

ترخيص

أنا، صاحب حقوق التأليف والنشر لهذا العمل، أنشر هذا العمل تحت الرخصة التالية:
w:ar:مشاع إبداعي
نسب العمل إلى مُؤَلِّفه
هذا الملف مرخص تحت ترخيص المشاع الإبداعي الدولية المُلزِمة بنسب العمل إلى مُؤلِّفه 4.0.
يحقُّ لك:
  • مشاركة العمل – نسخ العمل وتوزيعه وبثُّه
  • إعادة إنتاج العمل – تعديل العمل
حسب الشروط التالية:
  • نسب العمل إلى مُؤَلِّفه – يلزم نسب العمل إلى مُؤَلِّفه بشكل مناسب وتوفير رابط للرخصة وتحديد ما إذا أجريت تغييرات. بالإمكان القيام بذلك بأية طريقة معقولة، ولكن ليس بأية طريقة تشير إلى أن المرخِّص يوافقك على الاستعمال.

الشروحات

أضف شرحاً من سطر واحد لما يُمثِّله هذا الملف

العناصر المصورة في هذا الملف

يُصوِّر

١٦ فبراير 2016

٢٠٧٬١١٤ بايت

٤٤٩ بكسل

٥٧٥ بكسل

تاريخ الملف

اضغط على زمن/تاريخ لرؤية الملف كما بدا في هذا الزمن.

زمن/تاريخصورة مصغرةالأبعادمستخدمتعليق
حالي18:55، 12 مايو 2020تصغير للنسخة بتاريخ 18:55، 12 مايو 2020575 × 449 (202 كيلوبايت)Geek3also plot tiles along the discontinuity
22:40، 16 فبراير 2016تصغير للنسخة بتاريخ 22:40، 16 فبراير 2016575 × 449 (230 كيلوبايت)NicoguaroUser created page with UploadWizard

الصفحة التالية تستخدم هذا الملف:

الاستخدام العالمي للملف

الويكيات الأخرى التالية تستخدم هذا الملف:

بيانات وصفية