Búsqueda de un interior de localización de un radio de área

Yo desde:

Estoy construyendo un plugin Minecraft.

Básicamente mi límite mundo se fija por el radio de la ubicación de desove, en vez de tener 4 esquinas para determinar la región limitada del mundo.

Así que mi límite mundo es un radio redonda, por ejemplo, de la distancia de 1000 bloques. Ahora quiero colocar una pequeña área de 50x50 ronda de bloques dentro de esa área de 1.000 bloques de radio, así que tengo que encontrar una coordenada aleatoria que será el punto central de la zona alrededor de Voy a hacer.

Pregunta

  1. ¿Cómo obtener una coordenada aleatoria en un área basada radio, ¿hay una ecuación para eso? No puedo hacer spawnX + rand (-1000,1000) y para spawnZ, ya que la zona es redonda.

  2. ¿Cómo puedo estar seguro de que toda la zona redonda quiero poner en encajará en la gran área de radio?

fab:

Para escoger un punto aleatorio en un círculo sería un ángulo aleatorio y un número aleatorio dentro del radio:

random_angle = random(2π)
random_dist = random(radius)
random_x = cos(random_angle) * random_dist
random_y = sin(random_angle) * random_dist

Para garantizar una única área redondas en otra área redonda se calcula la distancia desde el centro de la pequeña y redonda + su radio y mientras que es igual o menor que cuanto más grande es redonda, entonces cabe en.

Para encontrar la distancia es a² + b² = c². Así subsitute que para x e y para obtener:

distance = √(x_diff² + y_diff²)

todo esto asume sus compañeros de ords comienzan en (0, 0) en el centro del círculo mapa. Si no se puede calcular que al añadir la mitad de la anchura y la altura de todos los co-ords.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=231941&siteId=1
Recomendado
Clasificación