User:Andre Castro/python-svg
< User:Andre Castro
Revision as of 15:50, 26 October 2011 by Andrecastro (talk | contribs)
Looking into examples - python + svg [1]
Experimenting with animation through svg and python
svg animation: bars rotating in a wave
<source lang=python> import random print """<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" id="svg3617" version="1.1" inkscape:version="0.48.1 r9760" sodipodi:docname="2figures-ink.svg"> <defs id="defs3619" /> <sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.35" inkscape:cx="416.74161" inkscape:cy="862.85714" inkscape:document-units="px" inkscape:current-layer="layer4" showgrid="false" inkscape:window-width="964" inkscape:window-height="581" inkscape:window-x="58" inkscape:window-y="0" inkscape:window-maximized="1" showborder="false" inkscape:showpageshadow="false" /> <metadata id="metadata3622"> <rdf:RDF> <cc:Work rdf:about=""> <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> <dc:title></dc:title> </cc:Work> </rdf:RDF> </metadata> <g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1">"""
rect = """<rect
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" id="rect3625" width="{0}" height="10" x="{1}" y="{2}" >
<animateTransform attributeName="transform" begin="1" dur="{5}" type="rotate" from="360 {3} {4}" to="0 {3} {4}" repeatCount="indefinite" id="animateTransform8537" /> </rect> """
r=range(40) length = len(r) for x in r:
x_offset=0 overlap = 10 width = 40+overlap list_times = [1, 1+x, length-x, random.randint(1,length)] dur_inc = 1 + x + float(0.5) print rect.format(width, (x_offset +(x * width)), 200, (x_offset +(x * width)), 200, dur_inc )
- how can the rectangles rotate around their center????
print """</g> </svg>""" </python>