Skeda:Torus cycles.svg

Page contents not supported in other languages.
Nga Wikipedia, enciklopedia e lirë

Dokument origjinal(skedë SVG, fillimisht 512 × 780 pixel, madhësia e skedës: 46 KB)

Kjo skedë është prej Wikimedia Commons dhe mund të përdoret nga projekte të tjera. Përshkrimi në këtë skedë në këtë faqe nuk është treguar më poshtë. Shko tek faqja përshkruese në Commons Shko tek faqja përshkruese në Commons

Përmbledhje

Përshkrimi
English: Homology cycles on a torus. Radius of magenta circle is and radius of red circle is . Image created in python and subsequently cropped and rotated manually using a text editor.
Data
Burimi Punë e juaja
Autori Krishnavedala
Versione tjera
SVG genesis
InfoField
 
The SVG code is valid.
 
This plot was created with Matplotlib.
Kodi burimor
InfoField

Python code

Source code
from mpl_toolkits.mplot3d import axes3d
from matplotlib.patches import Circle
import matplotlib.pyplot as plt
import mpl_toolkits.mplot3d.art3d as art3d
import numpy as np

R, r = 15, 5

def get_x(phi, theta):
    global r, R
    return (R + r * np.cos(phi)) * np.cos(theta)

def get_y(phi, theta):
    global r, R
    return (R + r * np.cos(phi)) * np.sin(theta)

def get_z(phi, theta):
    global r
    return r * np.sin(phi)

if __name__ == "__main__":
    fig = plt.figure(figsize=(10,10))
    ax = fig.add_subplot(111, projection='3d')

    ph = th = np.linspace (-np.pi, np.pi,30)
    phi, theta = np.meshgrid (ph, th)

    x = np.array([get_x(p,t) for p,t in zip(np.ravel(phi), np.ravel(theta))])
    X = x.reshape(phi.shape)
    y = np.array([get_y(p,t) for p,t in zip(np.ravel(phi), np.ravel(theta))])
    Y = y.reshape(phi.shape)
    z = np.array([get_z(p,t) for p,t in zip(np.ravel(phi), np.ravel(theta))])
    Z = z.reshape(phi.shape)
    C1 = Circle( (R,0), radius=r, fc='none', ec='red')
    C2 = Circle( (0,0), radius=R, fc='none', ec='magenta')

    ax.plot_wireframe(X, Y, Z, color='#CCCCCC')
    ax.add_patch(C1)
    ax.add_patch(C2)
    art3d.pathpatch_2d_to_3d(C1, z=0, zdir='y')
    art3d.pathpatch_2d_to_3d(C2, z=r, zdir='z')

    ax.set_xlim3d(-20,20)
    ax.set_ylim3d(-20,20)
    ax.set_zlim3d(-20,20)
    ax.set_xlabel('X')
    ax.set_ylabel('Y')
    ax.set_zlabel('Z')
    ax.set_axis_off()

    ax.view_init(elev=30, azim=-45)
    plt.show()
    plt.savefig('torus.svg', bbox_inches='tight', pad_inches=.15, \
        bbox_extra_artists=[C1,C2], transparent='true')

Licencim

Unë, krijuesi i kësaj pune, e publikoj këtu në bazë të licensës në vijim:
Creative Commons CC-Zero Kjo skedë është bërë e mundur nën Creative Commons CC0 1.0 Universal Public Domain Dedication.
Personi që lidhi një punë me këtë vepër ia ka dedikuar punën public domain duke shmangur të gjitha të drejtat e tij apo të saj për punën në mbarë botën nën ligjin e të drejtës së autorit, duke përfshirë të gjitha të drejtat e lidhura dhe fqinje, deri në masën e lejuar me ligj. Ju mund ta kopjoni, modifikoni, shpërndani dhe të kryeni pune, madje edhe për qëllime komerciale, të gjitha pa kërkuar leje.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

përshkruan

14 prill 2014

Historiku skedës

Shtypni mbi një datë/kohë për ta parë skedën siç ishte atëherë.

Data/KohaMiniaturëPërmasatPërdoruesiKoment
e tanishme14 prill 2014 18:38Miniaturë për versionin duke filluar nga 14 prill 2014 18:38512 × 780 (46 KB)Krishnavedala

Këto faqe lidhen tek kjo skedë:

Përdorimi global i skedës

Kjo skedë përdoret nga Wiki të tjera në vijim:

Metadata