Файл:Sine quads 01 Pengo.svg
Матеріал з testwiki
Перейти до навігації
Перейти до пошуку
Розмір цього попереднього перегляду PNG для вихідного SVG-файлу: 800 × 345 пікселів. Інші роздільності: 320 × 138 пікселів | 640 × 276 пікселів | 1024 × 441 пікселів | 1280 × 552 пікселів | 2560 × 1103 пікселів | 1065 × 459 пікселів.
Повна роздільність (SVG-файл, номінально 1065 × 459 пікселів, розмір файлу: 59 КБ)
Цей файл з Вікісховища і може використовуватися в інших проєктах. Далі наведена інформація з його сторінки опису.
| ОписSine quads 01 Pengo.svg | Quadrants for sin(x) |
| Час створення | |
| Джерело | Власна робота |
| Автор | Pengo |
| SVG розвиток InfoField | |
| Сирцевий код InfoField | Python codeimport numpy as np
import matplotlib.pyplot as plt
from math import pi
import math
# HACKISH WARNING: this version internally uses 0 to 2 for the sine wave x axis, but labels it 0 to 2pi
# This is so the two graphs can be the same size. I couldn't work out how to otherwise within pyplot.
# (Actually only wanted the height of the two graphs to be the same, and was originally aiming to have the second x axis with the same scale as the first, which would have made it 3.14x longer.)
def addLines(quad, color):
incr = 1.0/1000.0
start = quad/2.0
end = start + 0.5 + incr
x = np.arange(start, end, incr)
lines = plt.plot(x, np.sin(pi*x), '')
plt.setp(lines, color=color, linewidth=2.5, solid_capstyle='butt', solid_joinstyle='miter')
def addPolar(quad, color):
incr = pi/1000.0
start = quad*pi/2.0
end = start + pi/2.0 + incr
x = np.arange(start, end, incr)
lines = plt.plot(np.cos(x), np.sin(x), '')
plt.setp(lines, color=color, linewidth=2.0, solid_capstyle='butt', solid_joinstyle='miter')
def addTicks():
start = 0 # in pi
end = 3 # in pi
tickPoints = []
tickNames = []
done = [] # in units of pi
#denoms = [1, 2, 4, 8] # show more
denoms = [1, 2]
for denom in denoms:
for numer in range(denom * start, denom * end):
val = (numer+0.0)/(denom+0.0)
if val not in done:
#tickPoints.append(val * pi) # this is preferred
tickPoints.append(val) # dodgy hack to help make the graph square.
done.append(val)
pich = u'\u03C0'
strTop = str(numer) + pich
if numer == 0:
strTop = "0"
elif numer == 1:
strTop = pich
if denom == 1:
tickNames.append(strTop)
else:
tickNames.append(strTop + "/" + str(denom))
plt.xticks(tickPoints, tickNames)
def drawSine():
addLines(-1, 'yellow')
addLines(0, 'brown')
addLines(1, 'r')
addLines(2, 'orange')
addLines(3, 'yellow')
addLines(4, 'brown')
addTicks()
slack = .1
plt.axis('scaled')
plt.xlim(-slack, 2.0 + slack)
plt.ylim(-1.1, 1.1)
plt.grid(True)
plt.xlabel('$x$')
plt.ylabel('$y$')
plt.title(r'$y = \sin x$')
plt.text( .25, 0, 'I', family='serif', fontsize=26, ha='center', va='center')
plt.text(.75, 0, 'II', family='serif', fontsize=26, ha='center', va='center')
plt.text(1.25, 0, 'III', family='serif', fontsize=26, ha='center', va='center')
plt.text( 1.75, 0, 'IV', family='serif', fontsize=26, ha='center', va='center')
def drawUnitCircle():
addPolar(0, 'brown')
addPolar(1, 'r')
addPolar(2, 'orange')
addPolar(3, 'yellow')
edge = 1.1
plt.axis('scaled')
plt.axis([-edge, edge, -edge, edge])
plt.grid(True)
plt.xlabel('$x$')
plt.ylabel('$y$')
plt.title(r'$x^2 + y^2 = 1$')
lo = .85 #label offset
plt.text( lo, lo, 'I', family='serif', fontsize=26, ha='center', va='center')
plt.text(-lo, lo, 'II', family='serif', fontsize=26, ha='center', va='center')
plt.text(-lo, -lo, 'III', family='serif', fontsize=26, ha='center', va='center')
plt.text( lo, -lo, 'IV', family='serif', fontsize=26, ha='center', va='center')
def twoInOne():
plt.subplot(121)
drawUnitCircle()
plt.subplot(122)
drawSine()
twoInOne()
plt.savefig("Sine_quads_01_Pengo.svg")
plt.show()
|
Ліцензування
Image credit: Peter Halasz. (User:Pengo)
Я, власник авторських прав на цей твір, добровільно публікую його на умовах такої ліцензії:
Цей файл ліцензований на умовах ліцензії Creative Commons Attribution-Share Alike 3.0 Unported
- Ви можете вільно:
- ділитися – копіювати, поширювати і передавати твір
- модифікувати – переробляти твір
- При дотриманні таких умов:
- зазначення авторства – Ви повинні вказати авторство, надати посилання на ліцензію і вказати, чи якісь зміни було внесено до оригінального твору. Ви можете зробити це в будь-який розсудливий спосіб, але так, щоб він жодним чином не натякав на те, наче ліцензіар підтримує Вас чи Ваш спосіб використання твору.
- поширення на тих же умовах – Якщо ви змінюєте, перетворюєте або створюєте іншу похідну роботу на основі цього твору, ви можете поширювати отриманий у результаті твір тільки на умовах такої ж або сумісної ліцензії.
When employing the Creative Commons license, give attribution to:
- Peter Halasz
- and/or, link to this image page of Wikimedia Commons:
http://commons.wikimedia.org/wiki/File:Sine_quads_01_Pengo.svg
Although not a requirement of the license, if you use this image in print or media other than the web, I would appreciate it if you let me know. Please contact me if you require alternate licensing.
Підписи
Додайте однорядкове пояснення, що саме репрезентує цей файл
Об'єкти, показані на цьому файлі
зображує
Якесь значення без елемента на сайті Вікідані
20 вересня 2010
60 692 байт
459 піксель
1065 піксель
image/svg+xml
a0c36764fd723a21716b69115be2cafacd783b8b
Історія файлу
Клацніть на дату/час, щоб переглянути, як тоді виглядав файл.
| Дата/час | Мініатюра | Розмір об'єкта | Користувач | Коментар | |
|---|---|---|---|---|---|
| поточний | 02:55, 21 вересня 2010 | 1065 × 459 (59 КБ) | wikimediacommons>Pengo | add quadrant labels |
Використання файлу
Така сторінка використовує цей файл: