RScriptでSVGを生成
初版 2019/08/24 05:58
この回転する色相環はSVGで記述されている。
![](https://muuseo-jp.s3-ap-northeast-1.amazonaws.com/uploads/1566593779420-mvg6lobwbbj-507dbe11633aed6f31bb39d22f47416e/ring01.jpg)
Art_4.svg
![](http://muuseo.com/diary_ogp_icon.jpg)
http://etext-music.com/works/svg/Art_4.svg
![](https://muuseo-jp.s3-ap-northeast-1.amazonaws.com/uploads/1566593067732-g4l8uvizlig-507dbe11633aed6f31bb39d22f47416e/ring02.jpg)
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")
#プログラミング
![File](https://d17x1wu3749i2y.cloudfront.net/2019/08/01/18/45/52/659413ae-4e5b-45a3-99ba-7831945efb12/file.jpg)
mugen
様々なプログラミング言語を使って、音楽を自動作曲しています。
使用している言語
・awk
・COBOL
・JavaScript
・R
・サクラ
・ドリトル
・なでしこ
https://yamazawa.bandcamp.com/
17人がフォロー中
-
Visits
101,008
-
Items
1,157
-
Lab Logs
100
-
Likes
776
Since August 2019
![Default](https://d3caz7hhiepl95.cloudfront.net/assets/user/default-6344dcd9594efe2c770024a51c383175.png)