Оригиналлӑ файл(SVG файлӗ, йӗркеллӗ виҫе 512 × 780 пкс, файл калӑпӑшӗ: 46 КБ)

Ку файлпа, на Викискладе илнӗскерпе, ытти проектсенче усӑ курма пултараҫҫӗ. Унӑн страницӑри ӑнлантарӑвӗпе аяларах паллаштарнӑ.

Кĕскен ăнлантарни

Ӑнлантарни
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.
Дата
Ҫӑлкуҫ Хӑвӑрӑн ӗҫ
Автор Krishnavedala
Другие версии
SVG‑разработка
InfoField
 
Исходный код этого SVG-файла корректен.
 
Это plot было создано с помощью Matplotlib
Исходный код
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')

Лицензилени

Я, владелец авторских прав на это произведение, добровольно публикую его на условиях следующей лицензии:
Creative Commons CC-Zero Этот файл доступен на условиях Creative Commons CC0 1.0 Универсальной передачи в общественное достояние (Universal Public Domain Dedication).
Лица, связанные с работой над этим произведением, решили передать данное произведение в общественное достояние, отказавшись от всех прав на произведение по всему миру в рамках закона об авторских правах (а также связанных и смежных прав), в той степени, которую допускает закон. Вы можете копировать, изменять, распространять, исполнять данное произведение в любых целях, в том числе в коммерческих, без получения на это разрешения автора.

Краткие подписи

Добавьте однострочное описание того, что собой представляет этот файл

Элементы, изображённые на этом файле

изображённый объект вырӑс

создатель вырӑс

У этого свойства есть некоторое значение без элемента в

лицензия вырӑс

CC0 вырӑс

Файл историйĕ

Вӑхӑт ҫине пуссан, ун чухнехи версине пӑхма пулать.

Дата/ВăхăтМиниатюраКалӑпӑшХутшăнаканАсăрхав
хальхи16:38, 14 Ака уйӑхӗн 201416:38, 14 Ака уйӑхӗн 2014 вӑхӑтри версийĕн миниатюри512 × 780 (46 КБ)Krishnavedala

Ку файлпа ҫак 1 страницӑра усӑ курнӑ:

Файлпа глобаллӑ усӑ курасси

Ку файлпа ҫак викисенче усӑ курнӑ:

Метаданнăйсем: