US8839153B2 - Methods and system for modifying parameters of three dimensional objects subject to physics simulation and assembly - Google Patents
Methods and system for modifying parameters of three dimensional objects subject to physics simulation and assembly Download PDFInfo
- Publication number
- US8839153B2 US8839153B2 US12/752,415 US75241510A US8839153B2 US 8839153 B2 US8839153 B2 US 8839153B2 US 75241510 A US75241510 A US 75241510A US 8839153 B2 US8839153 B2 US 8839153B2
- Authority
- US
- United States
- Prior art keywords
- atomic
- objects
- join
- dimensional
- user
- 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.)
- Active, expires
Links
Images
Classifications
-
- G06F17/5086—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/17—Mechanical parametric or variational design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/20—Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
-
- G06F2217/02—
-
- G06F2217/06—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2004—Aligning objects, relative positioning of parts
Definitions
- the present invention is in the field of computer-aided modeling and pertains particularly to methods and apparatus for modifying and joining two or more atomic three dimensional objects to form a more complex three dimensional object.
- VEs virtual environments
- Virtual reality games, three-dimensional toys, and other types of virtual environments exist where clients subscribe to a gamming site or a virtual world site and engage in interaction with the virtual presentations.
- One sector of this industry includes three dimensional educational games and toys for prepubescent and adolescent children.
- building block games where younger kids can build complex three dimensional objects from atomic building block elements.
- the problem stated above is that capability to modify certain parameters of three dimensional objects serving as building blocks is desirable for a three dimensional building game, but many of the conventional means for modifying object parameters, are complex and cannot be performed by younger children.
- the inventors therefore considered functional elements of three dimensional object modeling systems, looking for elements that exhibit a propensity for functioning in a parameterized environment that could potentially be harnessed to provide a system for reshaping and resizing game building blocks but in a manner that would not create complexity.
- Every virtual building game includes parts for building complex objects.
- these atomic elements are fixed in shape and size that are simulated relative to physics only as components of the larger more complex object created from them.
- One byproduct of these fixed building components is a one dimensional experience and complex objects that are limited in profile.
- Most such virtual building games employ a graphical user interface (GUI), various building components, and physics simulators to enable complex objects that are simulated relative to motion and other forces.
- GUI graphical user interface
- Three dimensional atomic elements are typically part of such apparatus.
- the present inventor realized in an inventive moment that if, at the point of assembly, building components or parts could be reshaped and/or resized through intuitive user input devices resulting in physics simulation of those modifications, more unique complex objects could be assembled and richer functionality might be achieved.
- the inventor therefore constructed a unique set of three dimensional, parameterized smart parts that allowed users to make certain modifications to those parts, but constrained such parameter modifications to conform to a range of alteration specified in a specific coordinate frame for the atomic object.
- a significant increase in complex object variation and functionality results with no significant complexity in building tools or methods introduced.
- a set of atomic three dimensional objects that can be joined together in a workspace to form one or more complex three dimensional objects, each atomic object comprising, one or more object join features parameterized to enable joining with one or more parameterized join features of another atomic object in the set of objects, and a shape that may be modified according to one or more parametrically defined constraint attributes.
- a user may reshape and or resize one or more of the atomic three dimensional objects prior to joining the three dimensional objects together at the appropriate parameterized join features to form one or more of the complex three dimensional objects.
- one or more object join features is a surface containing an alignment grid for constraining rotation angle of joined parts relative to one another.
- parameterization includes provision and display of virtual resize handles for resizing an object along one or more axis' of the object.
- parameterization includes provision and display of one or more auxiliary virtual resize handles for modifying thickness or depth without affecting the overall major dimensions of an object.
- parameterization includes provision and display of one or more auxiliary virtual resize handles for modifying shape without affecting the overall major dimensions of an object.
- one or more of the objects are shapeable using a virtual rotation handle displayed proximally to one or more object surfaces of individual objects, the one or more surfaces limitedly rotable about an X or Y axis intersecting at a center point projected on each rotable surface.
- resize amount is controlled by sticky integer.
- resize amount is limited to a subset of integer values corresponding to parts that are available in the virtual environment.
- trigonometric calculations are made to complete object dimensioning during surface rotation to maintain one or more original symmetry features of the object.
- a system for joining three dimensional atomic objects from a set of three dimensional objects to form one or more complex three dimensional objects.
- the system includes a workspace hosted by a server and accessible by a browser application for display, the workspace accessible by computer input device, a repository coupled to the server, the repository adapted to contain and serve the objects and associated data into the workspace, and an object editing interface including one or more virtual resize handles and one or more virtual rotation handles associated with each atomic object, the handles manipulatable using the computer input device.
- a user working within the workspace may resize and or reshape the three dimensional atomic objects according to pre-existing constraints, including integer and integer subset movement constraints and wherein the objects may be aligned for join in a sever-assisted manner.
- individual ones of the objects have one or more object surfaces containing an alignment grid for constraining rotation angle of joined parts relative to one another.
- virtual resize handles include one or more handles for resizing an object along one or more axis' of the object and one or more handles for changing thickness or depth of an object.
- system further includes a text-based interface for enabling text-based resizing, reshaping, and rotation of one or more objects in the set of objects.
- the one or more handles for shape modification functions to enable limited rotation of an object surface about an X or Y axis parallel to the surface plane and centered on the surface relative to surface boundary.
- a method for preparing individual ones of the atomic objects for a join operation including the steps (a) in a server-hosted workspace highlighting an atomic object using a computer input device, (b) selecting a virtual object modification handle displayed as a result of (a) using the computer input device, (c) dragging the control in the appropriate axis direction to modify the atomic object, and (d) positioning the atomic object for a join operation with another atomic object.
- the server-hosted workspace is an object editing interface accessible by browser application.
- the computer input device is a two-dimensional mouse.
- the virtual modification handle is a resizing handle used to resize the object along one of an X, Y, or Z axis of the object.
- the virtual modification handle is an auxiliary handle for resizing the depth or thickness of the object without affection overall major dimensioning of the object.
- the axis is a rotational axis and can be one of X, Y, or Z axis'.
- FIG. 1 is an architectural view of a user station engaged in playing a building game using three dimensional atomic building blocks according to an embodiment of the present invention.
- FIG. 2 is a perspective view of an atomic building block according to an embodiment of the present invention.
- FIG. 3 is a process flow chart illustrating steps for site-assisted object manipulation and joining objects according to an embodiment of the present invention.
- FIG. 4 is a perspective view of an atomic object with parameterized geometry according to an embodiment of the present invention.
- FIG. 5 is a perspective view of the object of FIG. 4 after shape modification according to an embodiment of the present invention.
- FIG. 6 is a perspective view of a join configuration according to an embodiment of the present invention.
- FIG. 7 is a table 700 illustrating various types of join features showing results of surface to surface join for the types listed.
- FIG. 8 is an exemplary screen shot of a text-based user interface for editing object properties.
- FIG. 9 is a perspective view of an atomic object with resizing handles according to an embodiment of the present invention.
- FIG. 10 is a perspective view of window frame resized according to an embodiment of the invention.
- FIG. 11 is a perspective view of an atomic object having both axial resizing handles and an auxiliary resizing handle for changing thickness.
- the inventors provide a set of three dimensional objects with parameterized geometry that may be modified separately and used in a virtual building game to create more complex objects.
- the methods and apparatus of the present invention are described in enabling detail below using the following examples, which may represent more than one embodiment
- FIG. 1 is an architectural view of a user station 108 engaged in playing a building game using three dimensional atomic building blocks according to an embodiment of the present invention.
- User station 108 is in this example a personal computer having connection to the Internet network 101 .
- Internet network 101 is further represented in this example by an Internet backbone 102 , which represents all of the lines, equipment, and access points that make up the Internet as a whole, including connected sub-networks. Therefore, there are no geographic limitations to the practice of the present invention.
- Internet 101 may instead be an enterprise wide-area-network (WAN) or a municipal area network (MAN) without departing from the spirit and scope of the present invention.
- WAN wide-area-network
- MAN municipal area network
- User station 108 may be a PC, Laptop, Notebook, personal digital assistant (PDA), a smart phone, or another computing appliance capable of accessing and navigating the Internet using a browser-based application.
- PC 108 is connected to backbone 102 in Internet 101 by an Internet access line 110 .
- Access line 110 is a logical representation.
- PC 108 may connect to Internet 101 through an Internet Service Provider (ISP) using dial-up, cable-modem, broadband, digital subscriber line (DSL), satellite, or another Internet connection method.
- ISP Internet Service Provider
- PC 108 is logged into and in session with a Web server (WS) 103 within Internet 101 .
- WS 103 has a digital medium provided thereon or coupled thereto that contains all of the data and software (SW) required to enable function as a Web server.
- SW data and software
- Web server 103 hosts a virtual-game Web site 106 provided by a gaming company and service provider.
- Game site 106 mixes gaming and social interaction primarily for young people.
- One of the game types offered through game site 106 is a building block game played mostly by young people, including children learning how to exercise their creativity in a safe online environment.
- Web site 106 provides registration, login facilities, and game selection. Users who enter games to play are redirected in this example to a game server (GS) 104 to play the games.
- GS 104 has a digital medium provided therein or coupled thereto that contains all of the SW and data required to enable server function as a game server.
- GS 104 is coupled to a data repository 105 adapted to store data relative to three dimensional game objects and associated data for all of the games that are accessible through the server.
- Other features of GS 104 include physics simulation capability such as through a rigid body dynamics simulator, and a network replication system for replicating game play statistics and results to all users engaged in game play through the server.
- PC 108 has a browser-based window 111 open that displays an object editing interface (OEI) 107 , which is resident on GS 104 and accessed by users who wish to create complex objects from atomic components during game play.
- OEI 107 enables users to select atomic three dimensional objects and to position those objects for assembling into more complex objects like buildings, castles, and any other complex structures that may be assembled from the atomic components.
- Atomic objects or “building components” are aggregated in sets for each game, so each game has its own set of objects that are used to build more complex three dimensional objects.
- individual ones of a set of atomic objects may be modified in constrained ways before assembling those objects together to form the more complex object.
- OEI 107 illustrated as opened on PC 108 is being used at PC 108 to modify and rotate atomic building components to assemble a more complex three dimensional object.
- a first atomic object 113 is a wedge object.
- a second atomic object 114 is a rectangular block object.
- a third atomic object 115 is also a rectangular block object.
- PC 108 includes a computer input device 109 , which is a computer mouse in this example. There may also be other input devices, such as a keyboard.
- Computer mouse 109 operates with two degrees of freedom in the plane of mouse pad 112 .
- the inventor is aware of more complex computer input devices including pointer devices that operate in 3 to six degrees of freedom, however these input devices are relatively expensive and complicated to use.
- Most game players subscribing to or registered with gaming site 106 have only two-dimensional pointer devices as input devices for their computers. Some may use a mouse ball, which will be transparent to the system.
- users may modify atomic building components 113 - 115 before aligning them for a join operation to create a more complex object like house 120 , for example.
- intuitive user interface tools are provided in this embodiment to enable three dimensional manipulation of the objects on a two dimensional screen.
- Mechanisms for accomplishing this three dimensional object editing capability include an object resizing tool visualized as a set of resizing handles, such as handles 117 surrounding object 113 .
- Object resizing may be allowed along one or more axes of an object. Resizing an object along an axis is termed axial resizing by the inventors.
- object resizing is constrained by an integer scale or grid designed to only allow object sizing that does not result in an inability to assemble the resized object to another object.
- objects may be reshaped or resized according to an integer subset representing the actual part sizes allowed as opposed to a scaling operation where each integer on the scale is achievable.
- Another object modification mechanism is an object reshaping tool visualized as a set of handles 116 surrounding object 114 .
- Handles 116 may be interacted with by computer mouse (grab operation) illustrated by cursor arrow, and then may be moved according to integer constraints to re-shape object 114 .
- Objects may also be rotated about their axis using an object rotation tool that uses a translation plane 119 and direction of translation to effect object rotation in a specified direction 118 . Rotation of objects may also be constrained for simple alignment.
- object manipulation tools may be provided as sets of interactive iconic handles provided about the object.
- a menu bar (not illustrated) may also be provided to enable selection of the appropriate iconic set of handles for performing a specific modification on an atomic object. In this regard, a user will first select an object, then the tool, and then do the manipulation.
- Each atomic object includes at least one parameterized join feature surface that defines a type of connection for that surface.
- a connection for a surface may be one of studs, inlets, welds, and other joint types, as well as a universal join, a glue join, and a smooth join.
- atomic object modification is physically simulated to produce the finished object resulting from the intended modification performed by a user on the atomic object.
- the join configurations of those objects may be simulated relative to physics as a result of forces that the complex object might be subject to. For example loading two many atomic objects on one side of a complex object might result in the complex object tipping over, as the weight and change in center of gravity of the assembly is dynamically updated by the physics system. It is these types of reactions that make building games challenging and fun to play.
- the physics simulation system is always operative in this example, so the objects and assemblies are updated in real time in their positions and reactions to forces.
- GS 104 simulates the actions of users on objects, and in a preferred embodiment assists users in completing modifications that result in successful assembly, and do not make an object unusable. Therefore, all of the object-editing tools are constrained by integer with respect to size, shape, and angle of rotation of objects.
- Parameterized geometries include specific types of connectors or “join features” that are parameterized, for example by specific pattern and size of connecting elements.
- Join features may include object surfaces. For example, a “studs” surface defines a specific pattern of parallel studs running under the surface of the object. Another surface texture might be nails where pre-positioned nails protruding from one object surface are nailed into the studs of the other object surface. This is simply a logical example and is not meant to describe any limitations.
- Atomic objects must be rotated relative to one another so that their connecting or “join features” are aligned in the same plane and the rotational positions of the parts are aligned with respect to the specific join configuration “rules” for each part.
- GS 104 physically simulates the activity and constrains the activity according to a coordinate frame containing constrain integers like allowable rotation angles, for example.
- a physics simulation engine is used to make the calculations based on the movements of the user and the rules governing the atomic objects. If an action is not allowed for an object, the tool supporting that action will not be accessible relative to the selected object.
- FIG. 2 is a perspective view of an atomic building block 200 according to an embodiment of the present invention.
- Atomic block 200 is rectangular in shape and has a button feature 204 on one surface of the part. Visible features in this view include a front surface 201 , a top surface 202 , and an end surface 203 . Back bottom and opposite end surfaces are visible through part rotation with the rotational movement driven by pointer motion projected along a translation plane as illustrated further above in FIG. 1 .
- Atomic object 200 has a center of mass 205 marking the intersection of the parts axes. There are three logical axes of rotation illustrated in this example, an X axis, a Y axis and a Z axis as known in the Cartesian system.
- atomic object 200 may have parameterized join configurations that enable the part to be assemble to one or more other parts.
- a user may modify object 200 by changing its shape relative to one or more dimensions. Height dimensions A and B might be changed in unison on one side of the part to form a wedge. The object might be resized along the Y axis to change the overall height dimension of the object. The length of one side of object 200 might be changed with respect to length C or length D of the object forming a trapezoidal object. Similar modification might be allowed relative to object width dimensions E and F. Object 200 might be resized along the X axis to lengthen the object or along the Z axis to widen the object.
- each side or facet of an atomic object may include a centered pivot point that is constrained to allow parallel planer rotation of one or more sides of the object to change the shape and appearance of the object. More about object reshaping and its effect of object dimension is described later in this specification.
- FIG. 3 is a process flow chart 300 illustrating steps for site-assisted object manipulation and joining objects according to an embodiment of the present invention.
- a user enters a building game by selecting the game to play after logging into a gaming site such as site 106 of FIG. 1 .
- the game entered is served by a gaming server like GS 104 of FIG. 1 .
- the user is connected to the game server the entire time the user is playing the game and when the user is manipulating, modifying objects, or creating or assembling objects.
- the building game includes a set of smart atomic objects that are used to build more complex objects.
- the user may access atomic objects to build a more complex object or objects in the act of playing the game.
- the user determines whether or not to modify atomic objects. It is assumed herein that an object editing interface is provided for this purpose and that the user has it open. In one embodiment an editing interface shares the same space as the actual building process of the game and there is no visual distinction to the user other than the visible iconic handles which appear when the user attempt to make a change in shape or size of a part. In another embodiment, the user modifies parts in a separate window before including those parts as building blocks for creating more complex objects.
- step 304 the user may rotate selected objects into position for joining the objects as part of regular game play activity.
- the system aided by a physics simulation engine constrains the rotation angle of the parts relative to one another using a “sticky integer” technique allowing only certain angles of rotation to ensure alignment of join features in a same plane and single axis rotation of one part relative to another to ensure the proper alignment with respect to join surface configuration rules once the features are in a same plane of alignment.
- step 311 the system determines if the correct join features are aligned. If the system determines that the aligned features are not correct for joining, the system may log an error at step 312 and the process loops back to step 302 where the user accesses atomic objects. If at step 311 the system determines that the object features are correctly aligned for joining, at step 313 the system completes the join operation for the user. At step 314 the user may determine if he or she is done assembling atomic objects. If the user is finished in step 314 , then the user or system may save the complex object at step 315 . In this case the complex object appears in the game landscape and may be placed by default or by the user in the virtual game space.
- the user may invoke an object editing interface (OH), which may or may not be separate from the normal play space of the virtual building game.
- object editing is performed in a transparent layer over the game building space.
- the user selects one or more objects for modification. In this step the user may select which available modification tool will be implemented to make a desired operation from a menu or toolbar.
- the system displays the appropriate iconic set of handles for the desired operation.
- the user modifies the object or objects using the supplied virtual handles. Step 309 may include a process similar to step 305 for sizing or reshaping where a sticky integer technique is used to constrain the operation according to a grid to ensure that the modified objects will still conform to surface join configuration rules.
- the user saves the modified object or objects. It is noted herein that the user may perform a number of sequential operations on a single atomic object. The user may also perform a single operation on a group of selected atomic objects in one embodiment.
- the process resolves back to step 304 where the user rotates the parts into suitable position for joining. The rest of the process follows steps 305 , 311 , 313 , and 314 with negative at step 311 resulting in a loopback to step 302 and error logging. In the event of a user or system error, the system may notify the user via pop-up, TOAST, or other visual message that an error has occurred.
- FIG. 4 is a perspective view of an atomic object 400 with parameterized geometry according to an embodiment of the present invention.
- FIG. 5 is a perspective view of the object of FIG. 4 after shape modification according to an embodiment of the present invention.
- atomic object 400 begins as a rectangle in this example, but may be of another geometric profile. Building blocks known to the inventor and provided in various embodiments include blocks, spheres, and cylinders, and special shapes such as half pipes, window frames, wedges, and other shapes having both straight and arcurate features.
- rectangular building block 400 includes a pivot point located at the center position of each parameterized surface.
- Point 401 is at the center of surface 402 , point 403 at the center of surface 404 , and point 405 at the center of surface 406 .
- the pivot point is the origin of the Cartesian arrangement of axes X, Y and Z for that surface, and the X and Y axes always lie in the plane of the surface.
- X, Y, and Z axes are illustrated through each pivot point.
- the pivot point enables at least limited rotation of the surface of the part about the X axis, or the Y axis, but not about the Z axis for the surface. It is important to understand that when a user rotates one of the surfaces, it is that surface that rotates, not any other part of the block. The surface rotates, and dimensions are adjusted for that surface and other surfaces accordingly; and the edge dimensions of course change accordingly as well.
- a user must first select a surface to rotate to alter the shape and dimensions of the block. This may be done in a variety of ways, such as by clicking on the desired surface for example. Once a surface is selected (assume surface 402 for this example), handles 407 appear, one at the midpoint of each edge of the surface selected. Only one of these handles is numbered in FIG. 4 , for simplicity sake.
- a further constraint placed on surface rotation may be that trigonometric dimensioning must be applied to the opposing sides of the object surface based on the angle of rotation, so that the original height of the object is maintained.
- Physics simulation makes the calculations based on the angle and the specified axis of the rotation (X or Y).
- surface 402 is rotated about its X axis by grabbing a handle 407 as shown in FIG. 5 and moving the handle along the direction of the Z axis illustrated in FIG. 4 .
- rotating surface 402 about its X axis in its Z direction affects dimensions A, B, and C.
- Dimension A is shortened while dimension B and dimension C are lengthened proportionally and according to the trigonometric functions of the right triangle formed by the rotation angle.
- the surface rotation tool provides a convenient way to alter the shape of object 400 .
- the rotation may occur along the opposite edge of the rotation handle, the rotation parallel to either the X or Y axis. It is noted herein that resizing an atomic object along an axis of rotation is termed axial rotation by the inventors.
- FIG. 6 is a perspective view of a join operation according to an embodiment of the present invention.
- An object 601 is shown positioned over an object 602 such that their join features are aligned correctly in parallel planes for a joining operation.
- Object 602 has part of its exterior removed to illustrate a parameterized join feature, which in this case is a surface of “studs” 605 running parallel to one another and equally spaced apart.
- Object 601 is presumed to have a parameterized join surface (bottom surface) that is configured to connect with the studs surface. Aligning the parts features for join reduces the rotation axes of both parts to a single rotation axis R assuming the parts share the same vertical centerline.
- Part 601 may be rotated relative to part 602 about rotation axis R in a constrained manner such that only rotated positions of 0 degrees, 90 degrees, 180 degrees, and 270 degrees are allowed for the two parts to be successfully joined.
- Part 601 may also be joined off center of part 602 at a given rotation along the X and Y axis of the join surface of the part in a constrained manner consistent with the rules of the join configuration.
- the parts are moved together in the direction of the arrows to complete the join operation.
- changing the size and/or shape of an object relative to another object before joining the objects might affect the constraints placed on the join configuration such that there is more or less constraint placed on how the parts may fit together.
- Such changes are automatically calculated by the system so that the join configuration follows the new constraint table accordingly. Rules of shape change and resize operations are tested for affect on join operations so that the latter is dynamically reconfigured as a result of simulating the former activity.
- FIG. 7 illustrates a table 700 illustrating various types of join features showing results of surface to surface join for the types listed.
- Table 700 has rows and columns identifying various parameterized surface types including Universal; Studs; Inlet; Weld; Glue and Smooth. Other types of features may also be simulated like Snaps, Rivets, etc.
- universal to universal results in a rigid connection.
- the possible constraints properties are rigid and spring.
- a dash implies no simulation constraints on the join surface combination.
- FIG. 8 is an exemplary screen shot of a text-based user interface 800 for editing object properties.
- Interface 800 may be used in addition to or in place of graphic user interface tools for resizing and reshaping objects.
- Interface 800 includes a scroll bar 801 for scrolling up or down in the properties window 802 .
- Each part has physical properties associated therewith such as elasticity and friction expressed as values and a basic shape such as a block.
- Each part has a size calculated in the X, Y, and Z directions, the size expressed by units of measure.
- An abstract form factor is given to each part to identify its form factor such as a brick, for example.
- Each part has certain behaviors for simulation purposes, such as anchored and collision allowance (CanCollide). These behaviors may be locked for the part.
- a resizing increment may be specified.
- Each part may include a number of resizable features such as top surface, right surface, and back surface, for example.
- Each part may include surface inputs such as back parameter A and back parameter B expressed as values.
- Advanced users may call up text-based user interface 800 to make certain changes in a parts properties and behaviors as well as ordering new sizes and shapes for the part. Options that are not available for a specific part are grayed out in the display of the table.
- FIG. 9 is a perspective view of a window frame atomic object 900 with resizing handles 901 and 902 according to an embodiment of the present invention.
- FIG. 10 is a perspective view of window frame 900 resized according to an embodiment of the invention.
- atomic object 900 is a window frame having an overall length, an overall height, and an overall depth or thickness dimension.
- resizing handle 901 allows resizing along the X axis
- resizing handle 902 allows resizing along the Y axis.
- the window frame may be resized along the X and Y axes but not along the Z axis. The depth of the window frame then will remain constant.
- the central opening of the window frame is bound to the overall dimensions of the window frame in this example, and its dimensions may change proportionally, or be constrained in some other way.
- window frame 900 is resized along the X axis creating a longer window frame with a longer central opening, which remains proportional in dimension to the overall dimensioning of the frame.
- an auxiliary resizing operation may be performed on window frame 900 to modify the depth of the frame.
- An auxiliary resize handle 1000 is provided at one corner of the central opening of window frame 900 and may be manipulated generally along the Z axis of the frame in the direction of the arrows to change the depth of the frame.
- Optional depth adjustments are illustrated by broken boundaries one showing a frame with more depth and one showing a frame with less depth.
- FIG. 11 is a perspective view of an atomic object 1100 having both axial resizing handles and an auxiliary resizing handle for changing thickness.
- Object 1100 is in the form of a one-third pipe having arcurate major surfaces and straight edges.
- Axial resizing handles 1101 enable resizing of object 1100 along all three axes.
- An auxiliary resizing handle 1102 allows a user to change the depth of the channel or more particularly the uniform thickness (illustrated by dimension arrow 1103 ) of the part. Thickness 1103 may be made greater or smaller by manipulating handle 1102 in either direction of the Z axis in this case.
- each modification of an atomic object carries results that may affect one or more physical properties of the object including how the object will join to another object. These considerations are dynamically calculated during physics simulation and optimized to reduce the potential for error in object modification and in object assembly. For example, rotation of an atomic object with a four-hole bolt pattern that fits onto a surface with an eight hole bolt circle may be performed to 0, degrees, 90 degrees, 180 degrees or 270 degrees and still enable successful joining.
- a set of atomic objects with parameterized geometries may be created for a build game and may represent generic objects for use in playing the build game.
- a user may modify one or more of the parameterized objects to create a larger set of parameterized objects for other users to work with.
- Tools may also be provided for advanced users to create new parameterized objects and to parameterize those objects according to existing rules relative to surface geometries and allowable modification options.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Evolutionary Computation (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
Description
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/752,415 US8839153B2 (en) | 2010-04-01 | 2010-04-01 | Methods and system for modifying parameters of three dimensional objects subject to physics simulation and assembly |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/752,415 US8839153B2 (en) | 2010-04-01 | 2010-04-01 | Methods and system for modifying parameters of three dimensional objects subject to physics simulation and assembly |
Publications (2)
Publication Number | Publication Date |
---|---|
US20110246949A1 US20110246949A1 (en) | 2011-10-06 |
US8839153B2 true US8839153B2 (en) | 2014-09-16 |
Family
ID=44711111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/752,415 Active 2032-06-16 US8839153B2 (en) | 2010-04-01 | 2010-04-01 | Methods and system for modifying parameters of three dimensional objects subject to physics simulation and assembly |
Country Status (1)
Country | Link |
---|---|
US (1) | US8839153B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11478708B1 (en) | 2021-04-13 | 2022-10-25 | Lego A/S | System and method for the construction of interactive virtual objects |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012040827A2 (en) * | 2010-10-01 | 2012-04-05 | Smart Technologies Ulc | Interactive input system having a 3d input space |
US20130117711A1 (en) * | 2011-11-05 | 2013-05-09 | International Business Machines Corporation | Resize handle activation for resizable portions of a user interface |
US20140096018A1 (en) * | 2012-09-28 | 2014-04-03 | Interactive Memories, Inc. | Methods for Recognizing Digital Images of Persons known to a Customer Creating an Image-Based Project through an Electronic Interface |
US10044800B2 (en) * | 2015-10-11 | 2018-08-07 | Microsoft Technology Licensing, Llc | Synchronization scheme for physics simulations |
US11106339B2 (en) * | 2017-09-19 | 2021-08-31 | Adobe Inc. | Designing and resizing graphical user interfaces |
US11182136B1 (en) * | 2020-08-20 | 2021-11-23 | Ebay Inc. | Control bar for element activation |
US11941776B1 (en) * | 2023-03-30 | 2024-03-26 | Illuscio, Inc. | Systems and methods for improved interactivity with three-dimensional objects |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6426745B1 (en) * | 1997-04-28 | 2002-07-30 | Computer Associates Think, Inc. | Manipulating graphic objects in 3D scenes |
US6781597B1 (en) * | 1999-10-25 | 2004-08-24 | Ironcad, Llc. | Edit modes for three dimensional modeling systems |
US20080010041A1 (en) * | 2006-07-07 | 2008-01-10 | Siemens Technology-To-Business Center Llc | Assembling physical simulations in a 3D graphical editor |
-
2010
- 2010-04-01 US US12/752,415 patent/US8839153B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6426745B1 (en) * | 1997-04-28 | 2002-07-30 | Computer Associates Think, Inc. | Manipulating graphic objects in 3D scenes |
US6781597B1 (en) * | 1999-10-25 | 2004-08-24 | Ironcad, Llc. | Edit modes for three dimensional modeling systems |
US20080010041A1 (en) * | 2006-07-07 | 2008-01-10 | Siemens Technology-To-Business Center Llc | Assembling physical simulations in a 3D graphical editor |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11478708B1 (en) | 2021-04-13 | 2022-10-25 | Lego A/S | System and method for the construction of interactive virtual objects |
Also Published As
Publication number | Publication date |
---|---|
US20110246949A1 (en) | 2011-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8839153B2 (en) | Methods and system for modifying parameters of three dimensional objects subject to physics simulation and assembly | |
KR101071011B1 (en) | 3 method and system for manipulating a digital representation of a three-dimensional object | |
Němec et al. | Using virtual reality in education | |
Christou et al. | A versatile large-scale multimodal VR system for cultural heritage visualization | |
Tastan et al. | Using handheld user interface and direct manipulation for architectural modeling in immersive virtual reality: An exploratory study | |
Lafreniere et al. | Blocks-to-CAD: A cross-application bridge from minecraft to 3D modeling | |
US8537165B2 (en) | Method and apparatus for automatic coalescence of connected rigid bodies | |
Setareh et al. | Development of a virtual reality structural analysis system | |
Li | Animating Parametric Kinetic Spinner in Virtual Reality | |
Plijnaer et al. | Truesight battle grid-enhancing the game experience of tabletop role-playing through tangible data visualization | |
Kim | Virtual reality for 3D modeling | |
Leskovský et al. | A contribution to workplace ergonomics evaluation using multimedia tools and virtual reality | |
Maurina | The game programmer's guide to Torque: under the hood of the Torque Game Engine | |
CN110942519A (en) | Computer assembly virtual experiment system and implementation method thereof | |
Oikarinen et al. | Utilisation of a game engine for archaeological visualisation | |
Lin et al. | SnapBlocks: a snapping interface for assembling toy blocks with XBOX Kinect | |
Cao et al. | Hand controlar: An augmented reality application for learning 3d geometry | |
Canadinc et al. | 3D-Model-Based Augmented Reality for Enhancing Physical Architectural Models | |
Ritter III et al. | Overview and assessment of unity toolkits for rapid development of an educational vr application | |
Shiratuddin et al. | Virtual architecture: Modeling and creation of real-time 3D interactive worlds | |
Anagnostopoulos et al. | An industrial simulator utilizing a gaming platform | |
Plimmer et al. | Tabletop 3D object manipulation with touch and tangibles | |
Hidalgo Sánchez et al. | SurveyingGame: Gamified Virtual Environment for Surveying Training | |
Calef et al. | Making It Realtime: Exploring the Use of Optimized Realtime Environments for Historical Simulation and Education. | |
Gehring et al. | Designing and experiencing spaces together–A low-cost VR multiplayer approach in teaching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ROBLOX CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BASZUCKI, DAVID;REEL/FRAME:024174/0441 Effective date: 20100325 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551) Year of fee payment: 4 |
|
AS | Assignment |
Owner name: JPMORGAN CHASE BANK, N.A., NEW YORK Free format text: SECURITY INTEREST;ASSIGNOR:ROBLOX CORPORATION;REEL/FRAME:048346/0255 Effective date: 20190214 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: ROBLOX CORPORATION, CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:055221/0252 Effective date: 20210210 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |