This is a process for mapping an image to the entire surface of a pumpkin. The process of this instructable builds upon a script outlined in another instructable (link) which projects an image onto a pumpkin's surface, here the projected image becomes distorted as the pumpkin is not a flat object: limiting the ability of the pumpkin to scare.

With the added ability to wrap an image around the whole pumpkin a pumpkin can communicate more than just a scary face: telling a story or creating a scene. The pumpkin can now illuminate a graveyard silhouette onto the side of a building or be situated in an open area, not limiting the pumpkin's position to edges of spaces.

This instructable illustrates the logic of how an image can be wrapped around a pumpkin - 360 degrees of rotation.

Step 1: Pumpkin

As shown how to model in my previous instructable, a pumpkin surface is created by intersecting 8 spheres together with offset origin points

Step 2: Divide Surface Into Points

The way the divide surface component in Grasshopper works is by referencing surfaces, not polysurfaces (breps) so the original 8 spheres need to be referenced to create the pumpkins surface points. The issue is this creates points within the pumpkin essentially so these points need to be removed, so the script in the next steps is only referencing the points on the surface of the pumpkin.

Step 3: Selecting Pumpkin Surface Points

This is done by testing for inclusion, finding all the points within a slightly smaller scaled pumpkin geometry and removing them. This returns a true or false value for all the surface points of the 8 sphere, creating a pattern used to select just the most outer points

Step 4: Reducing Points

This step was to redo the inclusion test but for outer points which fall in the middle region, this was to create a more useable point list for the later remapping of the .jpeg image.

These last two steps are copied and fed with referenced uv coordinates of the original 8 spheres so that there are as many uv coordinates as there are points. This ensures that the mapping is accurate and creates the required input for the .jpeg mapping function

Step 5: Creating Planes for Polygons Oriented to Surface Normals

By calculating the direction between the surface points and the volumetric centre of the pumpkin, frames (or origin points) can be created for the placement of the polygons used to cut the surface of the pumpkin - meaning that the polygon shapes will follow the curvature of the surface

Step 6: Selecting Largest Returned Polygons on Pumpkin Surface

The image sampler calculates the black and white values of the image and returns values which are mapped to the surface of the pumpkin. After performing a test for the largest values, the smaller polygons can be removed from the list to only leave the ones which will cut the surface of the pumpkin - where the black in the referenced .jpeg is

Step 7: Cutting Geometry

Using the line created in a previous step as the direction for extrusion (line between surface points and centre of the pumpkin), the polygons are extruded into solid geometries

Step 8: Cut Pumpkin Surface

These geometries are used to cut the holes in the surface through a surface split component

Step 9: Thickening Pumpkin

The final step is to thicken the pumpkin. This was done by reducing the scale of the pumpkin (duplicating it) and lofting between its edge curves to fill in the gaps. The resulting sets of surfaces (outer pumpkin, inner pumpkin and extrusion surfaces between them) are joined together into a single solid geometry

Step 10: Render

After using multiple referenced .jpeg's to create different patterns on the pumpkins I set up a render to illustrate these.

For this I download the following sketchup model - link

Opened it up in 3ds Max, set up a photometric light (target light), created a ground plane and gave it a grass material, imported my pumpkins, added more lights to illuminate them and rendered the image using iRay.

Thank you for reading my instructable

About This Instructable




More by mcfetridgem:Parametric Pumpkin v2 Parametric Pumpkin 
Add instructable to: