Categorieën
Grasshopper / Rhino3D Parametrisch Ontwerp

Image tracer met patroon opties

Een geanimeerde versie van de geëxporteerde lijntekeningen. Hierboven is een geanimeerde versie van de verschillende resultaten te zien. Linksboven is het origineel te zien. A is het grid van punten dat gemeten wordt, dit is dichter of minder dicht in te stellen. B is de outline variant, D & E zijn te kolommen en rijen, C is alles gecombineerd.

De stappen:

  • De afbeelding wordt verdeelt in in punten waar de brightness wordt gemeten.
  • Daarna zijn er 3 opties in het script: horizontale rijen gemaakt uit cirkels, vertical rijen gemaakt uit cirkels, of een verdere verwekring naar de outline van de getracede vorm.

De rijen en kolommen zijn alle punten met een brightness boven een bepaalde grenswaarde. Deze worden gecombineerd per strook.

Door de hoeveelheid relaties met andere punten te onderzoeken (de ‘proximity’ van andere punten) is de rand van een puntencollectie te vinden.

De outline gaat wat verder en kijkt naar de relatie met punten om zich heen. Als een punt namelijk minder dan 8 punten om zich heen heeft gaat het in dit grid om een punt die zich op een rand bevind. Deze punten worden behouden. Daarna vind een analyse plaats waarin de punten dichtbij elkaar worden gesorteerd en tot polyline worden gemaakt. De punten hebben namelijk op zich geen relatie met elkaar, ze zijn enkel ingedeeld zoals het oorspronkelijke grid is opgezet. Door de lijst vlak te maken en te kijken naar de 2 dichtstbijzijnde buren per punt ontstaan er wel relaties tussen de punten en kan een outline worden gemaakt.

Categorieën
Grasshopper / Rhino3D

Grasshopper spel: DragRace met Firebase

Het concept van live data uitwisseling via het web, in combinatie met geometrisch toepassingen zoals in Rhino biedt zeer veel mogelijkheden.

DragRace is een eenvoudig test met de plugin FireHopper. De plugin is al enige tijd niet in ontwikkeling maar nog altijd relevant en werkzaam met de huidige API van Firebase. Een (tot op zekere hoogte) gratis database systeem van Google.

Middels de API calls die mogelijk worden vanuit grasshopper dankzij de FireHopper plugin kan live data worden uitgewisseld in het JSON formaat.

Dit gedeelte is verwerkt in het script dat te downloaden is onderaan deze pagina. Het is in een cluster met wachtwoord geplaatst om de API key te beschermen. Je kunt uiteraard je eigen API plaatsen in dit deel van het script in de blank slate versie onderaan.

In the Firebase database is de date dan als volgt uit te lezen:

Het DragRace spel

In deze video (in het Engels) ligt Friso één en ander toe over deze opzet:

Een spel bevat enkele belangrijke elementen:

  • Een duidelijk doel
  • Verschillende moeilijkheidsgraden
  • Een competitie element

Al deze onderdelen zijn op eenvoudige wijze ingebouwd als wijze van oefening.

  • Het is mogelijk om zelf het aantal te behalen punten te kiezen en je naam in te stellen. (Step 2 in onderstaande afbeelding)
  • Het doel is het puntenaantal zo snel mogelijk te halen door de slider heen en weer te bewegen. (Step 3)
  • Zodra de waarde is behaald wordt het opgeslagen in de database in firebase.
  • Als laatste is de score te zien van jezelf en van anderen in de database. Dat is competitie element. (Step 4)
Linksboven is het spel te resetten door op de X te klikken voor een nieuwe kans.

Proof of concept

Het spel is uiteraard niet toegankelijk voor de gemiddelde gebruiker maar moet gezien worden als een oefening met het uitwisselen van data via het internet tussen verschillende spelers. In een groter project kan dit bijvoorbeeld uitwisseling van geometrische data zijn.

Download en spelen!

Download hier het script om zelf uit te proberen hoe het werkt.

Hier is een versie zonder api en database gevens om zelf je eigen database toe te voegen:

Categorieën
Computational design Grasshopper / Rhino3D Parametrisch Ontwerp

Automatisch snijvormen bootkappen

Zeilmakerij Houtkoop benaderde StudioFG met de vraag of bepaalde snijvormen vanuit zijn tekening automatisch gegenereerd konden worden om zo tekenwerk te besparen.

Houtkoop maakt onder andere bootkappen, welk middels een 3D scanner worden opgemeten. Aan de hand van enkele punten van de 3D scan worden tekeningen gemaakt die weer door een snijmachine worden uitgesneden. Voor overlappende delen, flappen voor ritsen en andere onderdelen moeten bepaalde vormen worden gegenereerd vanuit deze panelen.

Script in gebruik om zoomen te genereren.
Script in gebruik om zoomen te genereren.

Middels bovenstaande script kan de ontwerper van de kap bepaalde lijnen in lagen onderverdelen. Deze worden automatisch ingeladen en omgezet tot bijvoorbeeld zoomen t.b.v. de kap.

Een tweede onderdeel was het oplossen van de oriëntatie van alle panelen die uit de 3D scan kwamen. Sommige panelen hadden een hoofdrichting naar binnen, terwijl andere een ‘normal’ naar buiten hadden. Hiervoor is een script ontwikkeld dat alle vlakken analyseert en universeel qua richting maakt.

In een looptijd van ca. 2 weken is het project voltooid. Meer dan een jaar later zijn de scripts nog steeds in gebruik en werken succesvol op alle tekeningen waar het op is toegepast. Ongeacht of het gaat om polylines of nurbs curves.

Categorieën
Computational design Grasshopper / Rhino3D Onderwijs Parametrisch Ontwerp

Computational parametrisch paviljoen met de TU Delft

Met veel plezier weer het vak Technoledge gedoceert waarin we samen met master studenten van TU Delft and PWR Wroclaw een paviljoen realiseren van ontwerp tot aan realisatie in 7 weken. De basis voor de productie vormt de parametrisch aanstuurbare flexmould.