Etape 11 : Advanced notes 1: dessiner des objets définis par une inégalité
Il existe essentiellement deux techniques différentes pour dessiner des objets définis mathématiquement avec un script python dans Minecraft.
Une méthode consiste à définir un objet solide par une inégalité. Par exemple, une sphère centrée sur (x0, y0, z0) avec rayon r peut être définie par l’inégalité :
(La distance de (x0, y0, z0) c'est-à-dire au plus r.) Donc pour dessiner une sphère, juste effectuer une boucle sur tous les points (x, y, z) dans un cube de côté de longueur 2 * r + 1 entourant (x0, y0, z0) et dessiner un bloc si l’inégalité ci-dessus.
J’ai appris cette technique de l’exemple de script nt7s_sphere.py . Commencez par le code de connexion de Minecraft en-tête et init standard :
Puis simplement faire :
Cela attire une sphère de rayon spécifié ci-dessus le joueur, et un petit décalage dans la direction z.
J’utilise la même technique, mais avec une formule plus compliquée, dans mon script de donut.py (Oui, c’est plus compliqué que la méthode axée sur les tortues) :
Alors que la technique de l’inégalité fonctionne mieux avec les formes solides, vous pouvez l’utiliser pour les formes creuses de deux façons. Une façon consiste à utiliser deux inégalités, par exemple dans le cas de la sphère un pour s’assurer que nous sommes dans le rayon extérieur du centre et l’autre pour s’assurer que nous ne sommes pas plus près que le rayon intérieur. L’autre façon est juste dessiner un autre objet avec plus petites dimensions établies de l’air à l’intérieur de l’objet plu solide, autant que dans mon script de donut.py , j’ai initialement dessiner un beignet de verre et puis remplacer l’intérieur de celui-ci avec de l’eau.