本文参考自 R 语言求圆周率:基于蒙特卡洛方法。主要区别是代码用 base R 实现。 我们先画一个示例图,如下图所示。图中包含一个半径为 1 的单位圆,外接一个正方形。

图形参数设置 opar = par(no.readonly = TRUE) on.exit(par(opar), add = TRUE) par(pty = "s") # 保持 1:1 比例 # 绘制单位圆 theta = seq(0, 2 * pi, length.out = 100) plot( x = cos(theta), y = sin(theta), col = "red", lwd = 2, type = "l", bty = "n", xlab = "", ylab = "", ) # 绘制外接正方形 rect( xleft = -1, ybottom = -1, xright = 1, ytop = 1, border = "blue", lwd = 2 ) # …