6

私はいくつかの円を描こうとしていますが、残念ながら、それらがいくつかの点と交差することを望んでいました...

library(maptools)
library(plotrix)
xy <- matrix(runif(20, min = -100, max = 100), ncol = 2)
distance <- spDistsN1(xy, xy[1, ])
plot(0,0, xlim = c(-100, 100), ylim = c(-100, 100), type = "n")
points(data.frame(xy))
points(xy[1, 1], xy[1, 2], pch = 16)
draw.circle(xy[1, 1], xy[1, 2], radius = distance)

上記のコードは次のことを行います。

  • 10 個のランダム ポイントを作成し、「アンカー」として機能する 1 つの (最初の) ポイントを選択します。
  • アンカーから他のすべてのポイントまでの距離を計算します。これが私たちの「半径」になります
  • 上で計算した半径の距離を使用して、アンカー ポイントの周りに円を描きます。
  • 円が半径の計算に使用された点と交差しない理由を頭からかいてください。 円は、距離の計算に使用される点と交差しません
4

1 に答える 1

9

これは、楕円や円などを描いているときに時々発生する古い縦横比の問題です。

( edit : または using : see ) を代用MASS::eqscplotすると、問題が解決するようです。plotasp=1?par

于 2011-06-12T15:02:34.257 に答える