1 / 10

Stabby Things

Because our world is a little too benign…. Stabby Things. Goals. Concept – make everyday objects unsafe for children. There is quite a magnitude of ways to do this, but for this project we are limiting to sharp objects . Step 1 –

velma
Télécharger la présentation

Stabby Things

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Because our world is a little too benign… Stabby Things

  2. Goals Concept – make everyday objects unsafe for children. There is quite a magnitude of ways to do this, but for this project we are limiting to sharp objects. Step 1 – - Find a surface of a commonplace object, be it a glass of water, a light bulb, or a coat hanger. - Develop said surface in rhino with surface generating tools, work the surface you want to be sharp into a single surface with its normal facing the desired spiky direction. - Run the python code on said surface , making it dangerous to the common hand. - Mess with the newly output object until it is safe for printing… then make it so.

  3. Noise • Using Perlin noise to determine the length of each spike the surface will wind up with non uniform sharpness, perfect for a blunting weapon, or if you are in the mood for something less symmetric. • Modifying the frequency and amplitude of the noise the changes can be more or less dramatic and consistent.

  4. Alrogithms • Also, using the basic concepts of an L-system, the spikes self replicate along their faces, allowing for ‘barbed’ spikes here and there, setting a the minimum size of spike required to self replicate ensures that they don’t all just turn into fuzzy tree things. • Remember, if you get stabbed on something barbed, it is much harder to pull it out.

  5. Code Breakdown Given values for spike base resolution, spike surface size, spike width, Uresolution, Vresolution, and the smallest size of spike that can self replicate Find a surface: divide the surface into points based on UV resolution generate a height value with perlin noise for each point. using the point, its normal, and the height value, form a spike Form Spike(Origin, Normal, Height) Project the normal to an end point based on the spike height value based on the origin and normal, find the cross product. first point is the cross product multiplied by spike width second point is the same thing, only rotated by PI / 3 third is same except rotated by 2PI / 3 find each of these points’ closest point on the surface and use the points found as new points lerp from 3 base points to the end point, creating surfaces to the point if spike is bigger than minimum spike size: Form another spike() else Close down shop and move on Output spiky surface when done.

  6. The Process • Most of the time was spent figuring out a number of different rhino script functions. • Using a surface in this manner is probably not the ideal way to achieve my goal, and brings about as many problems as it does solutions. • Once the surface is read in it needs to be parameterized and manipulated over and over before the data I desire is made available. • For every spike there was initially going to be a hole cut in the surface. Originally this would not have been a problem, by procedurally generating the points and waiting until spike generation time it would have been simple to just leave holes where they were and the connections would have been at each point, which to my understanding would be ideal. • The finished object does however still satisfy the basic concept.

  7. base_resolution = 2 spike_length= 2spike_width = 0.5 min_spike=3numU = 20 numV= 20

  8. base_resolution = 2 spike_length= 0.6spike_width = 0.2 min_spike= 3numU = 80 numV= 5

  9. base_resolution = 3 spike_length= 0.4spike_width= 0.2 min_spike= 4 numU= 15 numV= 15

  10. In the end… • It was an interesting foray into Rhino and Python, to say the least. The brunt of things learned could be summed up to rhino script, its naming, its quirks, and its many alien functions. • I found Python, as a language, relatively hard to organize and manage, if for no greater reason than the lack of bracketing. • A few things I would have liked to have done: • Use reflective/refractive materials in milling • Fully shell each object, spikes and all • Punched a hole through something, ridden a dragon, etc…

More Related