EP4208854A1 - Systems and methods for extraction of mesh geometry from straight skeleton for beveled shapes - Google Patents
Systems and methods for extraction of mesh geometry from straight skeleton for beveled shapesInfo
- Publication number
- EP4208854A1 EP4208854A1 EP21864895.4A EP21864895A EP4208854A1 EP 4208854 A1 EP4208854 A1 EP 4208854A1 EP 21864895 A EP21864895 A EP 21864895A EP 4208854 A1 EP4208854 A1 EP 4208854A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- node
- graph
- determining
- outline
- polygons
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000000605 extraction Methods 0.000 title claims abstract description 11
- 230000015654 memory Effects 0.000 description 28
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000001125 extrusion Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
Definitions
- the present disclosure relates to systems and methods to create a mesh geometry for three dimensional beveled shapes. More particularly, the present disclosure relates to systems and methods for creating a polygonal mesh geometry, based on a straight skeleton graph of an outline shape of an object.
- One of the common techniques to define three dimensional (3D) objects in a 3D modeling application is to extrude two dimensional (2D) outlines.
- the technique is often performed to create 3D text or to give depth to various graphical elements.
- a shape is sampled by an arbitrary algorithm to discretize it. This creates a set of points each connected to the next point with a linear line segment. These line segments each build one quadrangle in the extrusion of which they represent one of the four edges. The other three edges are created by connecting each line's start and end points with a clone of the discretized shape in the extrusion direction and the corresponding cloned line segment.
- the created geometry can be defined in distinct parts: the surfaces created on the inside of the outlines, called “caps”; and the surfaces that build the extrusion of the outlines, called “hulls”.
- the border edge between the caps and the hulls can be beveled, also referred to as chamfered.
- these beveled edges reflect light to a virtual camera, which greatly improves visual fidelity, as real world objects rarely have perfect edges and thus also reflect real world light in a similar way.
- To create the necessary mesh geometry for the parts that make up the beveled shape is very similar to how the extruded geometry was created.
- This bevel operation can, for example, be performed by the following operations: clone the outline; shrink the outline locally in a direction that points to the inside of the original outline as far as the bevel size requires it to (this process is called an inverse offset, and the outline formed as a result of the inverse offset is called an inverse offset outline): and connect the original outline line segments with the shrunk island (i.e., the inverse offset outline) as described for extrusion.
- These operations can be applied multiple times to create additional rings of geometry in the direction of the inverse offset, for example to allow rounded bevel shapes by placing all of the sub-steps in an arc.
- One embodiment provides a computer-implemented method for polygonal mesh geometry extraction for a bevel operation in a modeling application.
- the method comprises: receiving an original shape outline; determining a straight skeleton graph of the original shape outline, the straight skeleton graph comprising a plurality of edges; determining one or more inverse offset outlines of the original shape outline based on the straight skeleton graph; determining one or more polygons based on a union of the straight skeleton graph, the original shape outline, and the one or more inverse offset outlines, the one or more polygons including one or more graph polygons and one or more sub-polygons; and generating a beveled shape of the original shape outline based on the one or more polygons.
- Another embodiment provides a system for polygonal mesh geometry extraction for a bevel operation in a modeling application.
- the system comprises one or more processors and at least one non-transitory computer readable medium storing instructions which, when executed by the one or more processors, cause the one or more processors to perform operations comprising: receiving an original shape outline; determining a straight skeleton graph of the original shape outline, the straight skeleton graph comprising a plurality of edges: determining one or more inverse offset outlines of the original shape outline based on the straight skeleton graph; determining one or more polygons based on a union of the straight skeleton graph, the original shape outline, and the one or more inverse offset outlines, the one or more polygons including one or more graph polygons and one or more sub-polygons; and generating a beveled shape of the original shape outline based on the one or more polygons.
- Another embodiment provides at least one non-transitory computer readable medium for polygonal mesh geometry extraction for a bevel operation in a modeling application.
- the at least one non-transitory computer readable medium stores instructions which, when executed by one or more processors, cause the one or more processors to perform operations comprising: receiving an original shape outline; determining a straight skeleton graph of the original shape outline, the straight skeleton graph comprising a plurality of edges; determining one or more inverse offset outlines of the original shape outline based on the straight skeleton graph; determining one or more polygons based on a union of the straight skeleton graph, the original shape outline, and the one or more inverse offset outlines, the one or more polygons including one or more graph polygons and one or more sub-polygons; and generating a beveled shape of the original shape outline based on the one or more polygons.
- FIG. 1 A shows a 2D outline of example text.
- FIG. 1 B shows an extruded outline with caps of example text.
- FIG. 2A shows an extruded outline of example text without beveled edges.
- FIG. 2B shows an extruded outline of example text with beveled edges.
- FIG. 3A shows an example outline of an object.
- FIG. 3B illustrates creation of an inverse offset from the example outline of FIG. 3A.
- FIG. 3C illustrates creation of an inverse offset where outline points are moved away from one another.
- FIG. 3D illustrates creation of an inverse offset where moving the outline points away from one another has flipped the orientation of the line segments connecting them.
- FIG. 3E shows the result of flipping the orientation of the line segments in the inverse offset.
- FIG. 4A shows another example outline of an object and a straight skeleton graph of the example outline.
- FIG. 4B shows an inverse offset outline extracted from the straight skeleton graph of FIG. 4A.
- FIG. 5 shows an exemplary system infrastructure of a geometry generation system, according to one aspect of the current disclosure.
- FIG. 6 shows an arc shaped bevel created from the example outline of
- FIG. 4A using a disclosed method of extracting mesh geometry.
- FIG. 7 shows a flowchart illustrating an exemplary method of generating a beveled shape of an original shape outline based on one or more polygons, according to one aspect of the current disclosure.
- FIG. 8 shows a straight skeleton graph of an original shape outline with inverse offset outlines.
- FIG. 9 shows a flowchart illustrating an exemplary method of extracting a graph polygon from a straight skeleton graph, according to one aspect of the current disclosure.
- FIG. 10 shows a flowchart illustrating an exemplary method of subdividing edges in the extracted graph polygon, according to one aspect of the current disclosure.
- FIG. 11 shows a straight skeleton area with subdivision nodes and outline nodes of an extracted polygon.
- FIG. 12 shows a flowchart illustrating an exemplary method of storing nodes corresponding to extracted polygons, according to one aspect of the current disclosure.
- FIG. 13 shows sub-polygons of an inverted offset slice.
- FIG. 14 illustrates an implementation of a computer system that may execute techniques presented herein.
- the following embodiments describe systems and methods for creating a mesh geometry for 3D beveled shapes, and, more particularly, for creating a closed polygonal mesh without overlapping artifacts.
- One example algorithm that may solve the above-described problem calculates the ‘‘straight skeleton” of the outline, called a straight skeleton graph.
- the straight skeleton graph contains the path of each outline point with increasing offset distance to its original position.
- the straight skeleton detects and resolves all events that would create previously mentioned problems to provide a data structure from which an overlap free inverse offset at any offset distance could be extracted.
- the technique using the straight skeleton graph can be applied to creating the inverse offset of an outline in areas where the inverse offset of an outline is the final output of the operation.
- Such application might pose another problem, as the conventional approaches to mesh geometry generation for beveled shapes require the original outline and the inverse offset outline to have the same amount of points and line segments, making it easy to connect the outline segments with the inverse offset outline segments to create the final geometry.
- the inverse offset outline will have a different amount of points and/or as the matching cannot be performed as easily as soon as at least one event that would create an overlap otherwise has been processed by the straight skeleton. These overlapping events are all internal crossings of the straight skeleton graph with three of more lines connected to them.
- a new approach is needed to extract offset geometry that can be applied to a straight skeleton graph.
- the benefits of the techniques proposed in the current disclosure include: (1 ) an approach to create a mesh geometry used for 3D beveled shapes that have been created out of a 2D shape without overlapping artifacts (e g., FIGs. 3A-3E), regardless of how large the bevel offset size is: and (2) efficient creation of geometry that allows interactive editing and shaping of a bevel with controllable subdivisions orthogonal to the shaping plane.
- the goal of the proposed techniques is to create a closed polygonal mesh consisting mainly of quadrangles and triangles whose edges are the union of the straight skeleton of the outline and multiple inverse offset outlines with arbitrarily defined offsets : starting from an outline described by clockwise-ordered 2D points and the internal straight skeleton graph of that outline.
- the resultant polygonal mesh should have the following structure: polygons are defined by a list of indices, which in turn reference a list of 2D positions Each point of the output mesh may be individual and polygons using this position may all reference the same point. Such arrangement guarantees a connected polygonal mesh.
- embodiments may, for example, take the form of hardware, software, firmware or any combination thereof.
- the following detailed description is. therefore, not intended to be taken in a limiting sense.
- FIG. 1 A shows a 2D outline of example text, for the purposes of illustration referred to as the original text.
- FIG. 1B shows the effect of extruding the outline on the original text and adding caps to the extruded text.
- caps are surfaces created on the inside of the outline.
- FIGs. 2A and 2B contrast the aesthetic appearance of 3D texts created as a result of the extrusion illustrated in FIGs. 1 A-1 B. Specifically, FIG. 2A shows 3D text without beveled edges, while FIG. 2B shows the same 3D text with beveled edges.
- FIGs. 3A-3E illustrate steps performed by an example algorithm configured to create an inverse offset of an original shape outline (also referred to as an outline).
- an outline 310 is shown in 2D object.
- the outline 310 has a line 320 of outline points (i.e.. an inverse offset outline 320) as the inverse offset is created, as shown in FIG. 3B.
- the line 320 of outline points are moved further from the outline 310.
- FIG. 3D continues the movement of the line 320 further from the outline
- FIGs. 4A and 4B illustrate creation of another inverse offset outline, for example of a serif letter H.
- the serif letter H has an outline 410. made of highlighted outline node along the comers of the outline 410.
- a straight skeleton graph can be generated based on the outline 410, as represented by graph 420 in FIG. 4A.
- the method of producing the straight skeleton graph is detailed below.
- An inverse offset outline 430 is extracted from the straight skeleton graph 420. and shown in FIG. 4B. As opposed to the exemplary method shown in FIGs. 3A-3E, this method prevents any overlap of the inverse offset outline 430. and thus there is no flipping of the orientation or self-crossing of the line 430 as the inverse offset points are moved further from the straight skeleton graph 420.
- FIG. 5 shows an exemplary system infrastructure 500 of the overall environment in which the proposed techniques may be executed.
- the geometry generation system 500 comprises a network 550, a cloud-based server 530, a geometry generation engine 535, a client device 510, and a modeling application 520 with geometry generation engine 515.
- the cloud-based server 530 may communicate with other components of the system 500, such as the client device 510. via the network
- the network 550 may include the Internet, but may also include other networks such as a corporate WAN, cellular network, satellite network, or combination thereof, for example.
- the network 550 may be employed to enable data communications between the various entities illustrated in FIG. 5.
- the proposed mesh geometry generation process may be performed locally at the client device 510 by the modeling application 520 (i.e., by the geometry generation engine 515 that is part of the modeling application 520) and/or by the geometry generation engine 535 residing in the server 530.
- the geometry generation engine 515 may function as a part of the modeling application 520.
- the client device 510 may be a computing device consistent with or similar to the computing device depicted in FIG. 14. It is also possible that the proposed mesh geometry generation process may be executed using the server 530. In such embodiment, the geometry generation engine 535 is stored within the server 530, with which the modeling application 520 on the client device 510 may communicate via the network 550.
- the server 530 may be a computing device consistent with or similar to the computing device depicted in FIG. 14.
- the geometry generation engine 515 may be part of a software application that is installed on the client device 510.
- the geometry generation engine 515 may be part of a modeling application 520.
- the geometry generation engine 515 may be implemented with any software application 520 in which a need for geometry generation may arise : or may itself be a standalone application in connection with another software application in need of such geometry generation and/or related parameters.
- FIG. 6 shows an arc shaped bevel created from the example outline of
- FIG. 4A (e g., a serif letter H), using the method of extracting mesh geometry proposed herein.
- the resulting beveled shape and polygonal mesh are mostly composed of a series of quadrangles and triangles and a few polygons with more than four segments.
- FIG. 7 is a flowchart illustrating an exemplary method of generating a beveled shape of an original outline.
- the method 700 may be performed by the geometry generation engine 515 on the client device 510 or the geometry generation engine 535 on the server 530 shown in FIG. 5.
- the geometry generation engine 515 or 535 may receive an original shape outline, such as the original shape outline shown in FIG. 4A.
- the geometry generation engine 515 or 535 may determine a straight skeleton graph of the original shape outline.
- the straight skeleton graph may comprise a plurality of edges connecting nodes of the straight skeleton graph.
- the geometry generation engine 515 or 535 may determine one or more inverse offset lines of the original shape outline based on the straight skeleton graph.
- the modeling application 520 may enable a user to select the desired outline and degree of bevel applicable to the received original shape outline.
- the original shape outline may be an outline of text, as shown in the figures previously described, or may be an outline of an icon, an object, or other graphical element.
- step 720 the geometry generation engine 515 or
- the straight skeleton graph 535 may determine a straight skeleton graph of the original shape outline, wherein the straight skeleton graph comprises a plurality of edges.
- the straight skeleton graph may be determined using any now known or future-developed technique. For example, a straight skeleton graph must meet a number of requirements: (1 ) each event in the calculation of the straight skeleton graph should be represented as a node in the graph
- each graph node i.e., each node on the straight skeleton graph
- each graph node needs to have the offset stored at which the event happened and the
- the geometry generation engine 515 or 535 may determine one or more polygons based on a union of the straight skeleton graph, the original shape outline, and the one or more inverse offset outlines. The manner in which the polygons may be determined will be discussed in greater detail below in reference to FIG. 9.
- the one or more polygons may include one or more graph polygons and one or more sub-polygons.
- the geometry generation engine 515 or 535 (or the modeling application 520) may generate a beveled shape of the original shape outline, based on the one or more polygons. An example of a final beveled shape is shown in FIG. 6, which is generated from the corresponding original shape outline shown in FIGs. 4A and 4B.
- FIG. 8 shows a graph 800 including a straight skeleton graph 840 of an original shape outline 830 with inverse offset outlines 835A-G.
- Original shape outline 830 with inverse offset outlines 835A-G.
- the 830 includes outline nodes 820A-820E, located at the intersections of the edges of original shape outline 830.
- the original shape outline 830 may be received in step 710 of method 700.
- the outline nodes 820A-820E are the points at which the polygon extraction process detailed in method 900 below may start.
- the graph 800 further comprises the inverse offset outlines 835A-835G. which are offset from the original shape outline 830 by varying degrees. As explained above in reference to FIG. 7, inverse offset outlines 835A-835G may be determined in step 730 of method 700
- the inverse offset outlines 835A-835G are all located within the boundaries of the original shape outline 830.
- a straight skeleton graph 840 including graph nodes B25A-825C (i.e., internal nodes 825A
- the straight skeleton graph 840 may be determined in step 720 of method 700.
- FIG. 9 is a flowchart illustrating an exemplary method of extracting a polygon from a straight skeleton graph, according to one aspect of the current disclosure.
- the method 900 may be performed by the geometry generation engine 515 on the client device 510 or the geometry generation engine 535 on the server 530 shown in FIG. 5.
- the geometry generation engine 515 or 535 may determine an outline node (e.g., one of outline nodes 820A-820E) on an original shape outline (e g., original shape outline 830).
- an outline node e.g., one of outline nodes 820A-820E
- storing a node includes storing location information pertinent to the node relative to the graph (e.g.. graph 800) or the shape form which the node is derived.
- the location information comprises one or more of a coordinate of the node, a distance (e g., an offset) from a particular origin and/or an angle relative to that origin, and any other information that can be used to identify a location of the node.
- the geometry generation engine 515 or 535 may determine an edge connected to the outline node, and in step 925, may traverse the edge to determine an internal node.
- the geometry generation engine 515 or 535 may set the determined internal node as a current internal node, and in step 935, may store the current internal node in the same node list.
- the geometry generation engine 515 or 535 may determine another edge connected to the current internal node. In one embodiment, the another edge is in a counterclockwise order from the edge traversed to reach the internal node.
- the geometry generation engine 515 or 535 may determine whether traversal of the another edge determined in step 940 leads to another internal node or another outline node.
- the geometry generation engine 515 or 535 may set the another internal node as the current internal node in step 955, and then the method 900 returns to step 935 for another iteration.
- the geometry generation engine 515 or 535 may set the another internal node as the current internal node in step 955, and then the method 900 returns to step 935 for another iteration.
- the geometry generation engine 515 or 535 may set the another internal node as the current internal node in step 955, and then the method 900 returns to step 935 for another iteration.
- the geometry generation engine 515 or 535 may set the another internal node as the current internal node in step 955, and then the method 900 returns to step 935 for another iteration.
- the geometry generation engine 515 or 535 may set the another internal node as the current internal node in step 955, and then the method 900 returns to step 935 for another iteration.
- the geometry generation engine 515 or 535 may set the another internal node as the current internal node in step
- 535 may store the another outline node in the node list in step 950.
- Step 910 of the method 900 is to determine an outline node on an original shape outline, for example, the original shape outline 830 in FIG. 8. As explained above in reference to FIG. 7, the original shape outline 830 is initially received by the modeling application in step 710 of method 700.
- an outline node such as one of outline nodes 820A-820E in
- FIG. 8. is stored in a node list associated with a graph polygon.
- the node list is associated with a graph polygon, such as the graph polygon 1160 in FIG. 13.
- an edge connected to the outline node is an edge forming a part of the straight skeleton graph. For example, in FIG. 8, if the outline node 820A is determined in step 910. an edge connected to the outline node 820A would be determined in step 920, such as the edge of the straight skeleton graph 840 that connects the outline node 820A and the internal node 825A.
- the internal node may be, for example, the internal node B25A in FIG. 8.
- An internal node e g., internal nodes
- an outline node (e.g., outline nodes 820A-820E) is a graph node, of a straight skeleton graph, that lies on the original shape outline.
- FIG. 10 is a flowchart illustrating an exemplary method of subdividing edges in the extracted polygon, according to one aspect of the current disclosure.
- the method 1000 may be performed by the geometry generation engine 515 on the client device 510 or the geometry generation engine 535 on the server 530 shown in FIG. 5.
- the geometry generation engine 515 or 535 may determine a start node and an end node of each edge within a graph polygon.
- the graph polygon may be. for example, the graph polygon 1160 shown in FIG. 11.
- the geometry generation engine 515 or 535 may compare an offset associated with the start node and the end node to a set of one or more offsets associated with the one or more inverse offset outlines.
- the one or more inverse offset outlines may be the inverse offset outlines 835A-835G in FIG. 11.
- the geometry generation engine 515 or 535 may determine none, one or more subdivision nodes on the edge between the start node and the end node based on the comparison performed in step 1020.
- step 1010 the geometry generation engine 515 or 535 may determine a start node and an end node of each edge within a graph polygon.
- the graph polygon may be. for example, the graph polygon 1160 shown in FIG. 11.
- the geometry generation engine 515 or 535 may compare an offset associated with the start
- the geometry generation engine 515 or 535 may store the none, one or more subdivision nodes determined for each edge within the graph polygon in a node list associated with the graph polygon.
- FIG. 11 is the graph 800 from FIG. 8. additionally depicting an extracted graph polygon 1160.
- the extracted graph polygon 1160, the result of method 900 in FIG. 9, further comprises subdivision nodes 1155A-1155P. These subdivision nodes are the result of method 1000 in FIG. 10.
- FIG. 12 is a flowchart illustrating an exemplary method of storing nodes corresponding to extracted polygons.
- the method 1200 may be performed by the geometry generation engine 515 on the client device 510 or the geometry generation engine 535 on the server 530 in FIG. 5.
- An efficient stack-based approach can be used to store nodes corresponding to extracted graph polygons.
- a stack comprises a list of references to the nodes of the graph polygon (i.e., the straight skeleton area) being processed.
- the geometry generation engine 515 or 535 may add a first stack entry.
- the geometry generation engine 515 or 535 may designate the first stack entry as an active stack entry.
- the geometry generation engine 515 or 535 may select a first node as a current node.
- the geometry generation engine 515 or 535 may determine whether the current node is a graph node or a subdivision node. If the current node is a graph node, the geometry generation engine 515 or 535 may add the graph node to the active stack entry in step 1218. Then in step 1220, the geometry generation engine 515 or 535 may determine whether a next node is a last node. If the next node is not a last node, the geometry generation engine
- step 1220 the geometry generation engine 515 or 535 may designate the next node as the current node in step 1222, before returning to step 1216 to determine whether this current node is a graph node or subdivision node. However, if in step 1220 the geometry generation engine 515 or 535 determines that a next node is a last node, the geometry generation engine 515 or 535 may add the last node to a lowest stack entry in step 1224 to complete the process. [063] However, in step 1216, the geometry generation engine 515 or 535 may determine that the current node is a subdivision node. Should this be the case, in step 1216
- the geometry generation engine 515 or 535 may assign (i.e., add) the subdivision node to the active stack entry.
- the geometry generation engine 515 or 535 may determine whether a next node is associated with a higher offset or a lower offset than an offset of the subdivision node.
- step 1232 the geometry generation engine 515 or 535 may go up to a next stack entry and designate that next stack entry as the active stack entry, or, if already at the topmost stack entry, add a new stack entry at the top of the stack and designate that stack entry as the active stack entry.
- step 1234 the geometry generation engine 515 or 535 may assign (i.e., add) the subdivision node to the active stack entry.
- the geometry generation engine 515 or 535 in step 1230 may go down to a next stack entry and designate that next stack entry as the active stack entry. Then in step 1234, the geometry generation engine 515 or 535 may assign (i.e., add) the subdivision node to the active stack entry. In step 1236, the geometry generation engine 515 or 535 may determine whether the next node (for which an offset has been determined to be higher or lower) is a last node. If the next node is not a last node, in step 1238 the geometry generation engine 515 or 535 may designate the next node as the current node, and the method 1200 loops back to step 1216 to process that newly-designated current node.
- every stack may contain a list of nodes that define an offset slice of the corresponding graph polygon. These lists may be split into sub-polygons (i.e., final polygons) by going through each stack's node list and splitting them between nodes that have the same offset.
- FIG. 13 is the graph 800 from FIG. 11. additionally depicting subpolygons of a graph polygon, represented by a set of subdivision points identified using method 1000 depicted in FIG. 10.
- One example sub-polygon associated with graph polygon 1160 is sub-polygon 1370.
- FIG. 14 illustrates an implementation of a computer system designated
- the computer system 1400 can include a set of instructions that can be executed to cause the computer system 1400 to perform any one or more of the methods or computer based functions disclosed herein.
- the computer system 1400 may operate as a standalone device or may be connected, e g., using a network, to other computer systems or peripheral devices.
- the computer system 1400 may operate in the capacity of a server or as a client user computer in a server-client user network environment, or as a peer computer system in a peer-to-peer (or distributed) network environment.
- the computer system 1400 can also be implemented as or incorporated into various devices, such as a personal computer (PC), a tablet PC, a set-top box
- the computer system 1400 can be implemented using electronic devices that provide voice, video, or data communication. Further, while a single computer system 1400 is illustrated, the term ‘‘system” shall also be taken to include any collection of systems or sub-systems that individually or jointly execute a set, or multiple sets, of instructions to perform one or more computer functions.
- the computer system 1400 may include a processor 1402, e.g., a central processing unit (CPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU), a graphics processing unit (GPU),
- the processor 1402 may be a component in a variety of systems.
- the processor 1402 may be part of a standard personal computer or a workstation.
- the processor 1402 may be one or more general processors, digital signal processors, application specific integrated circuits, field programmable gate arrays, servers, networks, digital circuits, analog circuits, combinations thereof, or other now known or later developed devices for analyzing and processing data.
- the processor 1402 may be one or more general processors, digital signal processors, application specific integrated circuits, field programmable gate arrays, servers, networks, digital circuits, analog circuits, combinations thereof, or other now known or later developed devices for analyzing and processing data.
- the computer system 1400 may include a memory 1404 that can communicate via a bus 1408.
- the memory 1404 may be a main memory, a static memory, or a dynamic memory.
- the memory 1404 may include, but is not limited to computer readable storage media such as various types of volatile and non-volatile storage media, including but not limited to random access memory, read-only memory, programmable read-only memory, electrically programmable read-only memory, electrically erasable read-only memory, flash memory, magnetic tape or disk, optical media and the like.
- the memory 1404 includes a cache or random-access memory for the processor 1402.
- the memory 1404 is separate from the processor 1402, such as a cache memory of a processor, the system memory, or other memory.
- the memory 1404 may be an external storage device or database for storing data. Examples include a hard drive, compact disc (“CD 1 ’), digital video disc (‘OVD’ 1 ), memory card, memory stick, floppy disc, universal serial bus (“USB’ 1 ) memory device, or any other device operative to store data
- the memory 1404 is operable to store instructions executable by the processor 1402.
- the functions, acts or tasks illustrated in the figures or described herein may be performed by the programmed processor 1402 executing the instructions stored in the memory 1404.
- the functions, acts or tasks are independent of the particular type of instructions set.
- storage media, processor or processing strategy and may be performed by software, hardware, integrated circuits, firm-ware, micro-code and the like, operating alone or in combination.
- processing strategies may include multiprocessing, multitasking, parallel processing and the like.
- the computer system 1400 may further include a display
- the display 1410 such as a liquid crystal display (LCD), an organic light emitting diode (OLED), a flat panel display, a solid-state display, a cathode ray tube (CRT), a projector, a printer or other now known or later developed display device for outputting determined information.
- the display 1410 may act as an interface for the user to see the functioning of the processor 1402, or specifically as an interface with the software stored in the memory 1404 or in the drive unit 1406.
- the computer system 1400 may include an input device 1412 configured to allow a user to interact with any of the components of system 1400.
- the input device 1412 may be a number pad, a keyboard, or a cursor control device, such as a mouse, or a joystick, touch screen display, remote control, or any other device operative to interact with the computer system 1400.
- the computer system 1400 may also or alternatively include a disk or optical drive unit 1406.
- the disk drive unit 1406 may include a computer-readable medium 1422 in which one or more sets of instructions 1424, e.g. software, can be embedded. Further, the instructions 1424 may embody one or more of the methods or logic as described herein. The instructions 1424 may reside completely or partially within the memory 1404 and/or within the processor 1402 during execution by the computer system 1400.
- the memory 1404 and the processor 1402 also may include computer-readable media as discussed above.
- a computer-readable medium 1422 includes instructions 1424 or receives and executes instructions 1424 responsive to a propagated signal so that a device connected to a network 1450 can communicate voice, video, audio, images, or any other data over the network 1450. Further, the instructions 1424 may be transmitted or received over the network 1450 via a communication port or interface 1420, and/or using a bus 1408.
- the communication port or interface 1420 may be a part of the processor 1402 or may be a separate component.
- the communication port 1420 may be created in software or may be a physical connection in hardware.
- the communication port 1420 may be configured to connect with a network 1450, external media, the display 1410, or any other components in computer system 1400 : or combinations thereof.
- connection with the network 1450 may be a physical connection, such as a wired Ethernet connection or may be established wirelessly as discussed below.
- additional connections with other components of the computer system 1440 may be physical connections or may be established wirelessly.
- the network 1450 may alternatively be directly connected to the bus 1508.
- While the computer-readable medium 1422 is shown to be a single medium, the term “computer-readable medium” may include a single medium or multiple media, such as a centralized or distributed database, and/or associated caches and servers that store one or more sets of instructions.
- the term “computer-readable medium” may also include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by a processor or that cause a computer system to perform any one or more of the methods or operations disclosed herein.
- the computer- readable medium 1422 may be non-transitory. and may be tangible.
- the computer-readable medium 1422 can include a solid-state memory such as a memory card or other package that houses one or more non-volatile read- only memories.
- the computer-readable medium 1422 can be a random -access memory or other volatile re-writable memory.
- the computer-readable medium 1422 can include a magneto-optical or optical medium, such as a disk or tapes or other storage device to capture carrier wave signals such as a signal communicated over a transmission medium.
- a digital file attachment to an e-mail or other self- contained information archive or set of archives may be considered a distribution medium that is a tangible storage medium. Accordingly, the disclosure is considered to include any one or more of a computer-readable medium or a distribution medium and other equivalents and successor media, in which data or instructions may be stored.
- dedicated hardware implementations such as application specific integrated circuits, programmable logic arrays and other hardware devices, can be constructed to implement one or more of the methods described herein.
- Applications that may include the apparatus and systems of various implementations can broadly include a variety of electronic and computer systems.
- One or more implementations described herein may implement functions using two or more specific interconnected hardware modules or devices with related control and data signals that can be communicated between and through the modules, or as portions of an application-specific integrated circuit. Accordingly, the present system encompasses software, firmware, and hardware implementations.
- the computer system 1400 may be connected to one or more networks
- the network 1450 may define one or more networks including wired or wireless networks.
- the wireless network may be a cellular telephone network, an 802.11 ,
- 802.16. 802.20, or WiMax network may include a public network, such as the Internet, a private network, such as an intranet, or combinations thereof, and may utilize a variety of networking protocols now available or later developed including, but not limited to TCP/IP based networking protocols.
- the network may include a public network, such as the Internet, a private network, such as an intranet, or combinations thereof, and may utilize a variety of networking protocols now available or later developed including, but not limited to TCP/IP based networking protocols.
- WAN wide area networks
- Internet wide area networks
- local area networks such as the Internet
- WAN wide area networks
- the network 1450 may be configured to couple one computing device to another computing device to enable communication of data between the devices.
- the network 1450 may generally be enabled to employ any form of machine- readable media for communicating information from one device to another.
- the 1450 may include communication methods by which information may travel between computing devices.
- the network 1450 may be divided into sub-networks.
- the subnetworks may allow access to all of the other components connected thereto or the subnetworks may restrict access between the components.
- the network 1450 may be regarded as a public or private network connection and may include, for example, a virtual private network or an encryption or other security mechanism employed over the public Internet, or the like.
- the methods described herein may be implemented by software programs executable by a computer system
- implementations can include distributed processing, component/object distributed processing, and parallel processing.
- virtual computer system processing can be constructed to implement one or more of the methods or functionality as described herein.
- an element described herein of an apparatus embodiment is an example of a means for carrying out the function performed by the element for the purpose of carrying out the disclosed techniques.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/010,536 US11373369B2 (en) | 2020-09-02 | 2020-09-02 | Systems and methods for extraction of mesh geometry from straight skeleton for beveled shapes |
PCT/US2021/046701 WO2022051099A1 (en) | 2020-09-02 | 2021-08-19 | Systems and methods for extraction of mesh geometry from straight skeleton for beveled shapes |
Publications (2)
Publication Number | Publication Date |
---|---|
EP4208854A1 true EP4208854A1 (en) | 2023-07-12 |
EP4208854A4 EP4208854A4 (en) | 2024-08-21 |
Family
ID=80356862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP21864895.4A Pending EP4208854A4 (en) | 2020-09-02 | 2021-08-19 | Systems and methods for extraction of mesh geometry from straight skeleton for beveled shapes |
Country Status (5)
Country | Link |
---|---|
US (1) | US11373369B2 (en) |
EP (1) | EP4208854A4 (en) |
JP (1) | JP2023540121A (en) |
CN (1) | CN116529776A (en) |
WO (1) | WO2022051099A1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11321904B2 (en) | 2019-08-30 | 2022-05-03 | Maxon Computer Gmbh | Methods and systems for context passing between nodes in three-dimensional modeling |
US11714928B2 (en) | 2020-02-27 | 2023-08-01 | Maxon Computer Gmbh | Systems and methods for a self-adjusting node workspace |
US11823328B2 (en) * | 2021-09-12 | 2023-11-21 | NexTech AR Solutions Corp. | Three-dimensional (3D) model generation from computer-aided design (CAD) data |
WO2024069302A1 (en) | 2022-09-28 | 2024-04-04 | Edwards Lifesciences Innovation (Israel) Ltd. | Tissue anchors and methods of construction thereof |
WO2024137348A1 (en) | 2022-12-20 | 2024-06-27 | Edwards Lifesciences Corporation | Anchor-storage devices with spiral-shaped channel |
Family Cites Families (172)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4730186A (en) | 1984-04-20 | 1988-03-08 | Hitachi, Ltd. | Input integrated flat panel display system |
US5040081A (en) | 1986-09-23 | 1991-08-13 | Mccutchen David | Audiovisual synchronization signal generator using audio signature comparison |
GB2214037A (en) * | 1987-12-18 | 1989-08-23 | Ibm | Solid modelling system |
US4963967A (en) | 1989-03-10 | 1990-10-16 | Tektronix, Inc. | Timing audio and video signals with coincidental markers |
DE69129364T2 (en) | 1991-02-01 | 1998-10-22 | Philips Electronics Nv | Device for the interactive treatment of objects |
DE69222102T2 (en) | 1991-08-02 | 1998-03-26 | Grass Valley Group | Operator interface for video editing system for the display and interactive control of video material |
US5623612A (en) | 1992-07-30 | 1997-04-22 | Sharp Kabushiki Kaisha | Data processing apparatus providing character string copying |
CA2124028C (en) | 1994-05-20 | 2000-07-25 | Derek Kent William Smith | Directional actuator for electronic media navigation |
US5555357A (en) | 1994-06-03 | 1996-09-10 | Claris Corporation | Computer system and method for generating and manipulating charts and diagrams |
US5842004A (en) * | 1995-08-04 | 1998-11-24 | Sun Microsystems, Inc. | Method and apparatus for decompression of compressed geometric three-dimensional graphics data |
JP2836550B2 (en) | 1995-11-14 | 1998-12-14 | 日本電気株式会社 | Scenario editing device |
US5745113A (en) | 1996-04-03 | 1998-04-28 | Institute For Research On Learning | Representing work practices |
US5982909A (en) | 1996-04-23 | 1999-11-09 | Eastman Kodak Company | Method for region tracking in an image sequence using a two-dimensional mesh |
US5936671A (en) | 1996-07-02 | 1999-08-10 | Sharp Laboratories Of America, Inc. | Object-based video processing using forward-tracking 2-D mesh layers |
US5877775A (en) | 1996-08-08 | 1999-03-02 | Theisen; Karen E. | Method of generating a 3-D representation of a hierarchical data structure |
JP3263807B2 (en) | 1996-09-09 | 2002-03-11 | ソニー株式会社 | Image encoding apparatus and image encoding method |
US6199076B1 (en) | 1996-10-02 | 2001-03-06 | James Logan | Audio program player including a dynamic program selection controller |
US5986662A (en) | 1996-10-16 | 1999-11-16 | Vital Images, Inc. | Advanced diagnostic viewer employing automated protocol selection for volume-rendered imaging |
GB9626676D0 (en) | 1996-12-23 | 1997-02-12 | Smith & Nephew Res | Imaging method |
US6144378A (en) | 1997-02-11 | 2000-11-07 | Microsoft Corporation | Symbol entry system and methods |
US6108006A (en) * | 1997-04-03 | 2000-08-22 | Microsoft Corporation | Method and system for view-dependent refinement of progressive meshes |
US6973200B1 (en) | 1997-04-22 | 2005-12-06 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and storage medium |
JP4105788B2 (en) | 1997-11-14 | 2008-06-25 | 任天堂株式会社 | Video game apparatus and storage medium thereof |
US6336093B2 (en) | 1998-01-16 | 2002-01-01 | Avid Technology, Inc. | Apparatus and method using speech recognition and scripts to capture author and playback synchronized audio and video |
US6448987B1 (en) | 1998-04-03 | 2002-09-10 | Intertainer, Inc. | Graphic user interface for a digital content delivery system using circular menus |
US6163510A (en) | 1998-06-30 | 2000-12-19 | International Business Machines Corporation | Multimedia search and indexing system and method of operation using audio cues with signal thresholds |
US6629065B1 (en) | 1998-09-30 | 2003-09-30 | Wisconsin Alumni Research Foundation | Methods and apparata for rapid computer-aided design of objects in virtual reality and other environments |
US6771263B1 (en) | 1998-10-13 | 2004-08-03 | Gmd-Forschungszentrum Informationstechnik Gmbh | Processing volumetric image data with shadows |
US6549219B2 (en) | 1999-04-09 | 2003-04-15 | International Business Machines Corporation | Pie menu graphical user interface |
US7015954B1 (en) | 1999-08-09 | 2006-03-21 | Fuji Xerox Co., Ltd. | Automatic video system using multiple cameras |
US6373488B1 (en) | 1999-10-18 | 2002-04-16 | Sierra On-Line | Three-dimensional tree-structured data display |
US8646685B2 (en) | 1999-11-05 | 2014-02-11 | Lead Core Fund, L.L.C. | Device for allocating a payment authorization request to a payment processor |
AU1926401A (en) | 1999-11-24 | 2001-06-04 | Inmotion Technologies Ltd. | Coordination and combination of video sequences with spatial and temporal normalization |
IL136080A0 (en) | 2000-05-11 | 2001-05-20 | Yeda Res & Dev | Sequence-to-sequence alignment |
FR2815805B1 (en) | 2000-10-23 | 2005-09-02 | Telediffusion De France Tdf | METHOD FOR SYNCHRONIZING DIGITAL SIGNALS |
US20060129933A1 (en) | 2000-12-19 | 2006-06-15 | Sparkpoint Software, Inc. | System and method for multimedia authoring and playback |
US7538764B2 (en) * | 2001-01-05 | 2009-05-26 | Interuniversitair Micro-Elektronica Centrum (Imec) | System and method to obtain surface structures of multi-dimensional objects, and to represent those surface structures for animation, transmission and display |
US6993399B1 (en) | 2001-02-24 | 2006-01-31 | Yesvideo, Inc. | Aligning data streams |
US20020123938A1 (en) | 2001-03-01 | 2002-09-05 | Yu Philip S. | Systems and methods to facilitate a transaction wherein a purchaser is associated with an approver |
US7372472B1 (en) | 2001-04-09 | 2008-05-13 | Matrox Electronic Systems Ltd. | Method and apparatus for graphically defining a video particle explosion effect |
US7461002B2 (en) | 2001-04-13 | 2008-12-02 | Dolby Laboratories Licensing Corporation | Method for time aligning audio signals using characterizations based on auditory events |
US7439975B2 (en) | 2001-09-27 | 2008-10-21 | International Business Machines Corporation | Method and system for producing dynamically determined drop shadows in a three-dimensional graphical user interface |
US7432940B2 (en) | 2001-10-12 | 2008-10-07 | Canon Kabushiki Kaisha | Interactive animation of sprites in a video production |
US20080306790A1 (en) | 2001-11-14 | 2008-12-11 | Retaildna, Llc | Method and apparatus for generating and transmitting an order initiation offer to a wireless communications device |
US7027124B2 (en) | 2002-02-28 | 2006-04-11 | Fuji Xerox Co., Ltd. | Method for automatically producing music videos |
US7610563B2 (en) | 2002-03-22 | 2009-10-27 | Fuji Xerox Co., Ltd. | System and method for controlling the display of non-uniform graphical objects |
BR0308368A (en) | 2002-03-22 | 2005-01-11 | Sony Ericsson Mobile Comm Ab | Method for entering text into an electronic communications device, and, electronic communications device |
US7949690B2 (en) | 2002-09-06 | 2011-05-24 | Autodesk, Inc. | Project structure |
WO2004040430A1 (en) | 2002-10-30 | 2004-05-13 | Sony Corporation | Input device and process for manufacturing the same, portable electronic apparatus comprising input device |
US8009966B2 (en) | 2002-11-01 | 2011-08-30 | Synchro Arts Limited | Methods and apparatus for use in sound replacement with automatic synchronization to images |
EP1588325B1 (en) * | 2003-01-15 | 2006-10-11 | Koninklijke Philips Electronics N.V. | Image processing method for automatic adaptation of 3-d deformable model onto a subtantially tubular surface of a 3-d object |
US7336890B2 (en) | 2003-02-19 | 2008-02-26 | Microsoft Corporation | Automatic detection and segmentation of music videos in an audio/video stream |
US7095409B2 (en) | 2003-04-30 | 2006-08-22 | Pixar | Shot shading method and apparatus |
US7864349B2 (en) | 2003-07-30 | 2011-01-04 | International Business Machines Corporation | Immediate verification of printed copy |
US6888916B2 (en) | 2003-08-18 | 2005-05-03 | Ge Medical Systems Global Technology Company, Llc | Preprocessing methods for robust tracking of coronary arteries in cardiac computed tomography images and systems therefor |
US8140389B2 (en) | 2003-10-06 | 2012-03-20 | Utbk, Inc. | Methods and apparatuses for pay for deal advertisements |
US20050165840A1 (en) | 2004-01-28 | 2005-07-28 | Pratt Buell A. | Method and apparatus for improved access to a compacted motion picture asset archive |
JP2007521588A (en) | 2004-02-06 | 2007-08-02 | セコイア メディア グループ、エルシー | Automatic multimedia object model |
US7191175B2 (en) | 2004-02-13 | 2007-03-13 | Attenex Corporation | System and method for arranging concept clusters in thematic neighborhood relationships in a two-dimensional visual display space |
US7708190B2 (en) | 2004-03-10 | 2010-05-04 | At&T Intellectual Property I, L.P. | Multiple options to decline authorization of payment card charges |
US7512886B1 (en) | 2004-04-15 | 2009-03-31 | Magix Ag | System and method of automatically aligning video scenes with an audio track |
US7668243B2 (en) | 2004-05-18 | 2010-02-23 | Texas Instruments Incorporated | Audio and video clock synchronization in a wireless network |
US9038001B2 (en) | 2004-07-01 | 2015-05-19 | Mindjet Llc | System and method for graphically illustrating external data source information in the form of a visual hierarchy in an electronic workspace |
US7903927B2 (en) | 2004-07-08 | 2011-03-08 | Sony Corporation | Editing apparatus and control method thereof, and program and recording medium |
US7383231B2 (en) | 2004-07-19 | 2008-06-03 | Amazon Technologies, Inc. | Performing automatically authorized programmatic transactions |
US7324976B2 (en) | 2004-07-19 | 2008-01-29 | Amazon Technologies, Inc. | Automatic authorization of programmatic transactions |
US7413113B1 (en) | 2004-07-28 | 2008-08-19 | Sprint Communications Company L.P. | Context-based card selection device |
KR100694060B1 (en) | 2004-10-12 | 2007-03-12 | 삼성전자주식회사 | Apparatus and method for synchronizing video and audio |
US7730429B2 (en) | 2004-12-03 | 2010-06-01 | Spark-Space Ltd. | Graphical workspace for idea management |
US7474359B2 (en) | 2004-12-06 | 2009-01-06 | At&T Intellectual Properties I, L.P. | System and method of displaying a video stream |
US8271872B2 (en) | 2005-01-05 | 2012-09-18 | Apple Inc. | Composite audio waveforms with precision alignment guides |
US7603623B1 (en) | 2005-01-07 | 2009-10-13 | Apple Inc. | User interface to automatically correct timing in playback for audio recordings |
US7770125B1 (en) | 2005-02-16 | 2010-08-03 | Adobe Systems Inc. | Methods and apparatus for automatically grouping graphical constructs |
US7562228B2 (en) | 2005-03-15 | 2009-07-14 | Microsoft Corporation | Forensic for fingerprint detection in multimedia |
US8156176B2 (en) | 2005-04-20 | 2012-04-10 | Say Media, Inc. | Browser based multi-clip video editing |
US7401731B1 (en) | 2005-05-27 | 2008-07-22 | Jpmorgan Chase Bank, Na | Method and system for implementing a card product with multiple customized relationships |
US7423645B2 (en) | 2005-06-01 | 2008-09-09 | Microsoft Corporation | System for softening images in screen space |
US8884959B2 (en) | 2005-06-03 | 2014-11-11 | Siemens Aktiengesellschaft | Gradient free shading for volume rendering using shadow information |
US7290704B1 (en) | 2005-06-21 | 2007-11-06 | Robert Ball | Method and system relating to a multi-lateral trade engine for payment transactions |
US7474310B2 (en) | 2005-08-12 | 2009-01-06 | Microsoft Corporation | Object association in a computer generated drawing environment |
US7487170B2 (en) | 2005-09-02 | 2009-02-03 | Qwest Communications International Inc. | Location information for avoiding unwanted communications systems and methods |
US8103545B2 (en) | 2005-09-14 | 2012-01-24 | Jumptap, Inc. | Managing payment for sponsored content presented to mobile communication facilities |
WO2007049241A1 (en) | 2005-10-28 | 2007-05-03 | Evert Schouten De Ruiter | Controlling the value of a plurality of transactions involving a payment token |
US20070162844A1 (en) | 2006-01-12 | 2007-07-12 | Microsoft Corporation | Automatic layout of objects |
US7828204B2 (en) | 2006-02-01 | 2010-11-09 | Mastercard International Incorporated | Techniques for authorization of usage of a payment device |
US7477263B2 (en) | 2006-03-10 | 2009-01-13 | International Business Machines Corporation | Relayout of all or part of a graph in association with a change in state of a graph element |
US7907772B2 (en) | 2006-03-30 | 2011-03-15 | Accuray Incorporated | Delineation on three-dimensional medical image |
JP4765734B2 (en) | 2006-04-06 | 2011-09-07 | ソニー株式会社 | Information processing apparatus, information processing method, information processing program, and display control apparatus |
JP4765733B2 (en) | 2006-04-06 | 2011-09-07 | ソニー株式会社 | Recording apparatus, recording method, and recording program |
JP4784371B2 (en) | 2006-04-06 | 2011-10-05 | ソニー株式会社 | Recording apparatus, recording method, and recording program |
US8850335B2 (en) | 2006-04-11 | 2014-09-30 | Invensys Systems, Inc. | Strategy editor supporting automatic designation of displayed line style based upon a connection data type |
US20070240080A1 (en) | 2006-04-11 | 2007-10-11 | Invensys Systems, Inc. | Strategy editor for process control supporting drag and drop connections to declarations |
US20070256029A1 (en) | 2006-05-01 | 2007-11-01 | Rpo Pty Llimited | Systems And Methods For Interfacing A User With A Touch-Screen |
US7639249B2 (en) * | 2006-05-05 | 2009-12-29 | Microsoft Corporation | Direct inset beveling of geometric figures |
WO2007144813A2 (en) | 2006-06-13 | 2007-12-21 | Koninklijke Philips Electronics N.V. | Fingerprint, apparatus, method for identifying and synchronizing video |
WO2008004236A2 (en) | 2006-07-06 | 2008-01-10 | Sundaysky Ltd. | Automatic generation of video from structured content |
US8069084B2 (en) | 2006-07-14 | 2011-11-29 | Wells Fargo Bank, N.A. | Customer controlled account, system, and process |
US20070100773A1 (en) | 2006-08-11 | 2007-05-03 | Regions Asset Company | Transaction security system having user defined security parameters |
JP4957142B2 (en) | 2006-09-21 | 2012-06-20 | ソニー株式会社 | Playback apparatus, playback method, and playback program |
US7948558B2 (en) | 2006-09-29 | 2011-05-24 | The Directv Group, Inc. | Audio video timing measurement and synchronization |
EP2070231B1 (en) | 2006-10-03 | 2013-07-03 | Shazam Entertainment, Ltd. | Method for high throughput of identification of distributed broadcast content |
US8336770B2 (en) | 2006-10-26 | 2012-12-25 | Mastercard International, Inc. | Method and apparatus for wireless authorization |
US20080117204A1 (en) | 2006-11-22 | 2008-05-22 | Matthias Thorn | Rendering performance regulator |
US7830381B2 (en) | 2006-12-21 | 2010-11-09 | Sectra Ab | Systems for visualizing images using explicit quality prioritization of a feature(s) in multidimensional image data sets, related methods and computer products |
JP5022025B2 (en) | 2006-12-27 | 2012-09-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | A method and apparatus for synchronizing content data streams and metadata. |
US8519979B1 (en) | 2006-12-29 | 2013-08-27 | The Mathworks, Inc. | Multi-point interface for a graphical modeling environment |
US20080256448A1 (en) | 2007-04-14 | 2008-10-16 | Nikhil Mahesh Bhatt | Multi-Frame Video Display Method and Apparatus |
US7788415B2 (en) | 2007-05-28 | 2010-08-31 | Sandisk Il Ltd. | Management of internal operations by a storage device |
JP4941934B2 (en) | 2007-06-08 | 2012-05-30 | サミー株式会社 | Image generating apparatus and image generating program |
US8739068B2 (en) | 2007-06-15 | 2014-05-27 | Microsoft Corporation | Dynamic user interface for in-diagram shape selection |
US20090063312A1 (en) | 2007-08-28 | 2009-03-05 | Hurst Douglas J | Method and System for Processing Secure Wireless Payment Transactions and for Providing a Virtual Terminal for Merchant Processing of Such Transactions |
US9106804B2 (en) | 2007-09-28 | 2015-08-11 | Gracenote, Inc. | Synthesizing a presentation of a multimedia event |
US7949946B2 (en) | 2007-10-17 | 2011-05-24 | Microsoft Corporation | Layout and line routing composition |
US8161396B2 (en) | 2007-12-20 | 2012-04-17 | Mindjet Llc | System and method for facilitating collaboration and communication in a visual mapping system by tracking user presence in individual topics |
US8380625B2 (en) | 2007-12-28 | 2013-02-19 | International Business Machines Corporation | Use of constraints to enforce complex payment policies |
US8205148B1 (en) | 2008-01-11 | 2012-06-19 | Bruce Sharpe | Methods and apparatus for temporal alignment of media |
WO2009094547A1 (en) | 2008-01-24 | 2009-07-30 | Visa U.S.A. Inc. | System and method for conducting transactions with a financial presentation device linked to multiple accounts |
US9324168B2 (en) | 2008-01-31 | 2016-04-26 | Microsoft Technology Licensing, Llc | Constraint-based correction of shape positions in a diagram |
US8762871B2 (en) | 2008-02-03 | 2014-06-24 | Microsoft Corporation | Dynamic preview of diagram elements to be inserted into a diagram |
US20090228786A1 (en) | 2008-03-10 | 2009-09-10 | Microsoft Corporation | Flexible creation of auto-layout compliant diagrams |
US20100063903A1 (en) | 2008-03-10 | 2010-03-11 | Thayne Whipple | Hierarchically applied rules engine ("hare") |
US8334868B2 (en) * | 2008-03-17 | 2012-12-18 | Adobe Systems Incorporated | Method and apparatus for surface inflation using mean curvature constraints |
GB0806351D0 (en) | 2008-04-08 | 2008-05-14 | Salamander Entpr Ltd | Visualisation system |
US7813301B2 (en) * | 2008-05-08 | 2010-10-12 | Verizon Patent And Licensing Inc. | Shrink wrap technique for enclosing multiple polygons |
DE102008028945A1 (en) | 2008-06-18 | 2009-12-31 | Siemens Aktiengesellschaft | Method and visualization module for visualizing unevennesses of the inner surface of a hollow organ, image processing device and tomography system |
US20090319948A1 (en) | 2008-06-20 | 2009-12-24 | Smartdraw.Com | Automated editing of graphics charts |
US8826174B2 (en) | 2008-06-27 | 2014-09-02 | Microsoft Corporation | Using visual landmarks to organize diagrams |
US20100053215A1 (en) | 2008-08-27 | 2010-03-04 | International Business Machines Corporation | Creation and application of patterns to diagram elements |
US8717383B2 (en) | 2008-08-27 | 2014-05-06 | International Business Machines Corporation | Automatic management of diagram elements |
US20100058162A1 (en) | 2008-08-27 | 2010-03-04 | International Business Machines Corporation | Automatic customization of diagram elements |
AU2009295348A1 (en) | 2008-09-25 | 2010-04-01 | Igruuv Pty Ltd | Video and audio content system |
US9804747B2 (en) | 2008-09-30 | 2017-10-31 | Microsoft Technology Licensing, Llc | Techniques to manage access to organizational information of an entity |
US8667406B1 (en) | 2008-10-01 | 2014-03-04 | Adobe Systems Incorporated | Artboard creation and preview |
WO2010068175A2 (en) | 2008-12-10 | 2010-06-17 | Muvee Technologies Pte Ltd | Creating a new video production by intercutting between multiple video clips |
US20100185985A1 (en) | 2009-01-19 | 2010-07-22 | International Business Machines Corporation | Managing radial menus in a computer system |
US20100192102A1 (en) | 2009-01-29 | 2010-07-29 | International Business Machines Corporation | Displaying radial menus near edges of a display area |
US20100192101A1 (en) | 2009-01-29 | 2010-07-29 | International Business Machines Corporation | Displaying radial menus in a graphics container |
US8413040B2 (en) | 2009-02-13 | 2013-04-02 | Microsoft Corporation | Creating and inserting links by drag and drop |
US8464154B2 (en) | 2009-02-25 | 2013-06-11 | Magix Ag | System and method for synchronized multi-track editing |
US8732080B2 (en) | 2009-03-03 | 2014-05-20 | Quercus (BVI) Limited | System and method for executing a financial transaction |
EP2419885B1 (en) | 2009-04-17 | 2021-04-28 | Maxon Computer, Inc. | Method for adding shadows to objects in computer graphics |
US8805723B2 (en) | 2009-05-27 | 2014-08-12 | Iviu Technologies, Llc | Acoustically transmitting a resource identifier in multiple concurrent segments |
US8219930B2 (en) | 2009-06-26 | 2012-07-10 | Verizon Patent And Licensing Inc. | Radial menu display systems and methods |
US8560449B1 (en) | 2009-07-30 | 2013-10-15 | Red Giant Inc. | Adaptive transaction rules system |
US8624893B2 (en) * | 2009-07-31 | 2014-01-07 | Adobe Systems Incorporated | System and method for generating 2D texture coordinates for 3D meshed surfaces |
US8375329B2 (en) | 2009-09-01 | 2013-02-12 | Maxon Computer Gmbh | Method of providing a graphical user interface using a concentric menu |
US8698806B2 (en) | 2009-11-09 | 2014-04-15 | Maxon Computer Gmbh | System and method for performing volume rendering using shadow calculation |
US9035949B1 (en) | 2009-12-21 | 2015-05-19 | Lucasfilm Entertainment Company Ltd. | Visually representing a composite graph of image functions |
US9478033B1 (en) | 2010-08-02 | 2016-10-25 | Red Giant Software | Particle-based tracking of objects within images |
US9019275B2 (en) | 2010-10-01 | 2015-04-28 | Lucid Software, Inc. | Manipulating graphical objects |
US9293117B2 (en) | 2010-10-01 | 2016-03-22 | Lucid Software, Inc | Manipulating graphical objects |
US9646291B2 (en) | 2011-05-11 | 2017-05-09 | Visa International Service Association | Electronic receipt manager apparatuses, methods and systems |
US9223488B1 (en) | 2011-05-26 | 2015-12-29 | Lucasfilm Entertainment Company Ltd. | Navigable interfaces for graphical representations |
US8793599B1 (en) | 2011-08-15 | 2014-07-29 | Lucasfilm Entertainment Company Ltd. | Hybrid processing interface |
US8601366B2 (en) | 2011-09-08 | 2013-12-03 | Microsoft Corporation | Visualization and editing of composite layouts |
US10210452B2 (en) | 2011-09-21 | 2019-02-19 | Qualcomm Incorporated | High level neuromorphic network description apparatus and methods |
US9087412B2 (en) | 2011-09-26 | 2015-07-21 | Nokia Technologies Oy | Method and apparatus for grouping and de-overlapping items in a user interface |
US20130151413A1 (en) | 2011-12-08 | 2013-06-13 | Red Giant, Inc | Systems and methods for ensuring the application of user-mandated rules to payment transactions |
US9047704B2 (en) | 2012-03-27 | 2015-06-02 | IntegrityWare, Inc. | Method for filleting 3D mesh edges by subivision |
GB2499694B8 (en) * | 2012-11-09 | 2017-06-07 | Sony Computer Entertainment Europe Ltd | System and method of image reconstruction |
US10022914B2 (en) * | 2013-11-12 | 2018-07-17 | Adobe Systems Incorporated | Method and apparatus for automatically adding utility holes to printable 3-dimensional models |
US20150149314A1 (en) | 2013-11-22 | 2015-05-28 | Red Giant, Inc. | Active transaction receipts |
US20150161595A1 (en) | 2013-12-06 | 2015-06-11 | Red Giant, Inc. | Digital payment card presentation systems, methods, and apparatuses |
US20150246488A1 (en) * | 2014-03-03 | 2015-09-03 | Microsoft Corporation | Fabricating three-dimensional objects with overhang |
US9471957B2 (en) | 2014-03-28 | 2016-10-18 | Smart Technologies Ulc | Method for partitioning, managing and displaying a collaboration space and interactive input system employing same |
US20160328098A1 (en) | 2015-05-06 | 2016-11-10 | Haworth, Inc. | Virtual workspace viewport location markers in collaboration systems |
US9799128B2 (en) | 2015-07-30 | 2017-10-24 | Microsoft Technology Licensing, Llc | Incremental automatic layout of graph diagram |
US10366141B2 (en) | 2017-09-11 | 2019-07-30 | Bank Of American Corporation | Computer architecture for emulating n-dimensional workspaces in a correlithm object processing system |
US20200137195A1 (en) | 2018-10-31 | 2020-04-30 | Salesforce.Com, Inc. | Techniques and architectures for managing operation flow in a complex computing environment |
US11321904B2 (en) | 2019-08-30 | 2022-05-03 | Maxon Computer Gmbh | Methods and systems for context passing between nodes in three-dimensional modeling |
US11714928B2 (en) | 2020-02-27 | 2023-08-01 | Maxon Computer Gmbh | Systems and methods for a self-adjusting node workspace |
US11694413B2 (en) | 2020-08-25 | 2023-07-04 | Spatial Systems Inc. | Image editing and sharing in an augmented reality system |
-
2020
- 2020-09-02 US US17/010,536 patent/US11373369B2/en active Active
-
2021
- 2021-08-19 WO PCT/US2021/046701 patent/WO2022051099A1/en active Application Filing
- 2021-08-19 JP JP2023514953A patent/JP2023540121A/en active Pending
- 2021-08-19 CN CN202180074147.3A patent/CN116529776A/en active Pending
- 2021-08-19 EP EP21864895.4A patent/EP4208854A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220068022A1 (en) | 2022-03-03 |
JP2023540121A (en) | 2023-09-21 |
CN116529776A (en) | 2023-08-01 |
WO2022051099A1 (en) | 2022-03-10 |
US11373369B2 (en) | 2022-06-28 |
EP4208854A4 (en) | 2024-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11373369B2 (en) | Systems and methods for extraction of mesh geometry from straight skeleton for beveled shapes | |
US9330476B2 (en) | Generating a modified image with additional content provided for a region thereof | |
JP4237806B2 (en) | Progressive mesh adaptive subdivision method and apparatus | |
US9153062B2 (en) | Systems and methods for sketching and imaging | |
JP4083238B2 (en) | Progressive mesh adaptive subdivision method and apparatus | |
US7733340B1 (en) | Systems and methods for using a single tool for the creation and modification of solids and surfaces | |
Wu et al. | ViSizer: a visualization resizing framework | |
US8447576B2 (en) | System and method for producing editable three-dimensional models | |
JP2022024065A (en) | Multi-resolution image system | |
US10332291B2 (en) | Content aware image editing | |
KR20140024361A (en) | Employing mesh files to animate transitions in client applications | |
US9275485B2 (en) | Seam network processing for panorama weaving | |
US20120194535A1 (en) | Two-dimensional vector fills using topological recipes | |
Liu et al. | An indirect approach for automatic generation of quadrilateral meshes with arbitrary line constraints | |
US10824405B2 (en) | Layer-based conversion with functionality retention | |
WO2014014928A2 (en) | Systems and methods for three-dimensional sketching and imaging | |
Lira et al. | Multiple Intersections of Finite-Element Surface Meshes. | |
Sokolov et al. | High level methods for scene exploration | |
US20180314796A1 (en) | Visualization and navigation of knowledge domains | |
EP3842911B1 (en) | A 3d interface with an improved object selection | |
Santos et al. | An approach for rapid generation of interactive spider maps for public transport networks | |
Mahdavi-Amiri et al. | Adaptive atlas of connectivity maps | |
US20140108980A1 (en) | Visualization and navigation of knowledge domains | |
US20150243057A1 (en) | Methods of rendering graphics by stroking paths | |
Regnauld et al. | Automatic Generalisation for production |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20230323 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
RAP3 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: MAXON COMPUTER GMBH |
|
P01 | Opt-out of the competence of the unified patent court (upc) registered |
Effective date: 20231025 |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) | ||
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R079 Free format text: PREVIOUS MAIN CLASS: G06T0015100000 Ipc: G06T0017200000 |
|
A4 | Supplementary search report drawn up and despatched |
Effective date: 20240722 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06F 40/109 20200101ALI20240716BHEP Ipc: G06T 17/10 20060101ALI20240716BHEP Ipc: G06T 11/20 20060101ALI20240716BHEP Ipc: G06T 17/20 20060101AFI20240716BHEP |