File:Archimedean spiral polar.svg

From testwiki
Jump to navigation Jump to search

Original file(SVG file, nominally 609 × 618 pixels, file size: 91 KB)

This file is from Wikimedia Commons and may be used by other projects. The description on its file description page there is shown below.

Summary

Description
Français : Spirale d'Archimède représentée sur un graphe polaire
English: Archimedean spiral represented on a polar graph
Date
Source Own work
Author Guillaume Jacquenot

Source code (Python)

# -*- coding: utf-8 -*-
#
# Script to plot an Archimedean spiral
#
# http://en.wikipedia.org/wiki/Archimedean_spiral
#
# The Archimedean spiral (also known as the arithmetic spiral
# or spiral of Archimedes) is a spiral named after the 3rd
# century BC Greek mathematician Archimedes. It is the locus
# of points corresponding to the locations over time of a
# point moving away from a fixed point with a constant speed
# along a line which rotates with constant angular velocity.
#
# Text under the
# Creative Commons Attribution-ShareAlike License
# **************************************************************
#
#
# Guillaume Jacquenot
# 2013/03/17

import numpy as np
from fractions import Fraction
import matplotlib
from matplotlib.pyplot import figure, show, rc, grid

def updateThetaAxis(ax):
    thetaFractions = [Fraction.from_float(item/np.pi) for item in ax.get_xticks()]
    labels=[]
    for f in thetaFractions:
        if f.numerator==0:
            labels.append('0')
        elif f.numerator==f.denominator:
            labels.append('\\pi')
        elif f.numerator==1:
            labels.append('\\frac{{\\pi }}{'+str(f.denominator)+'}')
        else:
            labels.append('\\frac{{'+str(f.numerator)+'\\pi }}{'+str(f.denominator)+'}')
    labels = ['$\\Large'+l+'$' for l in labels]
    ax.set_xticklabels(labels,fontsize=20)

def updateRAxis(ax):
    thetaFractions = [Fraction.from_float(item) for item in ax.get_yticks()]
    labels=[]
    for f in thetaFractions:
        if f.numerator==0:
            labels.append('0')
        elif f.numerator==f.denominator:
            labels.append('1')
        elif f.denominator==1:
            labels.append(str(f.numerator))
        else:
            labels.append('\\frac{{'+str(f.numerator)+'}}{'+str(f.denominator)+'}')
    labels = ['$'+l+'$' for l in labels]
    ax.set_yticklabels(labels,fontsize=20)

def makePlot(outputFilename = r'Archimedean_spiral_polar.svg'):
    rc('grid', linewidth=1, linestyle='-') # color='#316931'
    rc('xtick', labelsize=15)
    rc('ytick', labelsize=15)
    rc('font',**{'family':'serif','serif':['Palatino'],'size':14})
    rc('text', usetex=True)

    width, height = matplotlib.rcParams['figure.figsize']
    size = min(width, height)
    fig = figure(figsize=(size, size))
    ax = fig.add_axes([0.12, 0.12, 0.76, 0.76], polar=True, )#axisbg='#d5de9c'

    r = np.arange(0, 3.0, 0.01)
    theta = 2*np.pi*r
    ax.plot(theta, r, color='#ee8d18', lw=3)
    ax.set_rmax(2.0)
    updateThetaAxis(ax)
    updateRAxis(ax)
    grid(True)
    ax.set_title('$\\rho=\\frac{1}{2\\pi}\\theta$',fontsize=20)
    fig.savefig(outputFilename)
    fig.show()

makePlot()

Licensing

I, the copyright holder of this work, hereby publish it under the following license:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

17 March 2013

image/svg+xml

707673988c0371b84a498260d2844d05f856064c

93,021 byte

618 pixel

609 pixel

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current19:17, 18 March 2013Thumbnail for version as of 19:17, 18 March 2013609 × 618 (91 KB)wikimediacommons>AnonMoosmove formula to side, adjust margins

The following page uses this file: