# paste this code at the end of VectorFieldPlot 1.2
doc = FieldplotDocument('VFPt_dipole_point',
commons=True, width=600, height=600)
field = Field({'dipoles':[[0,0,1,0]]})
n = 16
for i in range(n):
phi = 2.*pi * (i + 0.5) / n
a = (-0.5 + (i + 0.5) / n)
a = a * 3.8e-6 + 1.2e-6 * a**3
line = FieldLine(field, [0, 0], start_d=[0.0001, a],
directions='forward', pass_dipoles=0)
doc.draw_line(line, linewidth=2.4,
arrows_style={'dist':1.8, 'scale':1.1})
# draw dipole symbol
symb = doc.draw_object('g', {'id':'dipole_symbol',
'transform':'scale({0},{0})'.format(1.5/doc.unit)})
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':'14',
'style':'fill:url(#light_spot); stroke:#000000; stroke-width:2'},
group=symb)
doc.draw_object('path', {'style':'fill:#000000; stroke:none',
'd':'M -8,2 H 0 V 8 L 10,0 L 0,-8 V -2 H -8 V 2 Z'}, group=symb)
doc.write()