library(ggplot2)
# Cantidad de puntos
<- 2000
n
# Radio del circulo
<- 3
radio
# Muestrear ángulos
<- runif(n, 0, 2 * pi)
theta
# Muestrear distancia al origen
<- radio * sqrt(runif(n, 0, 1))
r
# Convertir coordenadas al plano cartesiano
<- r * cos(theta)
x <- r * sin(theta)
y
# Graficar
<- c(0, 0)
centro <- seq(0, 2 * pi, length.out = 512)
angulos <- centro[1] + radio * cos(angulos)
x_circulo <- centro[2] + radio * sin(angulos)
y_circulo
data.frame(x = x, y = y) |>
ggplot() +
geom_point(aes(x = x, y = y), alpha = 0.5, color = "grey50") +
geom_path(
aes(x = x, y = y),
linewidth = 1.25,
color = "#0984C0",
data = data.frame(x = x_circulo, y = y_circulo)
)
06 - Los puntos uniformes
Se explica como obtener muestras de una distribución uniforme en un círculo. Esto sirve de puntapié inicial para hacer el ejercicio Los puntos uniformes de la Práctica 3.
El programa muestrea los puntos en coordenadas polares. Primero se muestrean los ángulos y luego las distancias al origen. Finalmente se convierten estos puntos al sistema de coordenadas del plano cartesiano y se grafican.