I’m looking to code a Make2D-like program in Grasshopper that would work like a panorama. The “camera” would be at the origin (0, 0, 0), and everything in view is assessed in it’s polar nature. I have already worked something out from scratch, but it is obviously lacking the important qualities of Make2D, i.e. the ability to recognize hidden lines, the ability to capture tangent edges on curved surfaces, etc. I’m not exactly sure how to go about this.
You won’t be able to duplicate the functionality behind Make2D anytime soon. That command wraps up thousands upon thousands of hours of hard work. The way I see it you have 3 options:
- We can ask @GregArden very nice whether he can add a polar projection to Make2D (but even if he can, it probably won’t happen anytime soon).
- You can deform your geometry from world polar space into isometric space, then use regular Make2D. This will involve custom spacemorphs and a fair amount of maths.
- You can try and make a poor man’s Make2D, perhaps just by scripting a boatload of mesh-ray intersections and approximate an accurate solution to within some tolerance. It’ll be slow, it’ll be inaccurate, but it can probably be done in a C# component or using Visual Studio.
Which of these do you feel like trying?
I’m not sure what projection you are after, but sterographic
https://en.wikipedia.org/wiki/Stereographic_projectionprojection is a
perspective projection and can be set up as an ON_Viewport and used with
I think he’s looking for a ‘natural’ projection, i.e. 6 vanishing points. This usually means that straight lines become hyperbolas. This sort of projection cannot be encoded with a 4x4 transformation matrix.