Manuel de génération WorldEdit
Je cherche un exemple sur la façon de construire des formes 3D arbitraires, des formules aux scripts. SK donne un exemple de formule pour un anneau pavé, comme indiqué ci-dessous.
//g stone (0.75-sqrt(x^2+y^2))^2+z^2 < 0.25^2
La formule mathématique du volume d’un anneau est:
Ce que j’ai besoin de voir, c’est un exemple simple, comme un triangle ou un trapèze, qui peut me faire utiliser mon cerveau. Si vous suivez la formule mathématique, vous pouvez créer n’importe quelle forme. SK fournit même la syntaxe de commande.
Ce serait formidable si quelqu’un pouvait me montrer des formules de forme décomposées dans le bon format.
En fait, j’ai publié deux fois: Comment passer d’un format de formule mathématique à un autre? -mathématiques
La “formule mathématique” que vous avez mentionnée donne le volume Objet mais n’a rien dit façonner, C’est ce dont vous avez besoin.
Je n’ai pas utilisé WorldEdit, mais à partir de l’exemple de formule et du document Wiki, la formule est Expression booléenne évaluée sur chaque bloc dans la zone concernée. La question à laquelle la formule doit répondre est, pour chaque bloc à une certaine position (x, y, z), le bloc fait-il partie de l’objet que vous souhaitez créer?
Pour utiliser cette fonctionnalité, vous devez Inégalité Définissez la forme.Par exemple, une sphère avec un rayon de 5 a une inégalité r <= 5
, Mais WorldEdit vous donne x, y, z au lieu de r, vous devez donc utiliser la formule de distance euclidienne pour calculer vous-même le rayon: sqrt(x^2+y^2+z^2) <= 5
Ou équivalent x^2+y^2+z^2 <= 5^2
.
La formule du tore qu’ils ont donnée fonctionne en calculant la distance du plan xy du cercle 0.75-sqrt(x^2+y^2)
Puis carré z^2
Pour obtenir la distance 3D du cercle, comparez-la avec le rayon requis. (Tout cela peut être considéré comme une application du théorème de Pythagore – les deux axes de coordonnées sont les côtés adjacents et opposés d’un triangle rectangle, et la distance est l’hypoténuse – mais l’utilisation efficace des coordonnées cylindriques peut compliquer l’exemple du tore.)
Il y a vraiment trop à dire sur la façon de résoudre un seul problème.Vous devez trouver votre propre source d’informations mathématiques, mais le sujet pertinent est Géométrie algébrique.Tu pourrais encore être Géométrie solide construite (CSG) Utile, mais de nombreuses discussions se sont concentrées sur les opérations booléennes (qui peuvent être nécessaires pour des formes plus complexes), plutôt que sur la définition des inégalités pour les formes individuelles.
Cependant, vous avez posé des questions sur la création de triangles. Le triangle est une forme bidimensionnelle, je vais donc vous montrer un prisme (triangle extrudé).Ces formes ont Seul le côté plat Il peut être défini de manière simple: pensez à ramasser une quantité illimitée de pierres, à les couper en fines tranches le long d’un certain plan, puis à en jeter la moitié.Chaque avion de ce type est Équation linéaire (Plus précisément, inégalités linéaires), on peut écrire une somme logique:
x > -5 && x < 5 && y > -5 && z > -5 && x + y <= 0
Cela créera un objet 10 × 10 × 10 qui ressemble à un triangle rectangle dans le plan yz. Les deux premières parties ont un certain degré de restriction dans la direction x (WorldEdit peut avoir certaines restrictions à ce sujet), les deux dernières parties sont les côtés droits du triangle et la cinquième partie est le côté incliné.
L’inégalité linéaire générale est la suivante
a*x + b*y + c*z <= d
Où a, b, c et d sont des nombres que vous choisissez. Avec cet outil, vous pouvez définir n’importe quel avion de votre choix, mais un peu de recherche est nécessaire pour comprendre comment procéder. Veuillez noter que si certains de a, b, c, d sont mis à zéro, chaque condition de la formule ci-dessus a cette forme; par exemple, la cinquième condition a a = 0, b = 1, c = 1, D = 0 .
“Comment écrire une inégalité pour cette entité?” La question du formulaire peut être un sujet sur le Mathematics Stack Exchange, mais je vous suggère de vérifier d’abord les références disponibles.
Une chose à noter est que la formule pour un objet tridimensionnel est généralement donnée comme équation Défini surface Shape, et vous voulez qu’une inégalité définisse l’intérieur. Cependant, compte tenu de la surface, il est possible d’obtenir l’intérieur. Par exemple, Wikipédia dit:
L’équation implicite de symétrie radiale autour de l’axe z en coordonnées cartésiennes est
Cette formule est la même que l’exemple de WorldEdit, sauf qu’elle a = r^2
plutôt < r^2
; Essayez simplement d’apporter des modifications similaires aux équations trouvées. (Si vous ne comprenez pas le sens de l’inégalité, convertissez tout en mais Votre forme devient de la pierre; j’espère que WorldEdit pourra la défaire. )
Origines: gaming.stackexchange.com