Field
The present application generally relates to dental planning, and more particularly to occlusion estimation in dental prosthesis design.
Description of Related Technology
The use of computer systems to design dental prostheses has increased in recent years. The computer systems allow a dentist, dental technician, or other operator to design dental prostheses for individual patients. Individual prosthesis designs are often called “situations,” “dental plans,” or “prosthetic plans.” Operators using the computer systems can design plans based on a library of the teeth shapes and positions, patient data, and available equipment and hardware.
When designing dental prostheses, a tooth or set of teeth's occlusion with antagonist teeth can be a factor in both function and aesthetics. Additionally, manipulating individual prosthetic teeth (or sets of individual prosthetic teeth) in a multi-tooth prosthesis can be difficult. When the upper set of teeth and the lower set of teeth have been scanned separately, it can be difficult to determine the occlusion between these occluding teeth. The difficulty may arise because the restrictions imposed by the temporomandibular joint (TMJ) of the jaw or other anatomy of the patient may be absent from the design software. Even when the TMJ and/or other restricting anatomy are represented in the design software, the operator may still need to estimate the occlusion between occluding teeth. Current techniques for providing occlusion estimation are not adequate and can be computationally expensive. The techniques, systems, methods, and computer-readable storage medium described herein overcome some issues associated with the prior art and provide for occlusion estimation and/or crown manipulation in dental prosthesis design.
Presented herein are methods, systems, devices, and computer-readable media for occlusion estimation in dental prosthesis design. This summary in no way limits the invention herein, but instead is provided to summarize a few of the embodiments.
Embodiments herein include techniques, methods, systems, devices, and computer-readable media for occlusion estimation in dental prosthesis design. These can include determining, based on an initial relative placement of a first 3D model of teeth and a second 3D model of teeth, a first contact point on the first 3D model of teeth that is closest to the second 3D model of teeth, wherein the first 3D model of teeth and the second 3D model of teeth represent occluding teeth. Motion simulation of relative motion between the first 3D model of teeth and the second 3D model of teeth may be iteratively performed and may include determining, using a first set of contact points between the first 3D model of teeth and the second 3D model of teeth, a second set of contact points, said first set of contact points initially comprising the first contact point; determining a set of candidate contact points to use in a subsequent motion simulation iteration based on the second set of contact points; and determining whether the set of candidate contact points meets one or more predetermined stopping criteria. When a particular set of candidate contact points meets the one or more predetermined stopping criteria, a new relative placement of the first 3D model of teeth and the second 3D model of teeth may be determined based at least in part on the particular set of candidate contact points.
Some embodiments include receiving a 3D model of a multi-tooth prosthesis and a 3D model of antagonist teeth for the multi-tooth prosthesis, said multi-tooth prosthesis comprising 3D models of one or more prosthetic teeth. At least one contact point between the 3D model of antagonist teeth and each of the 3D models of one or more prosthetic teeth can be determined. A new shape for the 3D model of the multi-tooth prosthesis can be determined at least in part based on the determined contact points between the 3D model of the antagonist teeth and the 3D models of one or more prosthetic teeth.
Numerous other embodiments are described throughout herein.
For purposes of summarizing the invention and the advantages achieved over the prior art, certain objects and advantages of the invention are described herein. Of course, it is to be understood that not necessarily all such objects or advantages need to be achieved in accordance with any particular embodiment. Thus, for example, those skilled in the art will recognize that the invention may be embodied or carried out in a manner that achieves or optimizes one advantage or group of advantages as taught or suggested herein without necessarily achieving other objects or advantages as may be taught or suggested herein.
All of these embodiments are intended to be within the scope of the invention herein disclosed. These and other embodiments will become readily apparent to those skilled in the art from the following detailed description having reference to the attached figures, the invention not being limited to any particular disclosed embodiment(s).
Occlusion Estimation in Dental Prosthesis Design
Various embodiments for occlusion estimation in dental prosthesis design are described herein. Some embodiments provide improved occlusion estimation over current systems. In some embodiments, initial placement of occluding teeth (before estimating occlusion) is either defined by the relative placement of the upper and lower teeth during intraoral scanning, during the scanning of the occluding teeth's physical models, by using a scanned checkbite, and/or by an operator manipulating one or both of the 3D models associated with the occluding teeth in order to obtain an initial relative placement. After an initial relative placement has been defined, the techniques may include finding a first contact point between the two 3D models (e.g., in the gravity direction). This can be done by determining using a distance calculation, for example, the closest points between the two 3D models. Another method for finding the first contact point between the two 3D models could be simulating one of the two 3D models ‘falling’ onto the other. After the first contact point has been determined (and if it has not already been accomplished), one of the 3D models can be translated in the gravity direction in order to bring the two 3D models together at that first contact point. The first contact point can be used as a pivot in a motion simulation, such as a six-degree of freedom motion simulation, a constrained rigid body motion simulation, a free-fall simulation, etc.
Once the pivot point is determined, the techniques may proceed by simulating the motion of one of the 3D models with respect to the other where the pivot point is used to restrict the rotation. For example, if the first contact point had been between the cusp of one tooth and the fissure of its antagonist tooth, then the two 3D models remain together at that point, and that point can act as a pivot, as one of the 3D models rotates with respect to the other around that point. The simulated rotation continues until one or more contact point(s) are detected. The contact points are detected at each step of the simulation by a collision detection engine. That is, once one of the 3D models has rotated onto the other 3D model and the corresponding contact points are determined with enough precision, that step of the simulation is terminated. If only one contact point is found, this contact point is used as a pivot in the subsequent step, regardless of whether or not it is the same contact point as in the previous step (‘losing’ a contact point could be caused, for example, by numerical error or imprecision). In various embodiments, an attempt to improve the precision of contact points determined may include, once one or more contact points are found, refining the previous simulation step with smaller and smaller step sizes (e.g., simulating motion simulation over smaller amounts of time) to reduce any interpenetration of the two 3D models.
If no contact point is found, that is if the contact point or contact points in the previous step are lost (for instance due to numerical imprecision), a motion simulation, such as a free fall, may be performed until a contact point is determined. In the case in which more than one contact point has been determined, then a check may be performed to determine what contact point(s) to use from the set of discovered contact points. Another motion simulation step may proceed using some or all of the candidate contact points (e.g., one or two of the candidate contact point may be used). A subsequent motion simulation step using two candidate contact points may include using the two candidate contact points to define an axis of rotation in the simulated motion. The process of determining new candidate contact points will continue until predetermined stopping criteria are met. Examples of stopping criteria are discussed more below.
In some embodiments, the 3D model of the teeth that is “moving” (e.g., the upper teeth) with respect to the other 3D model (e.g., the lower teeth) will have associated with it a center of gravity. The center of gravity can be determined in numerous ways. For example, the center of gravity may be determined by assigning a weight to each of the triangles, vertices, pixels, or voxels that form the 3D model and determine a center of gravity based on those assigned weights. In some embodiments, the predetermined stopping criteria may be met once there are three contact points that define a triangle that encompasses the center of gravity. Once this stopping criterion is met, the simulation may be terminated and the occlusion may be estimated based on those three contact points—those three contact points may define the placement of one of the 3D models with respect to another 3D model. For example, if the top set of teeth is seen as the moving set of teeth and a first contact point is determined between the top set of teeth and the lower set of teeth, then the first contact point may be used as a pivot point. The simulation may continue until subsequent contact points are determined that define a triangle that includes or encompasses the center of gravity of the top set of teeth.
In some embodiments, there may be a single stopping criterion that is met when there are two contact points on opposite sides of the center of gravity. For example, if a crown and its antagonist are the subjects of the occlusion estimation, then candidate contact points may be determined until there are two contact points that span or are on opposite sides of the center of gravity of the moving body. In some embodiments, the stopping criterion(a) may be met when the force normals acting on the moving body are such that no additional rotation is possible in the motion simulation.
Turning now to
Example System
In some embodiments, the operator 240 may be able to perform a command, such as select, move, manipulate, or make transparent, opaque, or invisible, on a particular substructure in the dental plan. The operator 240 may be able to perform this command by manipulating the input device 230, such as clicking with a mouse on a particular region of one of the abstract or semi-realistic versions of the dental plan displayed on the display 220.
In various embodiments, the computer 210 may include one or more processors, one or more memories, and one or more communication mechanisms. In some embodiments, more than one computer may be used to execute the modules, methods, blocks, and processes discussed herein. Additionally, the modules and processes herein may each run on one or multiple processors, on one or more computers; or the modules herein may run on dedicated hardware. The input devices 230 may include one or more keyboards (one-handed or two-handed), mice, touch screens, voice commands and associated hardware, gesture recognition, or any other means of providing communication between the operator 240 and the computer 210. The display 220 may be a two-dimensional (“2D”) or 3D display and may be based on any technology, such as LCD, CRT, plasma, projection, etc.
The communication among the various components of system 200 may be accomplished via any appropriate coupling, including USB, VGA cables, coaxial cables, FireWire, serial cables, parallel cables, SCSI cables, IDE cables, SATA cables, wireless based on 802.11 or Bluetooth, or any other wired or wireless connection(s). One or more of the components in system 200 may also be combined into a single unit or module. In some embodiments, all of the electronic components of system 200 are included in a single physical unit or module.
Techniques for Occlusion Estimation and Dental Prosthesis Design
In various embodiments, determining whether two contact points are on the opposite sides of the center of gravity may include defining a bisector or bisection plane through the center of gravity that splits the first 3D model into two segments, for example, a left segment and a right segment, and, optionally, splits the second 3D model into two segments, for example, the left segment and the right segment. For example, if the first 3D model of teeth includes all of the teeth in the lower jaw of a patient and the center of gravity is along the center line of the jaw, then the teeth on the left side of the mouth and the teeth in the right side of the mouth may be in different sections. Determining whether there are two contact points on the opposite sides of the center of gravity may include determining whether there are contact points in the two different sections of the mouth (the left section and the right section). As another example, consider
As another example, in some embodiments, when motion simulation is about a rotation axis (described elsewhere herein), checking to see whether the center of gravity is between two contact points comprises can include projecting the contact points onto the rotation plane (e.g., a plane whose normal is the rotation axis and that includes the gravity center on the plane). Various embodiments can then determine whether the projected points are on each side of a certain line defined by the projection of the gravity force vector onto the rotation plane and going through the gravity center. If the two are on opposite sides of the certain line, then they are on opposite sides of the center of gravity. There are numerous other ways to determine whether the center of gravity is between the two contact points, and these are considered within the scope of the embodiments herein.
Determining whether the center of gravity is within a triangle that is defined by three contact points may include projecting the triangle that is defined by the three contact points onto the occlusal plane and projecting the center of gravity onto the occlusal plane. If the center of gravity projected onto the occlusal plane lies within the triangle defined by the three contact points, then it may be considered that the center of gravity is within the triangle defined by the three contact points. As above, numerous other methods of determining whether the center of gravity is within the triangle defined by the three contact points may be used and are considered part of the embodiments herein.
In various embodiments, the techniques described herein may include changing the state (e.g., position, rotation, scaling, shape, etc.) of one or more 3D models based on the contact with the antagonist teeth. For example, if a crown or bridge is being designed and there are multiple units (e.g., teeth) in the crown or bridge, then each unit in the bridge or crown may be rotated, scaled, or otherwise changed in order to provide at least one contact point with the antagonist. After the relative placement of the occluding sets of teeth are determined based on the contact points or after new states for one or more 3D teeth models are determined based on the contact points, designing the prosthesis may continue and/or production data for the prosthesis may be generated based on the 3D model of the prosthesis.
Turning now to
Returning again to block 310, determining the first contact point between occluding teeth in the direction of gravity based on the initial position may also include an initial determination of the gravity direction. The gravity direction may be determined in any of numerous ways, including having it be predefined based on the scanning procedure and the like. Additionally, the gravity direction may be perpendicular to an occlusal plane of the first and/or the second 3D model of teeth. The occlusal plane of the two 3D models may be known ahead of time or it may be determined in any number of ways. For example, if a planar object such as a rectangle is “dropped” onto, e.g., the first 3D model, (or vice versa) then that rectangular object, once it has come to rest on the first 3D model, may define the occlusal plane. “Dropping” the rectangular object onto the 3D model may be accomplished using, e.g., the simulated motion described with respect to
Determining the first contact point between the occluding sets of teeth in the direction of gravity in block 310 may be performed based on any appropriate calculation. For example, it may be determined by performing a numerical calculation of the closest point between the two 3D models in the direction of gravity. In some embodiments, the closest point between the two 3D models may be determined by simulating free fall of one of the 3D models with respect to the other 3D model. For example, based on the initial position, one of the 3D models may be “dropped” onto the other 3D model. The first contact point between the two 3D models when dropped may be the closest point between the two 3D models. One 3D model may then, optionally, in some embodiments, be moved toward the other in the direction of gravity so that the closest point between the two 3D models would be the contact point between the two 3D models. Similarly, in some embodiments, the two 3D models may then, optionally, be moved toward each other in the gravity direction instead of moving one 3D model and keeping one fixed.
In block 320, motion simulation may be used to determine subsequent candidate contact points. After the first contact point is determined, it is used as a constraint on the simulated motion. That is, that contact point will remain in contact for the duration of that step of the simulated motion. The simulated motion will result in the moving 3D model pivoting around that contact point until one or more other contact points are determined. In some embodiments, it is possible that one or more contact points may be lost, perhaps due to numerical error. If one or more contact points are lost due to numerical error, the simulation may continue. For example, the moving 3D model could fall in the gravity direction until at least one contact point is found.
Determining a contact point may include using any particular type of collision detection. For example, if the first and second 3D models each are represented as a triangular mesh, then contact points may be determined by looking for collisions between the two triangular meshes. Further, in some embodiments, if it is determined that two particular triangles, one in each 3D model's triangular mesh, intersect, then the actual point or edge of intersection may be used (e.g., if it is known) or if there is merely an indication that the two triangles intersect, then the contact points may be estimated as the centers of the two triangles. Numerous other collision detection techniques may be used to determine contact points and are encompassed by embodiments herein.
Once the candidate contact points are determined, a check will be made in block 330 to determine whether the stopping criteria have been met. Checking the stopping criteria may include determining whether two contact points in the set of candidate contact points are on opposite sides of the center of gravity. Another check of stopping criteria may include determining whether there are three contact points which define a triangle that includes the center of gravity of the moving 3D model.
If the stopping criteria are not met, then a determination may be made as to which contact points to use in subsequent steps of the motion simulation (executed in block 320). For example, consider
As another example, in
If the stopping criteria are met in block 330, then in block 340 the relative placement of the occluding sets of teeth may be determined based on the contact points. In some embodiments, the relative placements of occluding teeth may be known based on the contact points and no further calculation may be needed to determine the relative placements. In various embodiments, determining the relative placements of the occluding sets of teeth may include recording a matrix, quaternion, or other transformation of the 3D models of occluding teeth after the contact points have been determined. The contact points may define the relative placement of the two 3D models with respect to one another. The two 3D models may be translated, rotated, or a transformation between the two 3D models may be stored. In block 350, the design of the prosthesis may be continued or data may be generated for production of the prosthesis. Designing dental prostheses may be performed using any appropriate system, methods, or techniques, such as those described in U.S. patent application Ser. No. 12/703,601, filed Feb. 10, 2010, entitled Dental Prosthetics Manipulation, Selection, and Planning, which is hereby incorporated by reference in its entirety for all purposes.
After the 3D models have been received in block 311, contact points between each of the one or more 3D models of prosthetic teeth and the antagonist may be determined in block 321. Determining the contact points between the one or more 3D models and the antagonists may include rotating about an axis, simulating motion, manipulating the size, translation, rotation, or orientation of the 3D models until a contact point is determined, and the like. Returning again to
The stopping criteria may include the determination of a single contact point or the determination of multiple contact points as described above with respect to method 300. As discussed above, in some embodiments, multiple contact points may be determined for each of 3D models 770, 771, and 772. In various embodiments, as part of method 301, two or more contact points are determined for each of 3D models 770, 771, and 772 that represent posterior teeth and only a single or first contact point is determined for each 3D model 770, 771, and 772 that represents anterior teeth. For example, each 3D model 770, 771, and 772 that represents anterior teeth may be translated in the gravity direction in order to find the closest contact point (in block 321) and this may meet the stopping criteria (block 330) for that 3D model.
In some embodiments, the one or more 3D models of prosthetic teeth may be expanded or contracted until there is a single contact point (or multiple contact points). This expansion or contraction can continue until the stopping criteria are met (e.g., determining the requisite number of contact points). The expansion or contraction may also be followed by motion simulation. In some embodiments, each of the individual one or more prosthetic teeth will have a separate simulated motion (e.g., without the constraints of the axis 755 shown in
After the predetermined stopping criteria have been met as determined in block 330, then, in block 341, the new state for the one or more 3D models based on the contact point may be determined. The new state may be the new position, rotation, orientation, size, and/or shape of the one or more 3D models of the prosthetic teeth. After the new state has been determined in block 341, then, optionally, the operator may continue designing the prosthesis or may generate production data for the prosthesis (block 350).
Other methods and techniques may be used. Further, other blocks may be added to each of methods 300 and 301, or the blocks may be executed in a different order, may be executed simultaneously, or may be left out altogether. For example, a method may commence by performing a motion simulation, thereby skipping block 310 and proceeding directly to block 320. In such a simulation, the first contact point will be determined by free fall of one 3D model onto the other and then subsequent contact points may be determined in block 320 until the predetermined stopping criteria are met in block 330. Then the relative placement on the occluding sets of teeth based on the contact points may be determined in block 340. In various embodiments, the stopping criteria may include there being no further movement in the motion simulation. For example, the simulation of motion may continue until the two 3D models are in a static position, one with respect to the other. Various other embodiments are also considered within the scope herein.
Other Embodiments
Various of the embodiments herein show interfaces of a certain configuration. Other configurations of interfaces are also possible. Turning to
Prosthesis Manipulation in Dental Prosthesis Design
As discussed above, when designing a virtual multi-tooth prosthesis, the operator may move 3D models of individual prosthetic teeth independently of one another. Consider, for example,
Other manipulators and manipulations are also possible and considered part of the scope of embodiments discussed herein. In various embodiments, other types of manipulations of the teeth are also possible. For example, there may be a manipulator (not depicted in
Techniques for Prosthesis Manipulation in Dental Prosthesis Design
In block 1320, a manipulation command is received, said manipulation command relating to a subset of the teeth in the virtual prosthesis. As used herein, the phrase “subset of the teeth in the virtual prosthesis” includes its customary and ordinary meaning, including meaning that the subset is fewer than all of the teeth in the virtual prosthesis, including one tooth in the virtual prosthesis. For example, looking again to
Returning again to
Modifying the prosthesis based on the received manipulations (in block 1330) may include performing the requested action and, in some embodiments, performing additional actions or calculations in order to align or place all of the 3D models of teeth in the prosthesis and/or reduce gaps (or correct overlaps) between neighboring teeth. For example, in some embodiments, when neighboring teeth are scaled or translated, a gap may form between two teeth, as depicted in
In some embodiments, the techniques may include calculating the relative placement of all of the 3D models of prosthetic teeth in the virtual multi-tooth prosthesis after each manipulation command (or possibly after a series of manipulation commands). For example, after the manipulation command is received, all of the 3D models of the prosthetic teeth may be placed next to one another in the area to be reconstructed using bounding volumes as a first approximation. After the initial placement, the gaps (or overlaps) of the 3D models of the prosthetic teeth may be reduced or eliminated using the techniques described elsewhere herein. For example, looking to
In other embodiments, after one or more manipulation command are received, only the affected tooth or teeth may be manipulated, thereby leaving unchanged the placement, scale, and rotation of one or more of the 3D models of teeth in the virtual multi-tooth prosthesis. For example, if the manipulator 1490 in
In some embodiments, an initial placement or alignment of the 3D models of prosthetic teeth 1470, 1471, and 1472 can be obtained from any appropriate means, such as by referencing an alignment stored in a dental prosthesis library.
In some embodiments, the techniques may use bounding volumes or bounding boxes, not only for initial alignment of the 3D models of prosthetic teeth, but also for attempting to ensure that 3D models of neighboring teeth do not intersect or overlap in terms of volume. As neighboring teeth are scaled, for example, the bounding box can be used as a first approximation to ensure that neighboring teeth do not intersect or overlap in terms of volume. Similarly, when one of the 3D models of prosthetic teeth is translated, the bounding boxes may be used as a first approximation in order to ensure that the 3D models of prosthetic teeth do not intersect or overlap in terms of volume. The bounding boxes may also be used for rotation or any other manipulation of one or more teeth in the virtual multi-tooth prosthesis.
In some embodiments, in order to close or approximately close a gap between neighboring teeth, each 3D model may be scaled to bring the closest points between the two 3D models 1570 and 1571 to the border of the two bounding boxes. For example, the model 1570 may be scaled by an amount to close the previous gap 1595 to bring the 3D model 1570 to the border of the two bounding boxes (and the same may be the case for model 1571). Other methods and techniques of closing the gaps between teeth are also possible and are considered within the scope of the embodiments herein. Further, in some embodiments, the gap between neighboring teeth may not be closed in a virtual multi-tooth prosthesis. Or a connector may be used to span the space between the neighboring teeth (not depicted in
In the example of
After modifying the virtual multi-tooth prosthesis based on the received manipulation commands in block 1330, then optionally, in block 1340, the virtual multi-tooth prosthesis may be modified based on occlusion with the antagonist. Modifying a prosthesis based on occlusion with antagonist teeth is described elsewhere herein. Once the virtual multi-tooth prosthesis has been modified, the prosthesis may be treated as a rigid object and occlusion of that rigid object may be calculated with respect to the antagonist and the entire virtual multi-tooth prosthesis may move as a single structure. In other embodiments, each individual 3D model of a tooth may be modified separately based on its own occlusion with the antagonist. These two techniques are described elsewhere herein.
As described above with respect to block 1330 and with respect to
After performing block 1330 and/or block 1340, then, optionally, the virtual multi-tooth prosthesis may be presented relative to the area to be reconstructed in block 1310. Additionally, when the operator is ready to continue designing the multi-tooth prosthesis, the operator may continue to other steps not depicted in method 1300. Additionally, when the operator is ready to produce the multi-tooth prosthesis, the manufacturing data may be produced as part of block 1350.
Returning again to
In block 1331, the prosthesis is modified based on the manipulation commands and based on the occlusion with antagonist teeth. Manipulation of the teeth is described above with respect to block 1330 and modifying the prosthesis based on occlusion with antagonist teeth is described above with respect to block 1340. After the prosthesis has been modified, both based on the manipulation command and based on the occlusion with antagonist teeth, the prosthesis may be again displayed relative to the area to be reconstructed in block 1311. Additionally, once the operator is happy with the virtual prosthesis or is ready to produce the prosthesis, the operator may continue to other steps in prosthesis design (not pictured) or may produce manufacturing data for the prosthesis (block 1350).
Other methods and techniques may be used. Further, other blocks may be added to each of methods 1300 and 1301, or the blocks may be executed in a different order, may be executed simultaneously, or may be left out altogether. Blocks from method 300, 301, 1300, and/or 1301 may be used together in any order and in any combination. For example, in some embodiments, the 3D model of the prosthetic tooth represents the outer surface of the prosthetic tooth. The inner portion of the 3D model of the prosthetic tooth may be associated with an implant, a prepared tooth, a gum surface, etc.—and may have an inner 3D surface designed to mate with the implant, prepared tooth, gum surface, etc. In some embodiments, if the 3D model of a prosthetic tooth is manipulated (block 1330 or block 1331) and/or modified based on occlusion (block 1340 or block 1331), then only the outer surface is manipulated or modified and the inner surface (which is mated with an implant, prepared tooth, gum surface, etc) may not be modified. As such, in various embodiments, manipulating or modifying the exterior surface of a tooth may not change how the tooth is mated with an underlying surface.
The processes and systems described herein may be performed on or encompass various types of hardware, such as computing devices. In some embodiments, computer 210, display 220, and/or input device 230 may each be separate computing devices, applications, or processes or may run as part of the same computing devices, applications, or processes—or one of more may be combined to run as part of one application or process—and/or each or one or more may be part of or run on computing devices. Computing devices may include a bus or other communication mechanism for communicating information, and a processor coupled with the bus for processing information. The computing devices may have a main memory, such as a random access memory or other dynamic storage device, coupled to the bus. The main memory may be used to store instructions and temporary variables. The computing devices may also include a read-only memory or other static storage device coupled to the bus for storing static information and instructions. The computer systems may also be coupled to a display, such as a CRT or LCD monitor. Input devices may also be coupled to the computing devices. These input devices may include a mouse, a trackball, or cursor direction keys.
Each computing device may be implemented using one or more physical computers, processors, embedded devices, or computer systems or a combination or portions thereof. The instructions executed by the computing device may also be read in from a computer-readable storage medium. The computer-readable storage medium may be a CD, DVD, optical or magnetic disk, laserdisc, carrier wave, or any other medium that is readable by the computing device. In some embodiments, hardwired circuitry may be used in place of or in combination with software instructions executed by the processor. Communication among modules, systems, devices, and elements may be over direct or switched connections, and wired or wireless networks or connections, via directly connected wires, or any other appropriate communication mechanism. The communication among modules, systems, devices, and elements may include handshaking, notifications, coordination, encapsulation, encryption, headers, such as routing or error detecting headers, or any other appropriate communication protocol or attribute. Communication may also messages related to HTTP, HTTPS, FTP, TCP, IP, ebMS OASIS/ebXML, secure sockets, VPN, encrypted or unencrypted pipes, MIME, SMTP, MIME Multipart/Related Content-type, SQL, etc.
Any appropriate 3D graphics processing may be used for displaying or rendering, including processing based on OpenGL, Direct3D, Java 3D, etc. Whole, partial, or modified 3D graphics packages may also be used, such packages including 3DS Max, SolidWorks, Maya, Form Z, Cybermotion 3D, or any others. In some embodiments, various parts of the needed rendering may occur on traditional or specialized graphics hardware. The rendering may also occur on the general CPU, on programmable hardware, on a separate processor, be distributed over multiple processors, over multiple dedicated graphics cards, or using any other appropriate combination of hardware or technique.
As will be apparent, the features and attributes of the specific embodiments disclosed above may be combined in different ways to form additional embodiments, all of which fall within the scope of the present disclosure.
Conditional language used herein, such as, among others, “can,” “could,” “might,” “may,” “e.g.,” and the like, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements, and/or states. Thus, such conditional language is not generally intended to imply that features, elements and/or states are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without author input or prompting, whether these features, elements, and/or states are included or are to be performed in any particular embodiment.
Any process descriptions, elements, or blocks in the flow diagrams described herein and/or depicted in the attached figures should be understood as potentially representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process. Alternate implementations are included within the scope of the embodiments described herein in which elements or functions may be deleted, executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those skilled in the art.
All of the methods and processes described above may be embodied in, and fully automated via, software code modules executed by one or more general purpose computers or processors, such as those computer systems described above. The code modules may be stored in any type of computer-readable storage medium or other computer storage device. Some or all of the methods may alternatively be embodied in specialized computer hardware.
It should be emphasized that many variations and modifications may be made to the above-described embodiments, the elements of which are to be understood as being among other acceptable examples. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.
The present application is a divisional of U.S. patent application Ser. No. 12/884,669, filed Sep. 17, 2010, the disclosure of which is incorporated by reference herein in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
5458487 | Komatsu et al. | Oct 1995 | A |
5531520 | Grimson et al. | Jul 1996 | A |
5800174 | Andersson | Sep 1998 | A |
6152731 | Jordan | Nov 2000 | A |
6319006 | Scherer et al. | Nov 2001 | B1 |
6322359 | Jordan | Nov 2001 | B1 |
6334853 | Kopelman | Jan 2002 | B1 |
6533581 | Moenckmeyer | Mar 2003 | B1 |
6729876 | Chishti | May 2004 | B2 |
6979196 | Nikolskiy | Dec 2005 | B2 |
7458812 | Sporbert | Dec 2008 | B2 |
8199988 | Marshall | Jun 2012 | B2 |
8234000 | Andersson et al. | Jul 2012 | B2 |
8425229 | Nilsson et al. | Apr 2013 | B2 |
8594820 | Manai | Nov 2013 | B2 |
8858227 | Chishti | Oct 2014 | B2 |
9161823 | Morton | Oct 2015 | B2 |
9220579 | Chishti | Dec 2015 | B2 |
9226806 | Manai | Jan 2016 | B2 |
10736721 | Ohtake | Aug 2020 | B2 |
20020081554 | Marshall | Jun 2002 | A1 |
20020119423 | Chishti | Aug 2002 | A1 |
20030129565 | Kaza | Jul 2003 | A1 |
20040029068 | Sachdeva et al. | Feb 2004 | A1 |
20040172150 | Perot et al. | Sep 2004 | A1 |
20050153255 | Sporbert | Jul 2005 | A1 |
20060063135 | Mehl | Mar 2006 | A1 |
20080057466 | Jordan | Mar 2008 | A1 |
20080187879 | Chishti | Aug 2008 | A1 |
20080261165 | Steingart et al. | Oct 2008 | A1 |
20090068617 | Lauren | Mar 2009 | A1 |
20100106275 | Andersson | Apr 2010 | A1 |
20100151417 | Nilsson et al. | Jun 2010 | A1 |
20100332248 | Pettersson | Dec 2010 | A1 |
20110008751 | Pettersson | Jan 2011 | A1 |
20110010187 | Andersson et al. | Jan 2011 | A1 |
20110060558 | Pettersson et al. | Mar 2011 | A1 |
20110183291 | Carvalho et al. | Jul 2011 | A1 |
20110189625 | Hultgren | Aug 2011 | A1 |
20110196524 | Giasson | Aug 2011 | A1 |
20120070803 | Manai | Mar 2012 | A1 |
20120072177 | Manai | Mar 2012 | A1 |
20120129126 | Nouriam et al. | May 2012 | A1 |
20120171642 | Mehl | Jul 2012 | A1 |
20120179281 | Steingart | Jul 2012 | A1 |
20120225400 | Chishti | Sep 2012 | A1 |
20120282567 | Nilsson | Nov 2012 | A1 |
20120284000 | Nilsson | Nov 2012 | A1 |
20120290116 | Andersson et al. | Nov 2012 | A1 |
20130066598 | Fisker | Mar 2013 | A1 |
20130085721 | Chishti | Apr 2013 | A1 |
20130317800 | Wu | Nov 2013 | A1 |
20140188448 | Getto | Jul 2014 | A1 |
20160338799 | Wu | Nov 2016 | A1 |
20190290408 | Fisker | Sep 2019 | A1 |
20190365514 | Hasan | Dec 2019 | A1 |
Number | Date | Country |
---|---|---|
WO 1998052493 | Nov 1998 | WO |
WO 2004044787 | May 2004 | WO |
WO 2003092536 | Nov 2013 | WO |
Entry |
---|
Olthoff et al. “Computer modeling of occlusal surfaces of posterior teeth witht eh CICERO CAD/CAM system”, Aug. 2000, Journal of PRosthetic Dentistry vol. 84 No. 2, pp. 154-162. |
Hannam et al. “A dynamic model of jaw and hyoid biomechanics during chewing” 2008, Journal of Biomechanics 41, pp. 1069-1076. |
International Search Report issued in PCT Application No. PCT/IB2011/003064, dated Apr. 30, 2012, in 5 pages. |
Olthoff et al. “Computer modeling of occlusal surfaces of posterior teeth with the CICERO CAD/CAM System”, Journal of Prosthetic Dentistry, 2000, vol. 84, No. 2, pp. 154-162. |
Written Opinion of the International Searching Authority issued in PCT Application No. PCT/IB2011/003064, dated Apr. 30, 2012, in 4 pages. |
Number | Date | Country | |
---|---|---|---|
20160151132 A1 | Jun 2016 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12884669 | Sep 2010 | US |
Child | 14951949 | US |