【R】svgchop

1. はじめに

svgchopは、ほぼSVGデータのインタープリターですが、線をいくつかのセグメントに分割してカクカクした絵にします。

2. インストール

Githubからインストールします。

remotes::install_github("brodieG/svgchop")

3. つかってみる。

まずは、Rのロゴを表示してみます。

library(svgchop)
svg <- chop(R_logo(), steps=3)

ext <- attr(svg, "extents")
plot.new()
plot.window(ext$x, rev(ext$y), asp=1)

xy <- get_xy_coords(svg)
fills <- get_fills(svg)
polypath(xy[[1]], col=fills[[1]], border=NA)
polypath(xy[[2]], col=fills[[2]], border=NA)

自前で用意した次の図(drawing.svg)を表示させてみます。

使ったコードはこちら。

svg <- chop("drawing.svg", steps=4)

ext <- attr(svg, "extents")
plot.new()
plot.window(ext$x, rev(ext$y), asp=1)

xy <- get_xy_coords(svg)
fills <- get_fills(svg)
polypath(xy[[1]], col=fills[[1]], border=NA)
polypath(xy[[2]], col=fills[[2]], border=NA)
polypath(xy[[3]], col=fills[[3]], border=NA)




4. さいごに

作者は、このパッケージを作った目的として、Rのロゴをrayshaderで3D表示するためにポリゴンデータが必要だったから。とのことです。確かに、それ以外の使い道が思い浮かばない。。。

Add a Comment

メールアドレスが公開されることはありません。