Datoteka:Torus cycles.svg

Izvorna datoteka(SVG fajl, nominalno 512 × 780 piksela, veličina fajla: 46 kB)

Ova datoteka je s projekta Vikimedijina ostava i može se upotrebljavati i na drugim projektima. Ispod su prikazane informacije s njene opisne stranice.

Opis izmjene

Opis
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.
Datum
Izvor Vlastito djelo
Autor Krishnavedala
Ostale verzije
SVG genesis
InfoField
 
Izvorni kôd ove SVG datoteke je valjan.
 
Ova je vektorska slika napravljena programom Matplotlib.
Izvorni kod
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')

Licenciranje

Ja, vlasnik autorskog prava ovog djela, ovdje ga objavljujem pod sljedećom licencom:
Creative Commons CC-Zero Ova datoteka je dostupna pod licencom Creative Commons CC0 1.0 Univerzalnom Posvetom Javne Domene.
Osoba koja je učestvovala u radu na ovom dokumentu posvetila je rad javnoj domeni odricanjem od svih svojih prava na taj rad širom svijeta po zakonu o autorskim pravima i svim povezanim zakonskim pravima koja bi imao/imala, u mjeri dopuštenoj zakonom. Možete kopirati, mijenjati, distribuirati i prilagođavati rad, čak i u komercijalne svrhe, bez traženja dopuštenja.

Opisi

Dodajte objašnjenje u jednom redu što predstavlja ova datoteka

Predmeti pokazani na ovoj datoteci

prikazuje

Ovo svojstvo ima vrijednost, ali nije poznato

Vikimedija Srpski (transliteracija): Krishnavedala
skraćeno ime autora Srpski (transliteracija): Krishnavedala

izvor datoteke Srpski (transliteracija)

sopstveno delo Srpski (transliteracija)

14 april 2014

Historija datoteke

Kliknite na datum/vrijeme da biste vidjeli tadašnju verziju datoteke.

Datum/vrijemeMinijaturaDimenzijeKorisnikKomentar
aktualna18:38, 14 april 2014Minijatura verzije (18:38, 14 april 2014)512 × 780 (46 kB)Krishnavedala

Sljedeća stranica koristi ovu datoteku:

Globalna upotreba datoteke

Ovu datoteku upotrebljavaju i sljedeći projekti:

Metapodaci