Повна роздільність(SVG-файл, номінально 1065 × 459 пікселів, розмір файлу: 59 КБ)

Wikimedia Commons logo Відомості про цей файл містяться на Вікісховищі — централізованому сховищі вільних файлів мультимедіа для використання у проектах Фонду Вікімедіа.
Опис Quadrants for sin(x)
Час створення
Джерело Власна робота
Автор Pengo
SVG розвиток
InfoField
 
Вихідний код цього SVG-файлу правильний.
 
Це векторне зображення було створено з допомогою Matplotlib
Сирцевий код
InfoField

Python code

import 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)

Я, власник авторських прав на цей твір, добровільно публікую його на умовах такої ліцензії:
w:uk:Creative Commons
зазначення авторства поширення на тих же умовах
Цей файл ліцензований на умовах ліцензії Creative Commons Attribution-Share Alike 3.0 Unported
Ви можете вільно:
  • ділитися – копіювати, поширювати і передавати твір
  • модифікувати – переробляти твір
При дотриманні таких умов:
  • зазначення авторства – Ви повинні вказати авторство, надати посилання на ліцензію і вказати, чи якісь зміни було внесено до оригінального твору. Ви можете зробити це в будь-який розсудливий спосіб, але так, щоб він жодним чином не натякав на те, наче ліцензіар підтримує Вас чи Ваш спосіб використання твору.
  • поширення на тих же умовах – Якщо ви змінюєте, перетворюєте або створюєте іншу похідну роботу на основі цього твору, ви можете поширювати отриманий у результаті твір тільки на умовах такої ж або сумісної ліцензії.

When employing the Creative Commons license, give attribution to:

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.

Підписи

Додайте однорядкове пояснення, що саме репрезентує цей файл

Об'єкти, показані на цьому файлі

зображує

60 692 байт

459 піксель

1065 піксель

Історія файлу

Клацніть на дату/час, щоб переглянути, як тоді виглядав файл.

Дата/часМініатюраРозмір об'єктаКористувачКоментар
поточний01:55, 21 вересня 2010Мініатюра для версії від 01:55, 21 вересня 20101065 × 459 (59 КБ)Pengoadd quadrant labels
01:17, 21 вересня 2010Мініатюра для версії від 01:17, 21 вересня 2010963 × 441 (56 КБ)PengoAdded axis labels and titles
03:16, 20 вересня 2010Мініатюра для версії від 03:16, 20 вересня 2010905 × 366 (42 КБ)Pengo{{Information |Description=Quadrants for sin(x) |Source={{own}} |Date=2010-09-20 |Author= Pengo |Permission=see below |other_versions= }} Category:Sine function

Така сторінка використовує цей файл:

Глобальне використання файлу

Цей файл використовують такі інші вікі: