The present disclosure relates to systems and methods for three-dimensional modeling process enhancement. More particularly, the present disclosure relates to systems and methods for adjusting placement and scaling of nodes in a workspace of a node editor.
In three-dimensional (3D) modeling, a node editor allows a user to create an object by routing basic properties through a set of nodes. Each node may perform an operation on the properties, changing how the object will appear visually in 3D space, and may pass the modified properties to the next node. By utilizing various nodes and making appropriate connections between them, desired object appearances can be achieved.
The background description provided herein is for the purpose of generally presenting the context of the disclosure. Unless otherwise indicated herein, the materials described in this section are not prior art and are not admitted to be prior art, or suggestions of the prior art, by inclusion in this section.
One embodiment provides a computer-implemented method of automatically adjusting a workspace comprising a plurality of nodes for sustained workflow, the method comprising: receiving a new node in the workspace; determining that the new node overlaps with one or more nodes; repositioning a set of nodes within a predetermined distance of the overlap, the set of nodes comprising the new node and the one or more nodes; determining that the new node still overlaps with the one or more nodes; and scaling down the set of nodes until there is no overlap.
One embodiments provides a system comprising: one or more processors; and one or more computer-readable media comprising instructions which, when executed by the one or more processors, cause the one or more processor to perform operations for automatically adjusting a workspace comprising a plurality of nodes for sustained workflow. The operations may comprise: receiving a new node in the workspace; determining that the new node overlaps with one or more nodes; repositioning a set of nodes within a predetermined distance of the overlap, the set of nodes comprising the new node and the one or more nodes; determining that the new node still overlaps with the one or more nodes; and scaling down the set of nodes until there is no overlap.
One embodiment provides one or more non-transitory computer-readable media comprising instructions which, when executed by one or more processors, cause the one or more processors to perform operations for automatically adjusting a workspace comprising a plurality of nodes for sustained workflow. The operations may comprise: receiving a new node in the workspace; determining that the new node overlaps with one or more nodes; repositioning a set of nodes within a predetermined distance of the overlap, the set of nodes comprising the new node and the one or more nodes; determining that the new node still overlaps with the one or more nodes; and scaling down the set of nodes until there is no overlap.
Additional objects and advantages of the disclosed embodiments will be set forth in part in the description that follows, and in part will be apparent from the description, or may be learned by practice of the disclosed embodiments. The objects and advantages of the disclosed embodiments will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosed embodiments, as claimed.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various exemplary embodiments and together with the description, serve to explain the principles of the disclosed embodiments.
The following embodiments describe systems and methods for 3D modeling process enhancement and, more particularly, for adjusting placement and scaling of nodes in a workspace of a node editor.
3D modeling software allows a user to navigate and inspect objects created in a virtual 3D space and work on small details as well as large scene elements without losing context. A node editor of such 3D modeling software may enable customization of object appearances using nodes and node connections, allowing a user to manipulate object properties to desired specifications. In general, a workspace of a node editor may be composed of i) nodes that represent computations and ii) connections between nodes to control how data flows through the nodes. When creating a complex object or scene, a workspace of the node editor may get clustered with nodes quickly, making visualization and/or addition of nodes more difficult and cumbersome. For instance, the user might have to manually move, group, and/or rescale existing nodes to make room for additional nodes within the workspace.
One solution to this problem is to either arrange existing nodes into node groups or fold the nodes away. Both of these options come with the disadvantage of requiring additional actions from the user to access the nodes again. Further, the node groups or folded areas may not necessarily be created in a logical and/or functional manner, making the resulting layout hard to interpret. Another solution is auto-layouting. This methodology also comes with a disadvantage of destroying the original setup or layout developed by the user, which may lead to a major interruption or confusion in the workflow.
The techniques contemplated in the present disclosure may alleviate or minimize the aforementioned problems. In general, the techniques discussed in the present disclosure provide an automated solution that does not destroy a user's original node layout, by repositioning and/or rescaling nodes based on the current scale and/or size of each node and/or distances from each other in the workspace. In one embodiment, in response to receiving a new node in a workspace, any overlap with existing nodes may be detected. If there is an overlap, a set of nodes within a vicinity of the overlap may be repositioned to even out node distribution around the new node. If there is still an overlap after repositioning, the set of nodes may be scaled down until no overlap exists. Alternatively, the set of nodes may be scaled without an initial repositioning, or the scaling may occur prior to any repositioning. Additionally, a view of the workspace may be adjusted to visually maintain the sizes of the nodes before they were scaled down (i.e., pre-scaling node sizes). By repositioning and/or rescaling nodes, the workspace may be able to hold as many nodes in as small an area as the user is comfortable with. The user may be allowed to zoom in and out of an area of interest within the workspace, for a better view and/or understanding of the node layout.
The subject matter of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, which form a part hereof, and which show, by way of illustration, specific exemplary embodiments. An embodiment or implementation described herein as “exemplary” is not to be construed as preferred or advantageous, for example, over other embodiments or implementations; rather, it is intended to reflect or indicate that the embodiment(s) is/are “example” embodiment(s). Subject matter may be embodied in a variety of different forms and, therefore, covered or claimed subject matter is intended to be construed as not being limited to any exemplary embodiments set forth herein; exemplary embodiments are provided merely to be illustrative. Likewise, a reasonably broad scope for claimed or covered subject matter is intended. Among other things, for example, subject matter may be embodied as methods, devices, components, or systems. Accordingly, 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.
It should also be noted that all numeric values disclosed herein may have a variation of ±10% (unless a different variation is specified) from the disclosed numeric value. Further, all relative terms such as “about,” “substantially,” “approximately,” etc. are used to indicate a possible variation of ±10% (unless noted otherwise or another variation is specified).
Throughout the specification and claims, terms may have nuanced meanings suggested or implied in context beyond an explicitly stated meaning. Likewise, the phrase “in one embodiment” or “in some embodiments” as used herein does not necessarily refer to the same embodiment and the phrase “in another embodiment” as used herein does not necessarily refer to a different embodiment. It is intended, for example, that claimed subject matter include combinations of exemplary embodiments in whole or in part.
The terminology used below may be interpreted in its broadest reasonable manner, even though it is being used in conjunction with a detailed description of certain specific examples of the present disclosure. Indeed, certain terms may even be emphasized below; however, any terminology intended to be interpreted in any restricted manner will be overtly and specifically defined as such in this Detailed Description section.
Referring now to the appended drawings,
At step 330, the modeling application may reposition a set of nodes within a vicinity of the overlap(s), in order to eliminate the overlap(s). The set of nodes may comprise the new node and the one or more nodes that overlap with the new node. The set of nodes may further comprise one or more other nodes in the workspace, including nodes that do not overlap with the new node. In general, a vicinity of an overlap may cover the area within close proximity from the detected overlap(s) such as, for example, the area within a predetermined distance from the detected overlap(s). In one embodiment, a vicinity of an overlap may comprise a circular area extending from a center point of the overlap(s). A radius of the circular area may be approximately twice a dimension of the new node, or approximately twice a dimension of a node that overlaps with the new node. The dimension of the new or existing node may be the length of a side of the node, which is usually rectangular-shaped. However, the radius of the circular area may be configured by a developer or an administrator of the modeling application to any specification using dimensions of nodes and/or any overlap(s) in the workspace. For example, a radius of the circular area may be approximately three times a dimension of the new node, or approximately three times a dimension of a node that overlaps with the new node. The set of nodes within the vicinity of the overlap may be repositioned such that the node distribution associated with the vicinity of the overlap is evened out (i.e., a local relaxation technique). In other words, the set of nodes may be moved away (i.e., “relaxed”) from the location of the overlap(s). In some embodiments, when the set of nodes in the vicinity of the overlap are pushed away from the overlap, certain nodes outside the vicinity of the overlap may also be pushed away, providing additional space for the set of nodes to be repositioned. In such a case, spaces between clusters of closely-grouped nodes may widen.
In an alternative or additional embodiment, repositioning may be based on the number of connection hops between the new node and each of the one or more nodes that overlap with the new node. The number of connection hops between two nodes may indicate the strength of relationship between the two nodes, or closeness between the two nodes. For example, the more the number of intervening nodes between two nodes, the weaker the relationship between the two nodes. In case of a weaker relationship, the “relaxation” of the node from the new node (i.e., the degree of movement away from the new node) may be more elastic, meaning the node may be pushed farther away from its previous position. In case of a stronger relationship, the “relaxation” of the node from the new node may be less elastic, meaning the node may be moved but may remain relatively close to its previous position. The relaxation technique based on the number of connection hops between nodes may be advantageous in preserving closely-related nodes within close proximity from each other, enabling the user to discern the strength of relationship between nodes based on distances between them and/or the extent of movement away from a new node.
With continuing reference to
Alternatively or additionally, the repositioning may consider the number of connection hops between the new node 45 and each of the nodes 43 and 45 that overlap with the new node 45. In
As explained above, a node whose connection with a new node is relatively weak may be moved farther away from its previous position, compared to repositioning of a node whose connection with the new node is relatively strong. For example, in
With renewed reference to
Referring back to
In an alternative or additional embodiment, the set of nodes may be rescaled based on a node density map of the workspace. A node density map may be generated based on the location and density/weight of each node included in the workspace. The effective density or weight of a node may be calculated based on its size and current scale. Each node may thus add a fraction to the total density/weight associated with the workspace, or a portion of the workspace.
It should be noted that, the area enclosing the nodes to be repositioned may be within a first predetermined distance from the point of overlap detected at step 320, and the area enclosing the nodes to be rescaled may be within a second predetermined distance from the point of overlap detected at step 340. In one embodiment, the first predetermined distance and the second predetermined distance may be the same. In other embodiments, the first predetermined distance and the second predetermined distance may be different. As explained above, a developer or an administrator may configure parameters defining the area in which the nodes to be repositioned or rescaled exist.
To prevent differences in node scale while using the node editor, which might irritate the end user, the modeling application may adjust scaling as the user pans to have the nodes in the user's field of view at the same scale. In one embodiment, the action of scaling nodes to the same scale may be performed by the modeling application in response to determining that the workspace is being scrolled by the user (i.e., in response to the user zooming in on a particular area of the workspace). In some embodiments, the actions of panning (e.g., zooming in) and scaling nodes to the same sale may be performed automatically by the modeling application. As an example,
With renewed reference to
Embodiments of the present disclosure and all of the functional operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the present disclosure can be implemented as one or more computer program products, e.g., one or more modules of computer program instructions encoded on a computer readable medium for execution by, or to control the operation of, data processing apparatus. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more of them. The term “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. A propagated signal is an artificially generated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus.
A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a tablet computer, a mobile telephone, a personal digital assistant (PDA), a mobile audio player, a Global Positioning System (GPS) receiver, to name just a few. Computer readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
To provide for interaction with a user, embodiments of the present disclosure can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
Embodiments of the present disclosure can be implemented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the present disclosure, or any combination of one or more such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
While this specification contains many specifics, these should not be construed as limitations on the scope of the present disclosure or of what may be claimed, but rather as descriptions of features specific to particular embodiments of the present disclosure. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
| Number | Name | Date | Kind |
|---|---|---|---|
| 4730186 | Koga et al. | Mar 1988 | A |
| 4963967 | Orland et al. | Oct 1990 | A |
| 5040081 | McCutchen | Aug 1991 | A |
| 5060135 | Levine | Oct 1991 | A |
| 5086495 | Gray et al. | Feb 1992 | A |
| 5485563 | Fisher | Jan 1996 | A |
| 5519828 | Rayner | May 1996 | A |
| 5555357 | Fernandes | Sep 1996 | A |
| 5623612 | Haneda et al. | Apr 1997 | A |
| 5664132 | Smith | Sep 1997 | A |
| 5745113 | Jordan | Apr 1998 | A |
| 5828360 | Anderson et al. | Oct 1998 | A |
| 5933153 | Deering et al. | Aug 1999 | A |
| 5936671 | Van Beek et al. | Aug 1999 | A |
| 5973691 | Servan-Schreiber | Oct 1999 | A |
| 5982909 | Erdem et al. | Nov 1999 | A |
| 5986662 | Argiro et al. | Nov 1999 | A |
| 6108006 | Hoppe | Aug 2000 | A |
| 6144378 | Lee et al. | Nov 2000 | A |
| 6259458 | Theisen | Jul 2001 | B1 |
| 6373488 | Gasper | Apr 2002 | B1 |
| 6389173 | Suzuki et al. | May 2002 | B1 |
| 6448987 | Easty et al. | Sep 2002 | B1 |
| 6452875 | Lee et al. | Sep 2002 | B1 |
| 6546558 | Taguchi | Apr 2003 | B1 |
| 6549219 | Selker | Apr 2003 | B2 |
| 6629065 | Gadh | Sep 2003 | B1 |
| 6728682 | Fasciano | Apr 2004 | B2 |
| 6771263 | Behrens et al. | Aug 2004 | B1 |
| 6839462 | Kitney et al. | Jan 2005 | B1 |
| 6879322 | Iida | Apr 2005 | B2 |
| 6888916 | Launay et al. | May 2005 | B2 |
| 6973200 | Tanaka et al. | Dec 2005 | B1 |
| 6993399 | Covell et al. | Jan 2006 | B1 |
| 7290704 | Ball et al. | Nov 2007 | B1 |
| 7372472 | Bordeleau et al. | May 2008 | B1 |
| 7401731 | Pletz et al. | Jul 2008 | B1 |
| 7413113 | Zhu | Aug 2008 | B1 |
| 7423645 | Dougherty et al. | Sep 2008 | B2 |
| 7439975 | Hsu et al. | Oct 2008 | B2 |
| 7487170 | Stevens | Feb 2009 | B2 |
| 7512886 | Herberger et al. | May 2009 | B1 |
| 7584152 | Gupta et al. | Sep 2009 | B2 |
| 7603623 | Lengeling et al. | Oct 2009 | B1 |
| 7668243 | Ho et al. | Feb 2010 | B2 |
| 7692724 | Arora et al. | Apr 2010 | B2 |
| 7701445 | Inokawa et al. | Apr 2010 | B2 |
| 7730429 | Kruse et al. | Jun 2010 | B2 |
| 7770125 | Young | Aug 2010 | B1 |
| 7831521 | Ball et al. | Nov 2010 | B1 |
| 7949946 | Mollicone | May 2011 | B2 |
| 8103545 | Ramer et al. | Jan 2012 | B2 |
| 8140389 | Altberg et al. | Mar 2012 | B2 |
| 8161396 | Barber | Apr 2012 | B2 |
| 8205148 | Sharpe et al. | Jun 2012 | B1 |
| 8336770 | Grillion | Dec 2012 | B2 |
| 8345046 | Norrby | Jan 2013 | B2 |
| 8370761 | Good | Feb 2013 | B2 |
| 8375329 | Drayton et al. | Feb 2013 | B2 |
| 8413040 | O'Dell-Alexander | Apr 2013 | B2 |
| 8519979 | Smith | Aug 2013 | B1 |
| 8560449 | Sears | Oct 2013 | B1 |
| 8601366 | Saltwell | Dec 2013 | B2 |
| 8659621 | Stiglitz | Feb 2014 | B1 |
| 8667406 | Thakur | Mar 2014 | B1 |
| 8698806 | Kunert et al. | Apr 2014 | B2 |
| 8793599 | Lajoie | Jul 2014 | B1 |
| 8850335 | Eldridge | Sep 2014 | B2 |
| 9035949 | Oberheu | May 2015 | B1 |
| 9038001 | Jetter | May 2015 | B2 |
| 9158508 | Eldridge | Oct 2015 | B2 |
| 9223488 | Lajoie | Dec 2015 | B1 |
| 9449647 | Sharpe et al. | Sep 2016 | B2 |
| 9478033 | Sharpe et al. | Oct 2016 | B1 |
| 9734608 | Grealish | Aug 2017 | B2 |
| 9740368 | Love | Aug 2017 | B1 |
| 9766787 | Danton | Sep 2017 | B2 |
| 9804747 | Schmitlin | Oct 2017 | B2 |
| 9911211 | Damaraju | Mar 2018 | B1 |
| 10434717 | Boettcher et al. | Oct 2019 | B2 |
| 11321904 | Kniemeyer | May 2022 | B2 |
| 20020094135 | Caspi et al. | Jul 2002 | A1 |
| 20020122113 | Foote | Sep 2002 | A1 |
| 20020123938 | Yu et al. | Sep 2002 | A1 |
| 20030146915 | Brook et al. | Aug 2003 | A1 |
| 20030160944 | Foote et al. | Aug 2003 | A1 |
| 20030179234 | Nelson | Sep 2003 | A1 |
| 20030179740 | Baina et al. | Sep 2003 | A1 |
| 20040049739 | McArdle | Mar 2004 | A1 |
| 20040148159 | Crockett et al. | Jul 2004 | A1 |
| 20040170392 | Lu et al. | Sep 2004 | A1 |
| 20050046889 | Braudaway | Mar 2005 | A1 |
| 20050091599 | Yamakado | Apr 2005 | A1 |
| 20050162395 | Unruh | Jul 2005 | A1 |
| 20050165840 | Pratt et al. | Jul 2005 | A1 |
| 20050192956 | Evans | Sep 2005 | A1 |
| 20050199714 | Brandt et al. | Sep 2005 | A1 |
| 20060008247 | Minami et al. | Jan 2006 | A1 |
| 20060078305 | Arora et al. | Apr 2006 | A1 |
| 20060098007 | Rouet et al. | May 2006 | A1 |
| 20060121436 | Kruse | Jun 2006 | A1 |
| 20060123445 | Sullivan et al. | Jun 2006 | A1 |
| 20060150072 | Salvucci | Jul 2006 | A1 |
| 20060150215 | Wroblewski | Jul 2006 | A1 |
| 20060212704 | Kirovski et al. | Sep 2006 | A1 |
| 20060290695 | Salomie | Dec 2006 | A1 |
| 20070002047 | Desgranges et al. | Jan 2007 | A1 |
| 20070036403 | Albertson | Feb 2007 | A1 |
| 20070075998 | Cook et al. | Apr 2007 | A1 |
| 20070100773 | Wallach | May 2007 | A1 |
| 20070162844 | Woodall | Jul 2007 | A1 |
| 20070189708 | Lerman et al. | Aug 2007 | A1 |
| 20070230765 | Wang et al. | Oct 2007 | A1 |
| 20070248321 | Hamada | Oct 2007 | A1 |
| 20070248322 | Hamada | Oct 2007 | A1 |
| 20070256029 | Maxwell | Nov 2007 | A1 |
| 20070257909 | Kihslinger | Nov 2007 | A1 |
| 20080005130 | Logan et al. | Jan 2008 | A1 |
| 20080012859 | Saillet | Jan 2008 | A1 |
| 20080021787 | Mackouse | Jan 2008 | A1 |
| 20080033880 | Fiebiger et al. | Feb 2008 | A1 |
| 20080079851 | Stanger et al. | Apr 2008 | A1 |
| 20080082510 | Wang et al. | Apr 2008 | A1 |
| 20080099552 | Grillion | May 2008 | A1 |
| 20080117204 | Thom | May 2008 | A1 |
| 20080150937 | Lundstrom et al. | Jun 2008 | A1 |
| 20080162577 | Fukuda et al. | Jul 2008 | A1 |
| 20080177663 | Gupta et al. | Jul 2008 | A1 |
| 20080256448 | Bhatt | Oct 2008 | A1 |
| 20080301341 | Mosek et al. | Dec 2008 | A1 |
| 20080304814 | Fujii | Dec 2008 | A1 |
| 20080306790 | Otto et al. | Dec 2008 | A1 |
| 20080313565 | Albertson | Dec 2008 | A1 |
| 20090034940 | Hamada | Feb 2009 | A1 |
| 20090063312 | Hurst | Mar 2009 | A1 |
| 20090079742 | Albertson | Mar 2009 | A1 |
| 20090087161 | Roberts et al. | Apr 2009 | A1 |
| 20090100333 | Xiao | Apr 2009 | A1 |
| 20090157519 | Bishop et al. | Jun 2009 | A1 |
| 20090167942 | Hoogenstraaten et al. | Jul 2009 | A1 |
| 20090171683 | Hoyos et al. | Jul 2009 | A1 |
| 20090192904 | Patterson et al. | Jul 2009 | A1 |
| 20090198614 | De Ruiter et al. | Aug 2009 | A1 |
| 20090199123 | Albertson | Aug 2009 | A1 |
| 20090228786 | Danton | Sep 2009 | A1 |
| 20090231337 | Carr et al. | Sep 2009 | A1 |
| 20090254864 | Whittington et al. | Oct 2009 | A1 |
| 20090279453 | Yeh et al. | Nov 2009 | A1 |
| 20090318800 | Gundel et al. | Dec 2009 | A1 |
| 20090319948 | Stannard | Dec 2009 | A1 |
| 20100050083 | Axen et al. | Feb 2010 | A1 |
| 20100050102 | Baba | Feb 2010 | A1 |
| 20100053215 | Coldicott | Mar 2010 | A1 |
| 20100058161 | Coldicott | Mar 2010 | A1 |
| 20100058162 | Coldicott | Mar 2010 | A1 |
| 20100063903 | Whipple et al. | Mar 2010 | A1 |
| 20100083077 | Paulsen | Apr 2010 | A1 |
| 20100146393 | Land et al. | Jun 2010 | A1 |
| 20100153841 | Haug, III | Jun 2010 | A1 |
| 20100183280 | Beauregard et al. | Jul 2010 | A1 |
| 20100185985 | Chmielewski et al. | Jul 2010 | A1 |
| 20100192101 | Chmielewski et al. | Jul 2010 | A1 |
| 20100192102 | Chmielewski et al. | Jul 2010 | A1 |
| 20100211860 | O'Dell-Alexander | Aug 2010 | A1 |
| 20100228669 | Karim | Sep 2010 | A1 |
| 20100333030 | Johns | Dec 2010 | A1 |
| 20110161873 | Murakami | Jun 2011 | A1 |
| 20110169825 | Ishiyama | Jul 2011 | A1 |
| 20120020585 | Okuhara | Jan 2012 | A1 |
| 20120081389 | Dilts | Apr 2012 | A1 |
| 20120246596 | Ording | Sep 2012 | A1 |
| 20120290609 | Britt | Nov 2012 | A1 |
| 20120293558 | Dilts | Nov 2012 | A1 |
| 20130073500 | Szatmary | Mar 2013 | A1 |
| 20130093787 | Fulks | Apr 2013 | A1 |
| 20130132895 | Nemeth | May 2013 | A1 |
| 20130151413 | Sears | Jun 2013 | A1 |
| 20130191775 | Lawson | Jul 2013 | A1 |
| 20130227427 | Mockli | Aug 2013 | A1 |
| 20130232442 | Groth | Sep 2013 | A1 |
| 20130328870 | Grenfell | Dec 2013 | A1 |
| 20140101605 | Udvardy | Apr 2014 | A1 |
| 20140132603 | Raghoebardayal | May 2014 | A1 |
| 20140164989 | Kuh | Jun 2014 | A1 |
| 20140214825 | Zhang | Jul 2014 | A1 |
| 20140317500 | Kim | Oct 2014 | A1 |
| 20140354650 | Singh | Dec 2014 | A1 |
| 20140359525 | Weiner | Dec 2014 | A1 |
| 20140372894 | Pandy | Dec 2014 | A1 |
| 20150106755 | Moore | Apr 2015 | A1 |
| 20150134095 | Hemani et al. | May 2015 | A1 |
| 20150149314 | Sears | May 2015 | A1 |
| 20150161595 | Sears | Jun 2015 | A1 |
| 20150279071 | Xin | Oct 2015 | A1 |
| 20150331968 | Crocker | Nov 2015 | A1 |
| 20150339379 | Inagaki | Nov 2015 | A1 |
| 20160041727 | Choi | Feb 2016 | A1 |
| 20160103793 | Fang | Apr 2016 | A1 |
| 20160216872 | Dilts | Jul 2016 | A1 |
| 20160261544 | Conover | Sep 2016 | A1 |
| 20170078504 | Nagata | Mar 2017 | A1 |
| 20170116315 | Xiong | Apr 2017 | A1 |
| 20170371530 | Vranjes | Dec 2017 | A1 |
| 20180048661 | Bird | Feb 2018 | A1 |
| 20180108164 | Dilts | Apr 2018 | A1 |
| 20180307754 | Somlai-Fischer | Oct 2018 | A1 |
| 20190005115 | Warner | Jan 2019 | A1 |
| 20190163835 | Scheideler | May 2019 | A1 |
| 20190258693 | Lawrence | Aug 2019 | A1 |
| 20190311219 | Alabdulmohsin | Oct 2019 | A1 |
| 20190379700 | Canzanese, Jr. | Dec 2019 | A1 |
| 20200137195 | Lipke | Apr 2020 | A1 |
| 20210065424 | Kniemeyer | Mar 2021 | A1 |
| 20210272327 | Wang | Sep 2021 | A1 |
| 20210286510 | Tyler | Sep 2021 | A1 |
| 20210286534 | Mulholland | Sep 2021 | A1 |
| 20220068022 | Kemmler | Mar 2022 | A1 |
| 20220068036 | Ng | Mar 2022 | A1 |
| 20220101065 | Adeniran | Mar 2022 | A1 |
| 20220179883 | Biernacki | Jun 2022 | A1 |
| 20220308740 | Kawano | Sep 2022 | A1 |
| Number | Date | Country |
|---|---|---|
| 0916374 | May 1999 | EP |
| 2230666 | Sep 2010 | EP |
| 2008305241 | Dec 2008 | JP |
| WO0139130 | May 2001 | WO |
| WO2004040576 | May 2004 | WO |
| WO2009042858 | Apr 2009 | WO |
| WO2010034063 | Apr 2010 | WO |
| WO2010068175 | Jun 2010 | WO |
| WO2010138776 | Dec 2010 | WO |
| WO2016179401 | Nov 2016 | WO |
| Entry |
|---|
| Shrstha et al., “Synchronization of Multi-Camera Video Recordings Based on Audio”, MM '07: Proceedings of the 15th ACM international conference on Multimedia, Sep. 2007, Augsburg, Bavaria, Germany, pp. 545-548, 5 pages. https://doi.org/10.1145/1291233.1291367. |
| Toklu et al., “Semi-automatic video object segmentation in the presence of occlusion”, Jun. 2000, IEEE Transactions on Circuits and Systems for Video Technology, vol. 10, iss. 624-629, 3 pages. |
| Toklu et al., “Two-dimensional triangular mesh-based mosaicking for object tracking in the presence of occlusion”, Jan. 10, 1997, Proc. SPIE, Visual Communications and Image Processing '97, vol. 3024, p. 328-337, 11 pages. |
| Toklu et al., “Tracking Motion and Intensity Variations Using Hierarchical 2-D Mesh Modeling for Synthetic Object Transfiguration”, Nov. 1996, Graphical Models and Image Processing, vol. 58, No. 6, p. 553-573, 21 pages. |
| Jain et al., “Non-Rigid Spectral Correspondence of Triangle Meshes”, Apr. 5, 2007, International Journal of Shape Modeling, 25 pages. |
| Toklu et al., “2-D mesh-based tracking of deformable objects with occlusion”, Sep. 19, 1996, Proceedings of International Conference on Image Processing, 1996, vol. 1, p. 933-936, 3 pages. |
| Zhao et al., “An object tracking algorithm based on occlusion mesh model”, 2002, Proceedings of International Conference on Machine Learning and Cybernetics, 2002, vol. 1, p. 288-292, 3 pages. |
| Altunbasak et al., “Occlusion-adaptive 2-D mesh tracking”, May 10, 1996, Conference Proceedings ICASSP-96, vol. 4, p. 2108-2111. |
| Tekalp et al., “Face and 2-D mesh animation in MPEG-4”, Jan. 2000, Signal Processing: Image Communication, vol. 15, issue 4-5, p. 387-421. https://doi.org/10.1016/S0923-5965(99)00055-7. |
| Shewchuk, “Triangle: Engineering a 2D quality mesh generator and Delaunay triangulator”, 1996, Applied Computational Geometry towards Geometric Engineering Lecture Notes in Computer Science, 1996, vol. 1148, 11 pages. |
| Dobashi et al., Interactive Rendering method for Displaying Shafts of Light, Proceedings Computer Graphics and Applications; Oct. 2000, pp. 31-37, 435, 3 pages. DOI:10.1109/PCCGA.2000.883864. |
| Li et al., Unified Volumes for Light Shaft and Shadow with Scattering, 2007 10th IEEE International Conference on Computer-Aided Design and Computer Graphics, Oct. 2007, pp. 161-166. |
| Akenine-Moller, T., et al., Real-Time Rendering, (Second Edition, A. K. Peters, Ltd., Wellesley, MA), (202), pp. 158, 315-316. |
| Herndon, K. P., et al., “Interactive Shadows”, UIST: Proceedings of the Fifth Annual ACM Symposium on User Interface Software and Technology, (Nov. 15-18, 1992), (1992), 1-6. |
| Loscos, C., et al., “Real-Time Shadows for Animated Crowds in Virtual Cities”, VRST 2001. Proceedings of the ACM Symposium on Virtual Reality Software and Technology, (Nov. 15-17, 2001, Banff, Alberta, Canada), (2001), 85-92. |
| Woo, A., et al., “A Survey of Shadow Algorithms”, IEEE Computer Graphics & Applications, (Nov. 1990), 31 pages. |
| Bregler, Christoph et al., “Video Rewrite: Driving Visual Speech with Audio”, ACM Siggraph 97, Proceedings of the 24th Annual Conference on Computer Graphics and Interactive Techniques, 1997, ISBN: 0-89791-896-7, pp. 1-8. |
| Haitsma, J. et al., “A Highly Robust Audio Fingerprinting System”, IRCAM, 2002, 9 pages. |
| Held M, Palfrader P. Skeletal structures for modeling generalized chamfers and fillets in the presence of complex miters. Computer-Aided Design and Applications. Jan. 1, 2019;16(4):620-7, 8 pages. |
| Palfrader, P., Weighted Skeletal Structures in Theory and Practice (Doctoral dissertation, University of Salzburg), 111 pages. |
| Martin Held et al., ‘Straight Skeletons and Mitered Offsets of Polyhedral Terrains in 3D’, Computer-Aided Design and Applications, vol. 16, No. 4, 2019, pp. 611-619, Jul. 9, 2018, pp. 611-617. |
| Gill Barequet et al., ‘Straight Skeletons of Three-Dimensional Polyhedra’, arXiv:0805.0022v1, Apr. 30, 2008, pp. 1-11. |
| “Alaric: Euronet Worldwide to implement Alarics Fractals fraud detection solution; Fractals will provide a comprehensive fraud solution for the prevention and detection of fraudulent transactions”, M2 Presswire [Coventry],Nov. 7, 2006, pp. 1-2. |
| Number | Date | Country | |
|---|---|---|---|
| 20210271784 A1 | Sep 2021 | US |