Att göra en tusenfoting fossil. (2 / 7 steg)
Steg 2: Konstruera armen.
Principen bakom armen är ganska enkel. Jag vill kunna definiera antalet segment på en arm och ha möjlighet att rotera varje segment separat.
* Skapa ett antal noder och en rad nod. Skicka tal1 till slutet port av range1.
* Skapa en omvänd nod för att vända spänna. Skicka range1 till reverse1.
* Skapa en rect nod. Skicka reverse1 till bredd och höjd port av rect1.
* Skapa en justera nod för att justera varje rektangel till botten av origopunkten. Ange nederkant till botten.
Att göra i stacken.
NodeBox gjort en hel del former ovanpå varandra så nästa steg är att skapa en lista med punkter som varje rektangel placeras på. Noden omvänd ser till att den första rect är den största och den sista den minsta. Jag vill stapla dem som en hög så jag kommer att göra summan av alla föregående element för att beräkna positionen för ett element.
* Skapa en slice nod. Anslut reverse1 till det är listan port.
* Skapa en summa nod. Ansluta slice1 till den.
Markera båda noderna och gör ett undernätverk ur dem. Kalla det något som löpande summor eller ackumulation. Gå tillbaka i nätverket och publicera storlek porten av slice1. Återge sum1 och gå tillbaka till nätverkets rot.
* Anslut range1 till publicerade storlek porten av ackumulation.
Detta returnerar löpande summorna som vi kan använda för att skapa en uppsättning punkter.
* Skapa en negate nod och skicka ackumulering till den.
* Skapa en peka nod och Anslut negate1 till Y.
Detta returnerar en lista med punkter kommer uppåt och att komma närmare varandra nära slutet.
* Skapa en Översätt nod. Ansluta align1 till form och göra point1 att översätta.
Nu bör du se högen av rektanglar. Observera att det finns inget utrymme mellan dem.
Transformationer.
Låt oss lägga några noder så att vi kan rotera varje segment lite och rotera, översätta detta nya objekt som helhet.
* Skapa en rotera nod och Anslut translate1 till den.
* Skapa en multiplicera nod. Anslut range1 till värde1. Anslut multiply1 till rotate1.
Detta roterar varje segment lite. Ändra andra värdet för multiply1 att se skillnaden. Negativa tal återgå en rotation till den vänstra, positiv en rotation till höger.
* Skapa en annan rotera nod för att rotera hela objektet. Anslut rotate1 till formen.
* Skapa en Översätt nod. Anslut rotate2 till formen.
* Skapa en gruppnod och skicka translate2 till det.
Noden arm.
* Välj alla noder och skapa ett undernätverk från dem. Kalla det arm.
Gå tillbaka i arm-nätverket och publicera:
* värdet av tal1. Kalla det segment
* Översätt av translate2. Kalla det läge
* värde2 av multiply1. Kalla det segmentet rotation
* rotate2 vinkel. Kalla det vinkel.
Gå tillbaka till nätverkets rot.
Är en skärmdump av ackumulering nätverk och arm överst i det här steget.