Python coding for Minecraft (7 / 17 paso)

Paso 7: Avanzada basada en tortuga dibujo

Usando los métodos left(), right(), up() y down() para la tortuga es fácil. Pero para algunos dibujos necesitamos control 3D más sofisticado. Por ejemplo, puede dibujar una dona inclinada 45 grados para arriba. Es tentador tomar el guión de donut de cristal del paso anterior, y agregar antes del bucle:

Pero que produce un resultado inesperado--consulte la imagen. La razón de esto es que la tortuga va subiendo para arriba todo el tiempo, mientras que el método de d.left() la gira alrededor del eje vertical, y así se obtiene una espiral.

En cambio, lo que tenemos que hacer es rotatins de rodillo de desvío de la echada de la tortuga. Ver la imagen de la NASA (obras de gobierno de los Estados Unidos son de dominio público) explicando cómo los tres ángulos de ir y solo imaginan que el avión es tu tortuga. (Desafortunadamente, debido a limitaciones de Minecraft, el ángulo del rodillo no afecta la apariencia de la tortuga o el punto de vista de que estás viendo.) Lo que tenemos que hacer para sacar nuestro lado donut es rodar primero nuestra tortuga de 45 grados con t.roll(45), y cuando dibujo el donut Utilice t.yaw(-angle) en lugar de t.left(angle). El código revisado está en la captura de pantalla.

Cuál es agradable sobre las rotaciones de desvío/pitch/roll son que siempre son en relación a dónde está apuntando la tortuga, mientras left() y right() están en relación con el mundo de Minecraft.

Finalmente, aquí está un ejemplo mucho más avanzado. Vamos a dibujar un árbol. Esto consiste en hacer una función recursiva. Empezar con esto para que el dibujo se realiza tan rápido como sea posible

Ahora hacemos nuestra función recursiva de árbol. La idea básica detrás de esto es que una rama es sólo un árbol más pequeño. Así que hacemos una función que toma un contador y una longitud de rama. El contador especifica cuántas iteraciones irá el árbol. Por ejemplo, contador = 1 significa que se sorteará solo el tronco, y contador = 1 significa que se sorteará el tronco y un sistema de ramas.

En primer lugar, el código comprueba si ha agotado nuestro contador a cero. Si es así, no tenemos nada para dibujar. Luego dibujamos un tronco. Luego dibujamos cuatro ramas sobresale con un bucle simple. Para diseñar este poco de código, solo imagino yo como la tortuga, sólo después de haber subido a lo largo del tronco. Para dibujar una rama, incline mi auto hacia arriba de 30 grados (es decir, t.pitch(30)) y dibujar un árbol de tamaño más pequeño: su contador es menos por uno, y su tronco 3/4 de la longitud de mi tronco actual. Creo que la inclinación me hacia abajo de 30 grados. Yo me gire 90 grados y repetir el ejercicio. Por último, una vez que he terminado con las ramas, vuelvo abajo del tronco.

Por último, sólo hay que invocar a este código. Voy a hacer un árbol con un contador de 6 y una longitud de la rama inicial de 20. Y de yapa, I'l hacerla de madera y luego verticalmente hacia arriba:

Este árbol fractal no se ve muy realista. Debemos hacer el tronco grueso y las ramas consigue el deluente y el deluente como van hacia el exterior (digo, haz la mitad de espesor, hasta llegar a un solo bloque), y debemos cambiar de madera a bloques de hojas como salimos. Pero sobre todo, los árboles no son que regular. Necesitamos cierta aleatoriedad. La forma más simple de aleatoriedad es solo para darle a cada rama una oportunidad de no crecer, digamos un 20% de probabilidad. Implementé todos estos en mi script de fancytree.py. El árbol resultante se ve sorprendentemente realista de algo producido por un relativamente simple pedazo de código. Un efecto secundario curioso de cómo he implementado es que hay un 20% de probabilidades de que nada se dibujarán--es decir, el árbol tiene la oportunidad de no crecer, que también es realista. Y cada vez que ejecute el script, algo diferente.

Otra característica útil de la clase de dibujo de tortuga es ser capaz de establecer no sólo las líneas sino las superficies poligonales. Para hacer esto, solo lo t.startface(), dibujar su superficie y luego hacer t.endface(). Una vez que estás en modo cara, cada vez que usted dibuja una línea, el código realmente dibuja un triángulo: un vértice es el punto de la tortuga era cuando se llamaba t.startface() y la línea es el borde opuesto. Esto dibuja un Pentágono inclinado en su lado por 45 grados:

			

          

Artículos Relacionados

Codificación del Python para Android Minecraft PE

Codificación del Python para Android Minecraft PE

La versión de Minecraft de frambuesa PI permite script en Python, haciendo diseños fractales, dibujos, gráficos de tortuga, juegos simples, etc.. Lo mismo se puede hacer en una versión de escritorio con mi Mod de mermelada de frambuesa (aquí está mi
Minecraft mundo real

Minecraft mundo real

Todo saber Minecraft es un juego impresionante y Raspberry Pi ha hecho más impresionante. Con la API de Minecraft ahora podemos escribir secuencias de comandos de python simple interfaz leer mundo sensores y botones para el mundo de Minecraft.Paso 1:
Radio por Internet con frasco frambuesa Pi

Radio por Internet con frasco frambuesa Pi

El propósito de este tutorial es mostrar cómo construir una radio que puede transmitir audio desde internet utilizando una interfaz web sencilla para operarla. Necesitamos lo siguiente:Frambuesa PiAlgunos oradores puede conectar a su frambuesa PiMatr
Automatizado de invernadero

Automatizado de invernadero

Decidimos diseñar un invernadero como tema para nuestro proyecto de electrónica. El objetivo era regular la temperatura dentro del invernadero gracias a una lámpara, un servomotor para abrir una ventana y un ventilador de PC. Hemos querido mantener u
Indicador de vuelta de la bicicleta de la cubierta de la mochila

Indicador de vuelta de la bicicleta de la cubierta de la mochila

Este proyecto fue creado durante el Sprint diseño CCA rueda bien encaminado a hacer ciclistas más accesibles a los vehículos en la carretera. Utilicé un material que ya tenía que era un protector de lluvia mochila. El post completo en el proyecto se
Frambuesa Pi y un poco sobre él

Frambuesa Pi y un poco sobre él

En este instructable voy a explicar qué una frambuesa pi es y un poco sobre él. Qué proyectos le pueden hacer también en él.Paso 1: ¿Qué es un Pi de frambuesa?El Raspberry Pi es un bajo costo, tarjeta de crédito tamaño de equipo que se conecta a un T
Cómo descargar e instalar Mods en Minecraft (for Dummies)

Cómo descargar e instalar Mods en Minecraft (for Dummies)

Esta es una manera super fácil descargar e instalar mods para Minecraft PCPaso 1: Fragua descargarVer "fragua de la descarga" en la búsqueda de google y haga clic en el primer linkHabrá una pantalla con un montón de enlaces diciendo que la versi
Espita de Minecraft Server creación Mod

Espita de Minecraft Server creación Mod

Servidores de Minecraft son impresionantes. Permiten crear a amigos en todo el mundo, hablar con la gente y ensuciar con todas la espita de comandos y todos los plugins que están disponibles para él. Si le gustaría ayudar a expandir los plugins dispo
Star Wars y Star Trek en Minecraft con frambuesa mermelada Mod

Star Wars y Star Trek en Minecraft con frambuesa mermelada Mod

Voy a explicar cómo hacer (a) fácilmente Star Wars y Star Trek (y otros) 3D modelos en Minecraft y (b) volar una nave espacial en Minecraft (¡ o incluso con otra entidad, como un murciélago o un zombi, volar!), usando los scripts de python muestra in
¿Hacer un peluche de Wither de Minecraft

¿Hacer un peluche de Wither de Minecraft

es este suerte poco cumpleaños niño/Minecraft freak sosteniendo primer Wither peluche el mundo? Aunque altamente improbable, es posible... ¿Quieres saber qué es posible? La habilidad de crear uno de su propio. En este Instructable te arte ayudará a m
Programación Python: Parte 1 - conceptos básicos

Programación Python: Parte 1 - conceptos básicos

Python es un lenguaje de programación ampliamente utilizado de uso general, alto nivel. Su filosofía de diseño enfatiza la legibilidad del código, y su sintaxis permite a los programadores expresar conceptos en pocas líneas de código que sería posibl
Python programación P:3

Python programación P:3

Hola y,Bienvenido a,Python,Programación,P:3!Por lo tanto,Vamos a obtener,Directamente a él.Paso 1: entrada The command for,Una entrada es,"___ = input("___")".Hoy en día,El comando,Se va a utilizar,Es,"ans = input (" Introduz
Movimiento Controled Minecraft usando MPU 6050 y frambuesa Pi

Movimiento Controled Minecraft usando MPU 6050 y frambuesa Pi

En este Instructable, yo a demostrar cómo controlar el Minecraft en la Raspberry Pi utilizando un controlador de movimiento MPU 6050. Vamos a usar la API de python-minecraft presente por defecto en el OS Raspbian.Paso 1: Mira este video para tener un
Huevos de Pascua gigante en Minecraft

Huevos de Pascua gigante en Minecraft

Mañana de Pascua decidí generar unos huevos gigantes de Pascua en Minecraft con un script de python. Usé mi Mod de mermelada de frambuesa que permite la API de Minecraft de frambuesa PI en escritorio de Minecraft. (También puede usar el script en un