VFPt_dipole_animation_magnetic.gif (220 × 220 pixels, file size: 601 KB, MIME type: image/gif, looped, 50 frames, 2.5 s)
This is a file from the
Wikimedia Commons. Information from its
description page there is shown below. Commons is a freely licensed media file repository. You can help. |
DescriptionVFPt dipole animation magnetic.gif |
English: Dipol fieldlines animation. A transformation from a point-shaped dipol to a finite-size magnetic dipole is shown. |
Date | |
Source | Own work |
Author | Geek3 |
Other versions | |
GIF development InfoField | This plot was created with
VectorFieldPlot. |
Source code InfoField | Python code# paste this code at the end of VectorFieldPlot 3.3
import os
if not os.path.exists('anims'):
os.mkdir('anims')
frames = 50
d = 0.35 # animation amplitude
r = 7.5 # charge radius
# iterate frames
for i in range(frames):
doc = FieldplotDocument('VFPt_dipole_animation_magnetic_{0:0>2}'.format(i),
commons=True, width=220, height=220, unit=100)
a = sin(i*pi/frames) * 0.75 - 0.25 * sin(3.0 * i*pi/frames)
if a == 0.:
# pointlike dipole
field = Field([ 'dipole', {'x':0, 'y':0, 'px':1, 'py':0}] ])
else:
# magnetic dipole
field = Field([ 'ringcurrent', {'x':0, 'y':0, 'phi':0, 'R':d*a, 'I':1}] ])
doc.draw_currents(field, scale=r/14)
if d * a < r / doc.unit:
# draw dipole symbol
symb = doc.draw_object('g', {'id':'dipole_symbol',
'transform':'scale({0},{0})'.format(
sqrt(1.0/doc.unit**2-(d*a/r)**2))})
defs = doc.draw_object('defs', {}, group=symb)
spot = doc.draw_object('radialGradient', {'id':'light_spot',
'cx':'0.65', 'cy':'0.7', 'r':'0.75'}, group=defs)
for col, of in [['#fff', '0'], '#ddd', '0.15'],
'#aaa', '0.7'], '#444', '1']]:
doc.draw_object('stop', {'stop-color':col, 'offset':of}, group=spot)
doc.draw_object('circle', {'cx':'0', 'cy':'0', 'r':str(r),
'style':'fill:url(#light_spot); stroke:#000000; stroke-width:1'}, group=symb)
doc.draw_object('path', {'style':'fill:#000000; stroke:none',
'd':'M -4,1 H 0 V 4 L 5,0 L 0,-4 V -1 H -4 V 1 Z'}, group=symb)
V0 = field.V((0.75, 0.))
n = 20
# iterate fieldlines
for j in range(n):
t = -1.0 + 2.0 * (j + 0.5) / n
y = 0.25 * ((t-1)**-2 - (t+1)**-2) - 0.3*t
dy = (y / abs(y) * d * a) * (1.0 - t**2)
sf = None
if i > 0:
sf = lambda p:-p0], lambda p:p0]]
line = FieldLine(field, 0, y + dy],
directions='both', maxr=1e4, maxn=2e4, stop_funcs=sf)
doc.draw_line(line, linewidth=1.0,
arrows_style={'scale':1.1, 'at_potentials':[-V0, 0, V0],
'condition_func':lambda xy: (fabs(xy0]) < 1e-5 and
fabs(xy1]) > d*a) or fabs(xy0]) > 0.3})
doc.write(filename='anims/' + doc.name)
|
for i in anims/*.svg; do rsvg-convert -w 1760 -h 1760 $i > $(echo $i | sed s/svg/png/) && convert -scale 220x220 $(echo $i | sed s/svg/png/) $(echo $i | sed s/svg/gif/); done gifsicle -d5 -l0 --colors 256 --comment " http://commons.wikimedia.org/wiki/File:VFPt_dipole_animation_magnetic.gif" anims/*.gif > VFPt_dipole_animation_magnetic.gif
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.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 14:41, 29 September 2021 | 220 × 220 (601 KB) | Geek3 | better position of arrows | |
20:16, 2 October 2010 | 220 × 220 (495 KB) | Geek3 | own work |
The following other wikis use this file:
This file contains additional information, probably added from the digital camera or scanner used to create or digitize it.
If the file has been modified from its original state, some details may not fully reflect the modified file.
GIF file comment | http://commons.wikimedia.org/wiki/File:VFPt_dipole_animation_magnetic.gif |
---|