-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Determine method to efficiently draw irregular geometries #5
Comments
@Abantech/core Three.js Convex Geometry: |
Thanks! So if you want a geometry to act like "clay" as a reaction to the On Fri, Sep 23, 2016 at 3:40 AM Theo Armour notifications@github.com
|
How about we keep geometry creation/editing/vertices and user interface/'hand' separate for the moment? Probably more practical to discuss the former to begin with. Let's call the thing that initiates changes in geometry the 'wand' or the 'marker', what might some of the basic rules be?
OK. let's imagine Boolean ( initial cap please) operations are not processor intensive. Then what? |
I talked to Chris W about this at length - there are multiple ways to
Then we can use other geometries to perform the modifications that we want On Tue, Sep 27, 2016 at 3:18 AM Theo Armour notifications@github.com
|
There are already at least a dozen topics of interest here. And the dialog looks like being able to ad even more topics with each message. Such a dialog is:
We must design a more effective and productive way of using GitHub, Git and their APIs. A way that facilitates the design of killer apps
Or we are really, really careful about identifying all the aspects in that column in the right of the issues pages Boy, did I go off-topic on this one. ;-) But Unless we design our design process the design won't be a success. |
@theo-armour Nonetheless, I feel we really need to stay on topic. My suggestion: if you have answers/ideas to my previous post, then please indicate them as appropriate. If it warrants the creation of another issue then (at least for now) - how about we simply indicate that we will tackle that in another issue reference it as a link to it from there. That way we might even be able to use Githb API to crawl through our issues and draw up an idea map. I think that's a good simple start. But to get there we must all make efforts to be vigilant about staying on topic and create references where necessary. Now, so I can get back to coding, do you have any questions or ideas directly relevant to the question posed in my original post and/or my response that we can add to this discussion? I just want to get us back on track here... I hope you understand. |
I don't see a single question in your original post. ;-( If your question relates to creating manifold irregular 3D meshes, then I provided you with an initial solution. If your question relates to editing 3D meshes then perhaps this could kick-off an investigation |
My question relates to editing 3D meshes in a manner that happens So back to my example, how would one go about carving out holes in a Greg Melencio On Thu, Sep 29, 2016 at 12:48 AM, Theo Armour notifications@github.com
|
Ha ha. Don't you mean your question that had no question? One day, you will learn to phrase stuff clearly and concisely.
What is difference between semi-flat plane and semi-unflat plane? Recording diameter and position of holes is not that difficilt Showing holes visually - might use thousands if particles to simulate the surface of a mesh Calculating outlines of comingled holes: a bugger |
I'm sorry, I must confess I don't understand the response here: What is difference between semi-flat plane and semi-unflat plane? I'm simply saying the mesh to be modified is 3D, not 2D. Showing holes visually - might use thousands if particles to simulate the
So is this analogous to the concept I had of "micro-voxels" that is, there After we make the modifications, to the mesh made out of particles, can we Any chance you could create a small demo of a small 10 x 10 x 2 cube that Greg Melencio On Sun, Oct 2, 2016 at 5:05 AM, Theo Armour notifications@github.com
|
https://threejs.org/examples/#webgl_nearestneighbour Using your cursor, move into the the filed of sprites. Notice that the sprites that you approach change color from brown to read Without too much difficulty the sprites could be made to disappear, lie on a flat plane, or wavy plane or whatever. |
Stick a fork in it! This issue is closed!!! The two solutions you proposed Bingo!!! THANK YOU!!! On Thu, Oct 6, 2016 at 1:52 AM Theo Armour notifications@github.com wrote:
|
Closing is good |
I would like to determine a method for creating irregular 3D shapes "on the fly" so that this can be done quickly and easily by non-developers. When I say irregular I mean, anything from a rectangle with rounded corners to something out of Frank Gehry's imagination.
There are many solutions that exist for creating 3D shapes that don't conform to standard set geometric primitives (i.e. cube, sphere, cylinder, cone) - although these are typically limited simple methods for modifying the geometry - such as extruding, offset, or generating symmetrical shapes, along 2^n axes and then simply wrapping in a mesh.
There's the approach of vertex manipulation, but that gets dicey fast and imho, rarely user friendly: you may want to move just one vertex independently of the adjacent vertices, or have the other vertices "follow" the one you move but to a lesser degree (as if it were cloth), but you might also want to move an entire edge. So while it's the most flexible approach (pun intended). It's far from the easiest/most intuitive.
That leaves the last two that I am considering:
The idea with using mini-voxels is building the shape like one would do so with lego in the real world (or minecraft), except the voxels can be small enough to make the whole piece look like (think Anti-aliasing/muti-sampling).
The idea being that, in this way, it should be easier to cut/fillet/chamfer, slice, etc the object. However, I'm not sure how this would work for operations that scale or skew the entire parent 3D object. Another issue I see here is that the more complex the whole piece is, the more voxels would be required and it could be very memory intensive. We might be able to implement a "garbage collection" routine so that the "hidden" voxels are deleted and that might help a bit, but doing so have overhead in and of itself. One thought I had here is that, after the "whole piece" is created, we could try to detect the voxels that are on the "outside", create a vertex map based on their positions and use that to create the new geometry to replace the voxel-built mesh.
The other approach is using Boolean Constructive Solid Geometry operations. While this prevents the proliferation of meshes, it's a processing intensive task and not quite as easy to use. - You're limited to the shapes you want to cut out by the geometry primitives that you can use to "deduct" from the mesh. One can, however, use existing "irregularly shaped" geometries to perform irregular cuts, but I'm not sure that's the best way to go either.
Perhaps the 2 options I noted aren't the only options - maybe there are other options or an "hybrid" approach that can be applied. Or maybe these are good options and arguments can be made for one or the other. Maybe just simple modifications are needed.
The text was updated successfully, but these errors were encountered: