File:Stokes aether drag.svg

Summary

Description
English: Diagram illustrating Stokes' aether drag theory in the sun's rest frame. The aether velocity is shown in black vectors, the earth is shown moving at velocity v, and a light ray is shown being bent from the vertical.
Date
Source pylab, scipy, inkscape, matplotlib
Author BlankAxolotl
SVG development
InfoField
 The source code of this SVG is invalid due to 32 errors.
 This W3C-invalid plot was created with Matplotlib.
Category:Invalid SVG created with Matplotlib code#0031Stokes%20aether%20drag.svg
 This SVG plot draws numbers with the path text method.
Source code
InfoField

Python code

#!/usr/bin/env python2
from pylab import *
from matplotlib import patches, path
class FlowField:
def __init__(self, v, R):
self.v = v
self.R = R
def __call__(self, x,y):
r2 = x**2 + y**2
theta = arctan(y/x)
vr = self.v*(1 - self.R**2/r2)*cos(theta)
vtheta = -self.v*(1 + self.R**2/r2)*sin(theta)
return (vr*cos(theta) - vtheta*sin(theta),
        vr*sin(theta) + vtheta*cos(theta))
R=3
v = -10
vel = FlowField(v, R)
width = 12
span = arange(0,width,1.3) 
span = r_[-span[::-1],span]
X,Y = meshgrid(span,span)
R2 = X**2 + Y**2
U,V = vel(X,Y)
U = U - v
U[R2 < R**2] = nan
V[R2 < R**2] = nan
#make up a trajectory. This is a totally made up trajectory.
dy = -0.001
x,y = 2.5,width
ux, uy = 0, -30000.0
traj = []
for i in range(int(abs(width/dy))):
uxp,uyp = vel(x,y)
ux += uxp-v;    uy += uyp
t = dy/uy
y += uy*t;      x += ux*t
traj.append((x,y))
traj = array(traj)
traj = traj[sum(traj**2,1) > R*R]
raycolor = 'brown'
earthcolor = (0.4,0.4,0.9)
fig = figure(figsize=(3.5,3.5), facecolor='white')
ax = Axes(fig,[0,0,1,1],yticks=[],xticks=[],frame_on=False)
fig.add_axes(ax)
ax.add_patch(patches.FancyArrowPatch(path=path.Path(traj),arrowstyle='-

Licensing

Ahalda at English Wikipedia, the copyright holder of this work, hereby publishes it under the following licenses:
GNU head Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.
Category:License migration redundant#Stokes%20aether%20drag.svgCategory:GFDL#Stokes%20aether%20drag.svg
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
Attribution:
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.
Category:CC-BY-SA-3.0#Stokes%20aether%20drag.svg
You may select the license of your choice.
Category:Self-published work

Original upload log

The original description page was here. All following user names refer to en.wikipedia.
Date/TimeDimensionsUserComment
2013-04-23 21:29315×315× (123644 bytes)Ahalda
2013-04-21 04:36450×450× (197690 bytes)AhaldaUploading a self-made file using [[Wikipedia:File_Upload_Wizard|File Upload Wizard]]
Category:Stellar aberration Category:Vector fields
Category:CC-BY-SA-3.0 Category:GFDL Category:Invalid SVG created with Matplotlib code Category:License migration redundant Category:Self-published work Category:Stellar aberration Category:Vector fields