裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

ダメ出し:計算の無駄,プログラムの無駄をなくする

2012年01月31日 | 裏 RjpWiki

CX's 'reality distortion' pie-graph (フジTV のステマ円グラフ)

元のプログラムは,無駄なことをしているので,プログラムが長く煩雑で,何をやっているのかわかりにくくなっている。

for (i in 1:length(num)) {
  x <- c(0.5 + dx, 0.5 + 0.5 * sin(rad[i]), 0.5 + 0.5 * sin(seq(rad[i], rad[i+1], length.out=div)), 0.5 + 0.5 * sin(rad[i+1]))
  y <- c(0.5 + dy, 0.5 + 0.5 * cos(rad[i]), 0.5 + 0.5 * cos(seq(rad[i], rad[i+1], length.out=div)), 0.5 + 0.5 * cos(rad[i+1]))
  grid.polygon(x=x, y=y, gp=gpar(fill=colors[i]))
  grid.text(引数省略)
}

grid.polygon を描くところは,以下のようにすればよい。
0.5 * sin(rad[i]),0.5 * sin(rad[i+1]) などを付け加える必要はない。
theta も一度計算しておけばよい。

for (i in 1:length(num)) {
  theta <- seq(rad[i], rad[i+1], length.out = div)
  x <- c(dx, 0.5 * sin(theta))
  y <- c(dy, 0.5 * cos(theta))
  grid.polygon(x = 0.5 + x, y = 0.5 + y, gp = gpar(fill = colors[i]))
  grid.text(引数省略)
}

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ダメ出し:Project Euler in ... | トップ | 基本を勉強しよう »
最新の画像もっと見る

コメントを投稿

裏 RjpWiki」カテゴリの最新記事