Paso 11: Avanzada notas 1: dibujar objetos definidos por una desigualdad
Básicamente hay dos técnicas diferentes para dibujar objetos definidos matemáticamente con un script de python en Minecraft.
Una forma es definir un objeto sólido por una desigualdad. Por ejemplo, una esfera centrada en (x0, y0, z0) con el radio r puede ser definida por la desigualdad:
(Es decir, la distancia a (x0, y0, z0) es a más r). Así que para dibujar una esfera, a recorrer todos los puntos (x, y, z) en un cubo de la longitud lateral 2 * r + 1 circundantes (x0, y0, z0) y dibujar un bloque si la desigualdad anterior sostiene.
Aprendí esta técnica de la secuencia de comandos de muestra nt7s_sphere.py . Comience con el código de conexión estándar encabezado y init Minecraft:
Luego simplemente hacer:
Esto dibuja una esfera del radio especificado sobre el jugador, y un poco en offset en la dirección z.
Usar la misma técnica, pero con una fórmula más complicada, en mi script de donut.py (sí, esto es más complicado que el método basado en la tortuga):
Mientras que la técnica de desigualdad trabaja mejor para formas sólidas, puede utilizarlo para las formas huecas de dos maneras. Una forma es utilizar las dos desigualdades, por ejemplo en el caso de la esfera uno para asegurarse de que estamos en el radio exterior del centro y otro para asegurarse de que no estamos más cercanas que el radio interior. La otra forma es solo dibujar otro objeto con dimensiones más pequeñas, hechos de aire en el interior el objeto sólido más grande, tanto como en mi script donut.py , inicialmente dibujar una dona de vidrio y luego reemplazar el interior de la misma con agua.