File:Archimedean spiral polar.svg

页面内容不支持其他语言。
這個文件來自維基共享資源
维基百科,自由的百科全书

原始文件(SVG文件,尺寸为609 × 618像素,文件大小:91 KB)


摘要

描述
Français : Spirale d'Archimède représentée sur un graphe polaire
English: Archimedean spiral represented on a polar graph
日期
来源 自己的作品
作者 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()

许可协议

我,本作品著作权人,特此采用以下许可协议发表本作品:
w:zh:知识共享
署名 相同方式共享
您可以自由地:
  • 共享 – 复制、发行并传播本作品
  • 修改 – 改编作品
惟须遵守下列条件:
  • 署名 – 您必须对作品进行署名,提供授权条款的链接,并说明是否对原始内容进行了更改。您可以用任何合理的方式来署名,但不得以任何方式表明许可人认可您或您的使用。
  • 相同方式共享 – 如果您再混合、转换或者基于本作品进行创作,您必须以与原先许可协议相同或相兼容的许可协议分发您贡献的作品。

说明

添加一行文字以描述该文件所表现的内容

此文件中描述的项目

描繪內容

image/svg+xml

707673988c0371b84a498260d2844d05f856064c

93,021 字节

618 像素

609 像素

文件历史

点击某个日期/时间查看对应时刻的文件。

日期/时间缩⁠略⁠图大小用户备注
当前2013年3月18日 (一) 18:172013年3月18日 (一) 18:17版本的缩略图609 × 618(91 KB)AnonMoosmove formula to side, adjust margins
2013年3月17日 (日) 12:492013年3月17日 (日) 12:49版本的缩略图540 × 540(103 KB)GjacquenotUser created page with UploadWizard

以下页面使用本文件:

全域文件用途

以下其他wiki使用此文件:

元数据