RScriptでSVGを生成

初版 2019/08/24 05:58

この回転する色相環はSVGで記述されている。



Art_4.svg

http://etext-music.com/works/svg/Art_4.svg


SVGのソースを見るとわかるんですが、この同じようなオブジェクトの記述を一つ一つ書いていては大変だ。


プログラムでSVGのソースを生成すれば、記述ミスもなく一気に大量のオブジェクトを定義できる。


ということで、RScriptで書いてみた。


[Art_4.r]


hdr='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="background:black">'

til='</svg>'

bdy=c(); idx=0;

x=seq(1,1280,320); y=seq(1,960,320);

for(i in x){

 for(j in y){

   dur=Random(1,60)

   bdy[idx+1]=paste('<image x="',i,'" y="',j,'" width="320" height="320" xlink:href="ring.png">',sep="")

   bdy[idx+2]=paste('<animateTransform attributeName="transform" attributeType="XML" type="rotate" dur="',dur,'s" from="0 ',i+160,',',j+160,'" to="360 ',i+160,',',j+160,'" repeatCount="indefinite" />',sep="")

   bdy[idx+3]="</image>"

   idx=idx+3

 }

}

cat(hdr,bdy,til,sep="\n",file="Art_4.svg")

file.show("Art_4.svg")



#プログラミング

Author
File

mugen

様々なプログラミング言語を使って、音楽を自動作曲しています。

使用している言語

・awk
・COBOL
・JavaScript
・R
・サクラ
・ドリトル
・なでしこ

https://yamazawa.bandcamp.com/

Default