Grasshopper

algorithmic modeling for Rhino

Hey all,
I'm working on a definition that uses Galapagos to optimize the solar shading from a distribution of projected modules on a surface. (See original post) The problem I'm having is that when these modules meet they share a single edge and this lets rays through the mesh when I use occlusion.






I've tried to scale the modules very slightly to create overlap. This solves the corner problem, but creates another. The obstructing mesh (red) then overlaps the tested mesh verticies along the previous (non scaled) edge on the surface below creating complete occlusion for those mesh faces.

Thanks!

Views: 854

Replies to This Discussion

So how would I replicate this on the attached file?

--
David Rutten
david@mcneel.com
Seattle, WA
Attachments:
Hey David,

The corners look good, but there is a problem with your definition.

The mesh lines and the surface subdivision lines do not line up. This causes the obstructing geometry to arbitrarily overlap some mesh points and "cast" shadows up even though the rays are coming down. I think it is better to dispatch the subdivided surfaces into two entirely separate meshes.

I've tried to do that in the definition attached, but it creates some odd results. With Exposure the corner conditions are not leaky (or less leaky). However there are still nonsensical up-cast shadows. If you switch to Occlusion (boolean toggle) the shadows correct, but the corners leak.
Attachments:
Ah I see. When I shoot rays for the Occlusion and Exposure components, I offset the start of the ray along the ray direction (the size of the offset equals the current document absolute tolerance). Not doing so results in objects casting shadows onto themselves.

When the point you're sampling is exactly at a mesh vertex, you'd expect it to be shaded, but it just manages to shake itself loose.

Basically, when you're sampling exactly at threshold conditions, you'll always have problems with binary noise. Either you'll get a few false positives or a few false negatives. Pushing the ray bias simply changes the ratio of these false results, but it won't get rid of them.

I don't have a solution for you, except maybe to handle coincident vertices specially using custom code.

--
David Rutten
david@mcneel.com
Seattle, WA
hmmm...if I could somehow "contract" the sampled mesh slightly a la Photoshop's contract selection tool. Something like all mesh points at a boundary move a very small distance towards the center of the mesh face they compose.... Is there an easy way to identify the mesh points at an 'open' edge? That would eliminate coincidence, i think.

I really appreciate the feedback!

RSS

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service