Abstract:
In one embodiment of the present invention, a position-based dynamics (PBD) framework provides realistic modeling and simulation for elastic rods. In particular, the twisting and bending physics of elastic rods is incorporated into the PBD framework. In operation, an elastic rod model generator represents the center line of an elastic rod as a polyline of points connected via edges. For each edge, the elastic rod model generator adds a ghost point to define the orientation of a material frame that encodes the twist of the edge. Subsequently, a PBD simulator solves for positions of both points and ghost points that, together, represent the evolving position and torsion of the elastic rod. Advantageously, the ghost points enable more realistic animation of deformable objects (e.g., curly hair) than conventional PBD frameworks. Further, unlike force based methods, elastic rod simulation in the PBD framework performs acceptably in environments where speed is critical.
Abstract:
One embodiment of the present invention sets forth a technique for merging intersecting meshes of primitives. The technique involves determining an intersection boundary that is defined by an intersection between a first mesh of primitives and a second mesh of primitives. The technique further involves determining that a first plurality of primitives included in the first mesh of primitives and a second plurality of primitives included in the second mesh of primitives are proximate to the intersection boundary. The technique further involves removing the first plurality of primitives to form a first mesh boundary associated with the first mesh and removing the second plurality of primitives to form a second mesh boundary associated with the second mesh. Finally, the technique involves connecting a first plurality of vertices associated with the first mesh boundary to a second plurality of vertices associated with the second mesh boundary to form a joined boundary.
Abstract:
One embodiment of the present invention sets forth a technique for mesh refinement. The technique involves receiving a mesh including a plurality of triangles. The technique further involves processing the mesh to generate a refined mesh by performing an edge flip operation on the mesh, performing an edge split operation on the mesh, and performing an edge collapse operation on the mesh.
Abstract:
One embodiment of the invention is a collage engine that generates informative viewpoints of a 3D model based upon the editing history of the 3D model. In operation, the collage engine processes an editing log to identify segments of the 3D model that include related vertices. For a given segment, the collage engine selects a viewpoint used by the end-user to edit the 3D model and a viewpoint used by the end-user to inspect the 3D model. The collage engine may then present the informative viewpoints to the end-user for inclusion in a collage of 2D renderings based upon the informative viewpoints. Generally, the viewpoints used while editing and inspecting the 3D model are of importance in the overall presentation of the 3D model. Therefore, collages of 2D renderings based upon the informative viewpoints can be generated effectively.
Abstract:
A single model engine for receiving and processing a 3D surface model representing the surface of a 3D object, the 3D surface model comprising at least two distinct surface regions associated with at least two different materials. The single model engine automatically produce a set of interior sheets inside the 3D surface model, the set of interior sheets defining interior boundaries and interior volumes of the different materials for the 3D object. The single model engine combines the 3D surface model with the set of interior sheets to produce a single unified model that represents the surface and interior volumes of the 3D object that comprise a single solid object having at least two different materials. At print time, the single model engine performs an export technique to produce an exportable form of the single unified model that can be received and printed by a 3D printer.
Abstract:
Methods, systems, and apparatus, including medium-encoded computer program products, for combining electronic circuitry with mechanical structures using a design tool to build hybrid electro-mechanical three-dimensional circuits for 3D printed devices. In some implementations, the design tool facilitates creation and placement of components and traces, and print preparation for additive manufacturing systems.
Abstract:
One embodiment of the invention is a collage engine that generates informative viewpoints of a 3D model based upon the editing history of the 3D model. In operation, the collage engine processes an editing log to identify segments of the 3D model that include related vertices. For a given segment, the collage engine selects a viewpoint used by the end-user to edit the 3D model and a viewpoint used by the end-user to inspect the 3D model. The collage engine may then present the informative viewpoints to the end-user for inclusion in a collage of 2D renderings based upon the informative viewpoints. Generally, the viewpoints used while editing and inspecting the 3D model are of importance in the overall presentation of the 3D model. Therefore, collages of 2D renderings based upon the informative viewpoints can be generated effectively.
Abstract:
In one embodiment of the present invention, an escape hole generator creates escapes holes designed to facilitate removal of support and/or unprinted material generated inside enclosed hollows of three-dimensional (3D) digital models during 3D printing. In operation, the escape hole generator identifies a hollow included in the three-dimensional model and then selects optimized locations for escape holes. Notably, the escape hole generator selects the locations to optimize placement heuristics, such as favoring locations closer to the bottom of the 3D model, while satisfying escape hole constraints (e.g., hole size and spacing requirements). The escape hole generator then perforates the hollow at the selected locations with geometries that provide channels from the outer surface of the hollow to the outer surface of the hollow. Advantageously, automating escape hole generation enables efficient creation of hollowed 3D models that reduce 3D printing time and material usage compared to solid 3D model counterparts.
Abstract:
A system and method are disclosed for manipulating objects within a virtual environment using a software widget. The software widget includes one or more controls for performing surface constrained manipulation operations. A graphical representation of the software widget is superimposed over the object and enables a user to use simple mouse operations to perform the various manipulation operations. The position operation determines an intersection point between the mouse cursor and a surface of a different object and moves the object to the intersection point. The scale operation adjusts the size of the object. The rotate operation adjusts the rotation of the object around a normal vector on the surface of the different object. The twist operation deforms the object along a local z-axis. The orientation operation adjusts the orientation of the object with respect to the normal vector.
Abstract:
Methods, systems, and apparatus, including medium-encoded computer program products, for creating one or more gradients of different materials for a three dimensional (3D) surface model include, in one aspect, a system including: an additive manufacturing machine designed to use different materials in combination with each other when manufacturing objects; and means for creating a discretized gradient for a 3D surface model of an object, to be manufactured using the additive manufacturing machine, by inserting one or more 3D surfaces into the 3D surface model at specified locations, thereby creating a non-manifold version of the 3D surface model having multiple discrete volumetric regions, and assigning a material specification to each of the discrete volumetric regions, each of the material specifications being either a single one of the different materials or a specified combination of the different materials, which are usable by the additive manufacturing machine to manufacture the object.