Generation of gemstone cuts

By leveraging the Maxwell-Cremona correspondence and spring tension mathematics, combined with Bézier curve analysis and machine learning, various gemstone cutting designs are generated, solving the problem of low efficiency in gemstone cutting design and achieving efficient and aesthetically pleasing gemstone cutting and polishing.

CN121548843APending Publication Date: 2026-02-17GEMOLOGICAL INSTITUTE OF AMERICA INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480048303.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-05-22
Filing Date
2024-05-22
Publication Date
2026-02-17

AI Technical Summary

Technical Problem

Existing technologies struggle to efficiently generate a variety of gemstone cut designs, especially when considering optical properties and patterned arrangements. Furthermore, traditional methods are time-consuming and labor-intensive, making it difficult to achieve efficient cutting and polishing on rough diamonds or block stones.

Method used

By combining the Maxwell-Cremona correspondence and spring tension mathematics with Bézier curve analysis, all possible cut designs for the gemstone are generated through an enumeration algorithm. The parameter space is optimized using machine learning and artificial intelligence to generate a 3D model that conforms to the geometric constraints of the gemstone. Cutting and polishing are then achieved through planning tools.

Benefits of technology

It enables efficient planning and design for gemstone cutting, provides more shape options, improves cutting and polishing efficiency, reduces calculation time, and enhances the optical properties and aesthetic value of gemstones.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121548843A_ABST
    Figure CN121548843A_ABST
Patent Text Reader

Abstract

The present embodiments relate to systems and methods for generating all possible gem faceted arrangements. An apparatus may include a computer, a computerized file storage system to hold results, and a mechanism to generate a faceted arrangement that meets user-defined constraints. The apparatus may be characterized by a program that enables loading of gemstone faceted designs and that can provide adjustable settings to control specific geometric parameters. The program is also capable of providing a user with a 3D model that meets geometric constraints. In addition, the device can be combined with a ray tracing engine to assess the optical performance quality of the virtual gemstone model. The present embodiment may also include a method of optimizing diamond cutting using a genetic algorithm.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-reference to related applications This application claims priority to U.S. Provisional Patent Application No. 63 / 468,242, filed May 22, 2023, entitled “DIAMOND CUT ANALYSIS”, and U.S. Provisional Patent Application No. 63 / 468,226, filed May 22, 2023, entitled “GENERATION OF GEM CUTS”, the entire contents of which are incorporated herein by reference. Technical Field

[0002] This field includes determining the facet arrangement of gemstones and gemstone cutting. Background Technology

[0003] Gemstone cutting refers to the faceted arrangement on a gemstone. The process of designing new cuts is useful not only from the perspective of consumer interest in novel and custom designs, but also from the perspective of having more models available for planning software to fit rough diamonds or larger gemstones. Choosing proportions for the design to achieve good light performance and patterning is a fundamental issue in this field. In the past, creating new gemstone designs involved using software such as GemCad to simulate the cutting process of an actual rough stone to produce a model with specific proportions—a process that could be very tricky and time-consuming.

[0004] A fundamental challenge for diamond manufacturers is how to cut rough stones, block stones, or existing cut pieces into one or more polished diamonds. Manufacturers can generate 3D models by scanning diamond material with a system that matches the model to different facet arrangements and scale sets to maximize yield and cut fraction—a crucial factor in the field. The ability to generate a wide variety of facet arrangements for 3D models and to change scales as flexibly as possible is useful for planning and creating novel diamond designs. Summary of the Invention

[0005] The system and method described in this paper can be used to list all possible gem cuts in ascending order of complexity, where the gem is assumed to have a crown and a pavilion. The method uses the mathematics of the Maxwell-Cremona correspondence to equip each faceted arrangement with a set of knobs, allowing the user to explore the entire space of the scale set. Furthermore, geometric constraints, such as facet angles and azimuths or table dimensions, can be specified, and the program can find the corresponding 3D model.

[0006] Additionally or alternatively, this embodiment can be used to find novel gemstone cuts that meet certain technical and aesthetic considerations. Such embodiments can be particularly beneficial for custom diamond creation and planning. Furthermore, users have a wider variety of stone shapes to choose from when planning the cutting of gemstone materials. This embodiment may also include methods for efficiently exploring the parameter space using machine learning (ML) and artificial intelligence (AI) methods.

[0007] In an example embodiment, additionally or alternatively, a method for creating a virtual gemstone model with a faceted arrangement is provided. The method may include obtaining a set of measurements related to the gemstone at a computer. The method may also include detecting the crown and / or pavilion of the set of measurements related to the gemstone at the computer, and selecting one or more filters for desired gemstone parameters. The method may further include generating a 3D model of the gemstone by the computer based on the selected crown and / or pavilion and one or more filters, wherein the 3D model is configured for planning or cutting gemstone material.

[0008] In some instances, additionally or alternatively, the method may include generating a 3D model comprising a combined crown and pavilion, and converting the crown and pavilion into a 3D model via the Maxwell-Cremona correspondence between the crown and pavilion.

[0009] In some instances, additionally or alternatively, the method may include obtaining the selection of one or more parameters from a set of tunable parameters to modify the 3D model and generate any possible gem geometry of the gem material with a given facet arrangement.

[0010] In some instances, additionally or alternatively, the method may include transferring a 3D model to a planning tool configured to generate planning instructions for cutting and / or polishing gemstone materials.

[0011] In some instances, additionally or alternatively, the method may include obtaining selections by a computer to optimize a 3D model with respect to at least one selected metric, and generating a maximized virtual 3D model by a computer that maximizes the selected metric.

[0012] In some instances, additionally or alternatively, the method may include creating an n-dimensional mesh of diamond geometry by a computer by varying selected parameters, filtering a set of models into a subset of virtual models based on the mesh of diamond geometry formed by varying the selected parameters, and selecting the subset of models as a library of models to be passed to the planning tool.

[0013] In some instances, additionally or alternatively, multiple model libraries are passed to the planning tool to allow for multiple options when cutting and polishing gemstone materials.

[0014] In another example embodiment, additionally or alternatively, a system is provided. The system may include a processor and memory, the memory including instructions that, when executed by the processor, cause the processor to perform steps. These steps may include obtaining a set of measurements related to a gemstone. These steps may also include detecting the crown and pavilion of the set of measurements related to the gemstone and selecting one or more filters for desired gemstone parameters. These steps may further include generating a 3D model of the gemstone based on the selected crown and / or pavilion and one or more filters.

[0015] In some instances, additionally or alternatively, generating a 3D model includes combining the crown and pavilion, and converting the crown and pavilion into a 3D model via the Maxwell-Cremona correspondence between the crown and pavilion.

[0016] In some instances, additionally or alternatively, these steps also include obtaining the selection of one or more parameters from a set of tunable parameters to modify the 3D model and generate any possible gem geometry of the gem material with a given facet arrangement.

[0017] In some instances, additionally or alternatively, these steps also include transferring the 3D model to a planning tool configured to generate planning instructions for cutting and / or polishing gemstone materials.

[0018] In some instances, additionally or alternatively, these steps also include obtaining a selection to optimize the 3D model with respect to at least one selected metric, and generating a maximized virtual 3D model that maximizes the selected metric.

[0019] In some instances, additionally or alternatively, these steps also include creating an n-dimensional mesh of diamond geometry formed by changing selected parameters, filtering a set of models into a subset of virtual models based on the mesh of diamond geometry formed by changing selected parameters, and selecting the subset of models as a library of models to be passed to the planning tool.

[0020] In some instances, additionally or alternatively, multiple model libraries are passed to the planning tool to allow for multiple options when cutting and polishing gemstone materials.

[0021] In another example embodiment, additionally or alternatively, a method is provided for generating an optimized list of 3D models for a specified facet arrangement or facet arrangement type of gemstone. The method may include receiving at a computer the selection of one or more target parameters that define the list of 3D models to conform to. The method may also include receiving at a computer a list of facet arrangements. The method may further include receiving at a computer a list of performance and geometric criteria related to optical properties, virtual facet patterning, profile, and / or weight in relation to the list of facet arrangements. The method may also include storing the facet arrangements, virtual facet patterns, profile, and / or weight by the computer. The method may further include generating a list of 3D models with different sets of parameters, wherein the set of 3D models conforms to the target parameters and meets or exceeds the performance and geometric criteria.

[0022] In some instances, additionally or alternatively, the target parameter is part of the outline of the rough gemstone or a portion of the rough gemstone, and the gemstone is configured to be polished according to that outline.

[0023] In some instances, additionally or alternatively, the target parameters include the outline of the polished gemstone, which allows for the recutting of a more optimized gemstone.

[0024] In some instances, additionally or alternatively, the generation of this set of 3D models is performed via a genetic algorithm using defined parameters, including spring tension, as genetic material to maximize the volume yield of the gemstone.

[0025] In some instances, additionally or alternatively, the method may include generating the set of 3D models, which includes combining selected crowns and pavilions, and converting the crowns and pavilions into the set of 3D models via the Maxwell-Cremona correspondence between the crowns and pavilions.

[0026] In some instances, additionally or alternatively, the method may include transferring the set of 3D models to a planning tool configured to generate planning instructions for cutting and / or polishing gemstone materials.

[0027] In another example embodiment, additionally or alternatively, a computer-implemented method for creating a diamond design encyclopedia is provided. This method may include automatically generating a list of faceted arrangements of a certain complexity using an enumeration algorithm. The method may also include automatically populating a set of best-guess proportions and displaying charts and interactive content. The method may further include creating an interface for the user to adjust the proportion set and display newly calculated charts. In some examples, the method may also include allowing the user to click to optimize or request consultation with the diamond design team.

[0028] In some instances, additionally or alternatively, the method can accept a 3D scan model from a contact measurement device, determine its symmetry type, and generate graphics for gem faceting classification.

[0029] In some instances, additionally or alternatively, the method may accept a 3D model of the diamond and use a gradient descent method with respect to spring tension to determine a simplified diagram that makes the girdle thickness as uniform as possible.

[0030] In some instances, additionally or alternatively, the method may accept a 2D design to determine its symmetry type and generate a graph, assess whether it can be improved into a valid 3D model, and then create an adjustable 3D model with tunable parameters.

[0031] In another example embodiment, additionally or alternatively, a method is provided for generating all symmetrical gem faceted arrangements reaching a specified complexity. The method may include receiving, at a computer having a processor and memory, a selection defining the symmetry type and number of vertices for the crown and pavilion. The method may also include the computer storing the basic domain for each gem cut, locating vertices as needed, and connecting each vertex to an edge to create an abstract graph T. The method may further include the computer enumerating all subgraphs of the graph, removing duplicates, and verifying the connectivity of each subgraph. The method may further include, after expanding the graph to have 3-fold symmetry, the computer using a Tutte embedding and facet tracing algorithm to confirm the planarity and triconnectivity of the graph. The method may further include the computer returning a list of all such graphs satisfying one or more constraints and writing the list of all such graphs to a computer file.

[0032] In some instances, additionally or alternatively, the method may include obtaining a selection of faceted arrangements from a tabular list.

[0033] In another example embodiment, additionally or alternatively, a method for enabling a user to generate all possible sets of geometric scales for a faceted arrangement. This method may include importing a faceted arrangement from a file or user input. The method may also include allowing the user to modify the external shape using Bézier curves or similar modeling methods. The method may further include allowing the user to assign positive weights (spring tension) to each edge. The method may also include creating a 3D model from this information using the Maxwell-Cremona correspondence. The method may further include saving the 3D model to a file.

[0034] In some instances, additionally or alternatively, the program generates and saves grouped 3D models based on user-defined ranges and step sizes.

[0035] In another example embodiment, additionally or alternatively, a method is provided that allows a user to generate all possible sets of geometric scales for a faceted arrangement. This method may include importing a faceted arrangement from a file or user input. The method may also include allowing a user to adjust the geometric model using a program that converts desired geometric properties, such as facet angles and azimuths, table size, and facet ratio, into linear equations in spring tension. The method may also include solving the linear equations to produce the geometric model. The method may further include saving the 3D model to a file.

[0036] In some instances, additionally or alternatively, the program generates and saves grouped 3D models based on user-defined ranges and step sizes.

[0037] In some instances, additionally or alternatively, the method may include searching a set of proportions for a particular diamond cut or multiple cuts at a time via a genetic algorithm using defined parameters (such as spring tension) as genetic material in order to maximize the selected metric.

[0038] In some instances, additionally or alternatively, the method may include using neural networks to create regression models of the metrics to improve computation time.

[0039] In some instances, additionally or alternatively, the method may include detection selection to find a scale that optimizes the selected metric for a given faceted arrangement.

[0040] In another example embodiment, a method is provided for predicting diamond metrics based on parameter inputs. The method may include a set of parameters for obtaining a set of measurements of the gemstone material. A trained neural network model may be implemented as a regression model to predict diamond metrics for a specific cut or all cuts having a specific symmetry type and number of vertices. The method may also include applying a genetic algorithm to maximize any metric for a single cut or all cuts in a given symmetry class. In some instances, an ML model implementing the COBLYA algorithm may be used for optimization. The algorithm may be a computational optimization technique inspired by processes of natural selection and evolution. The algorithm may use a population of candidate solutions, evolving them over multiple generations by applying operations similar to genetic crossover, mutation, and selection.

[0041] In some examples, the genetic material may include a set of parameters describing the proportions of a diamond, such as aspect ratio and crown angle, or spring tension parameters enhanced with girdle profile information.

[0042] In some instances, the gene mutation process can be implemented through random variations of a subset of parameters. The gene mutation process may involve selecting a subset of parameters from sample A, while the remainder comes from sample B. This selection can be determined by a chosen metric. A random population of diamond proportions can be chosen as the initial population. Those with the highest metric values ​​are selected for crossover and mutation. The next generation is populated with copies of these offspring, and this process is iterated.

[0043] In an example embodiment, a method may be provided for generating all symmetrical faceted arrangements of gemstones reaching a specified complexity. The method may include receiving a selection defining the symmetry type and number of vertices for the crown and pavilion. The method may also include storing a basic domain for each gemstone cut, locating vertices as needed, and connecting each vertex to an edge to create an abstract graph T. The method further includes enumerating all subgraphs of the graph, removing duplicates, and verifying the connectivity of each subgraph. The method may also include using Tutte embedding and facet tracing algorithms to verify planarity and tri-connectivity after expanding the graph to have 3-fold / 3x symmetry. The method may also include returning a list of all such graphs satisfying one or more constraints and writing the list to a file.

[0044] In another example implementation, a tunable 3D model can be created by selecting the crown and pavilion using the methods described above. A complete search of the parameter space or a search limited to a range of certain parameters can be specified, along with the metrics to be optimized. A computer can be instructed to implement machine learning algorithms to find the optimal solution, which will then be passed to a planning program for cutting the gemstone material.

[0045] In some examples, a method is provided for generating all possible sets of geometric scales for a faceted arrangement. This method may include importing the faceted arrangement from a file or user input. It may also allow modification of the external shape using Bézier curves or similar modeling methods. The method may further include assigning spring tension to each edge. It may also include creating a 3D model from this information using the Maxwell-Cremona correspondence. Finally, the method may include saving the 3D model to a file.

[0046] In some examples, the program generates and saves grouped 3D models based on user-defined ranges and step sizes.

[0047] In some examples, a method is provided that allows the generation of all possible sets of geometric scales for a faceted arrangement. This method may include importing a faceted arrangement from a file or user input. The method may also include using a program to adjust the geometric model, which converts desired geometric properties, such as facet angles and azimuths, table dimensions, and facet ratios, into linear equations in spring tension. The program then solves the linear equations to produce the geometric model. The method may also include saving the 3D model to a file.

[0048] In some examples, the program generates and saves grouped 3D models based on user-defined ranges and step sizes.

[0049] In one example implementation, a diamond design can be input, where the girdle thickness varies considerably. The model is converted into a tunable spring tension model, and the deviation of the girdle boundary from flatness is analyzed at each vertex. Gradient descent algorithms can be used to iteratively change the spring tension to create a model where the girdle thickness deviation has been reduced.

[0050] In one example implementation, the generated set of 3D models is evaluated using a ray tracing procedure to determine optical and other properties. The model with the highest performance can be selected and passed to a planning program for cutting gemstone materials.

[0051] In another example implementation, the generated set of 3D models is evaluated using a ray tracing procedure to determine optical and other properties. A set of high-performance models is collected into a model library, which is then passed to a planning program to allow for more flexible adaptation to a single piece of gemstone material to be cut.

[0052] In some examples, one approach uses a genetic algorithm to search a set of proportions for a particular diamond cut or multiple cuts at a time, using defined parameters such as spring tension as genetic material, to maximize the selected metric.

[0053] In some examples, neural networks can be used to perform regression models of metrics to improve computation time. Attached Figure Description

[0054] To better understand the embodiments described in this application, reference should be made to the following detailed description in conjunction with the accompanying drawings, wherein the same reference numerals refer to corresponding parts throughout the drawings.

[0055] Figure 1 These are images of the basic domains and generated graphics of standard circular bright and princess-shaped crowns and pavilions, based on certain aspects described in this article.

[0056] Figure 2 These are images that generate graphical examples based on certain aspects described in this article.

[0057] Figure 3 It is an image of all square figures with 3 vertices in the basic domain, based on certain aspects described in this article.

[0058] Figure 4 It is an image of all round brilliant diamond crowns with up to 4 vertices in the basic domain, based on certain aspects described in this article.

[0059] Figure 5 It is an image of all circular brilliant-type diamond pavilions with up to 4 vertices in the basic domain, based on certain aspects described in this article.

[0060] Figure 6 It is an image of the output of a simple crown process in the form of (1,1,1,0) according to certain aspects described in this article.

[0061] Figure 7 This document illustrates an example flow of how the system described herein, based on certain aspects thereof, can conform to diamond manufacturing processes and production lines.

[0062] Figure 8 A second example flowchart illustrates the diamond design process based on certain aspects described in this article.

[0063] Figure 9 A set of example five-fold / five-times symmetry designs are shown based on certain aspects described in this article.

[0064] Figure 10 This is a diagram of an example network system based on certain aspects described in this article.

[0065] Figure 11 These are illustrations of example computer systems based on certain aspects described in this article. Detailed Implementation

[0066] Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings. Numerous specific details are set forth in the following detailed description to provide a full understanding of the subject matter presented herein. However, those skilled in the art will understand that the subject matter can be practiced without these specific details. Furthermore, the specific embodiments described herein are provided by way of example only and are not intended to limit the scope of the particular embodiments. In other examples, well-known data structures, timing protocols, software operations, programs, and components have not been described in detail so as not to unnecessarily obscure aspects of the embodiments herein.

[0067] Overview Gemstone cutting planning (including rough stone, block, and recut planning) and the equipment used to perform the cuts are things the industry is constantly striving to optimize. A gemstone planner or cutter can select gemstone material and decide how to cut it to create a gemstone that exhibits specific optical properties from its facets or is shaped in a particular way from optical design choices. However, these gemstone cutters may also want to maximize the physical properties and size of the gemstone to obtain the largest and best polished gemstone possible.

[0068] One of the many technical challenges in providing such planning (especially those using cloud-based software solutions) is generating a 3D wireframe model that conforms to the physical constraints of the gemstone material, against which the material will be polished. For example, a database exists for the unique facet arrangements of submitted diamonds, containing thousands of unique designs in facet arrangement, but planners encounter difficulties in applying these theoretical designs to the actual scanning of the 3D gemstone material.

[0069] Furthermore, for each possible facet arrangement, there exist any number of unique and independent parameters that can be used to define the geometry of the final polished and cut gemstone or diamond. These parameters can include those such as table size, crown angle, girdle thickness, various scale ratios, and parameters that define the diamond's shape. It is impossible to visualize all these options and variables with the naked eye in a physical stone.

[0070] It should be noted that the terms "gemstone" or "diamond" are used interchangeably and neither is limiting, and specifically include the possibility of lab-grown diamonds. The systems and methods described herein are applicable to any kind of stone or other material to be cut and faceted, and the terms "gemstone" and "diamond" are merely non-limiting examples.

[0071] In other systems, the manufacturer's only decision when cutting and polishing a diamond is to choose which design to use from a wide range of possible facet arrangements, and then select parameters for that chosen facet arrangement. In such examples, the manufacturer is likely to choose a design that attempts to produce the largest possible final polished gemstone. However, it may be beneficial to also consider other factors, such as, but not limited to, color, clarity, and cut grade, as these factors also affect the value of the final polished gemstone.

[0072] Furthermore, other available systems are likely to be extremely expensive and labor-intensive software engineering efforts, with limited visibility into the entire space of design possibilities for a specific cut category (such as oval), and limited parametric resolution, making it a laborious task to determine the 3D modeling work of each fancy facet arrangement one at a time. Moreover, these methods require very careful identification of all individual parameters to ensure a complete solution of the parameter space for a given model. There are also other subtle complexities involving the validity of certain parameter choices, as most produce impossible solutions for polishing gemstones—that is, they cannot actually exist within the given physical parameters of the stone itself.

[0073] The system and method described in this paper can be used to solve these planning and modeling problems using one or more algorithms, based on which each diamond or gem facet design can be generated and customized for each design's physical parameter space from a physical rough stone or a larger stone to be recut (including lab-grown diamonds). In this way, inputs such as wireframes, convex hulls, or other volumetric models can be fed into the system or a third-party system along with inputs of the general or specific shape category to be used. The system and method described in this paper can then output a solution, which can then be fine-tuned with various examples of candidate models with varying yields and performance scores. The system and method can then be used to refine or narrow down such a list of candidates to one, two, three, or other desired numbers of best fits and top-ranked performance scores.

[0074] This technological approach allows planners to select designs in a more efficient and powerful way. It also provides planners with a wider range of shape options to choose from. It can also facilitate the automatic generation of pages for a diamond encyclopedia. Furthermore, one or more algorithms can be tweaked to identify the physical parameters that have the greatest impact on yield (weight) and aesthetics (cut, including morphological appeal and virtual facet characteristics), thereby creating a system that reduces the number of calculations required for design options.

[0075] The current embodiments described herein explore techniques for planning and mapping numerous possible gemstone cutting and faceting schemes using the scale of gemstone materials and computer algorithms and software to model and map these schemes. In some examples, a three-dimensional model can also be built for a hypothetical gemstone. In either case, these systems and methods can be used for design, whether the model represents the actual physical stone being scanned and the model is built to represent that scan, or the model is derived from a hypothetical stone. Therefore, the systems and methods described herein can be used to present a user with any number of potential schemes to choose from, with basic information such as the gemstone's optical properties, scintillation, sparkle, and design, if various cutting options are used.

[0076] The method described in this paper for creating models for diamond planning and cutting utilizes the mathematics of spring tension and the Maxwell-Cremona correspondence, a method of transforming a set of spring tensions (plus the normal vector of a single facet) along the edges of a shape into a 3D model. This solves the domain problem, where many impossible geometries may exist when creating models using conventional parameters such as angles, azimuths, star ratios, and table dimensions. However, any distribution of positive spring tension corresponds to a legal geometry, allowing for an efficient search within the space of possible geometries. The current embodiment can assist those specializing in planning gemstone cuts.

[0077] Many methods for studying different facet arrangements involve using programs to simulate or virtually cut gemstones. However, these methods typically do not include the ability to generate lists of many, or even all, possible gemstone cuts in ascending order of complexity. Nor do any systems allow the user complete control over all parameters of the gemstone's shape. The current embodiment uses a method combining spring tension with Bézier curve analysis of the boundary profile, which can provide complete control over the gemstone's geometry and shape.

[0078] The system and method presented in this paper utilize one or any number of such algorithmic and software implementations to enumerate gem crowns and pavilions with various types of symmetry, including those with higher levels of symmetry (such as round and princess cuts) and those with lower levels of symmetry (such as oval, pear, and marquise diamonds). These can be used to explore the possible set of proportions for any given faceted arrangement. The specific enumeration method presented in this paper can also allow searching this proportion space (also known as the parameter space).

[0079] Symmetry and examples of drawing gemstones Figure 1 Example illustration 100 shows the basic domains and generated graphics of the crown and pavilion for a standard round brilliant and princess-cut gemstone. The images of the crown and pavilion described herein can be line drawings or graphs generated by a computer system from scanned and modeled actual gemstones. In some examples, this can be achieved using a silhouette imaging system that uses computerized images to construct a three-dimensional model. In some examples, the line drawing or graph can belong to a theoretical gemstone, which can be cut from gemstone material for planning purposes. In any example, the characterization of the gemstone's crown and pavilion can be analyzed to determine which facets repeat around a line of symmetry, and these facets can be plotted into a computer program that uses one or more algorithms to generate multiple dot plot examples.

[0080] The crown and pavilion of a gemstone can be determined by its basic domains and symmetry order. Therefore, to enumerate diamonds, it is only necessary to enumerate the basic domains. Looking at diamonds in terms of their basic domains also allows for the grouping of similar faceted arrangements with different orders; thus, a standard round brilliant diamond can have 3, 4, 5, or even higher symmetry.

[0081] The graphs output by the systems and methods described in this paper can be transformed into 3D wireframes or schematic models using the Maxwell-Cremona correspondence. This is a mathematical principle in which spring tension is assigned to a planar network (graph) and normal vectors are assigned to individual facets, thereby enabling the determination of a specific 3D model geometry. In this way, the systems and methods of this paper can leverage these algorithms to generate computer-created models with all requested parameters.

[0082] As shown in the example Figure 1 As shown, two common faceted arrangements are illustrated: round brilliant 120 and 130, and princess cut 110 and 140. Round brilliant (e.g., 120, 130) may include accompanying features (e.g., 122, 124, 126 and 132, 134, 136), and princess cut (e.g., 110, 140) may include features (e.g., 112, 114, 116 and 142, 144, 146). It should be noted that these are merely examples, and the systems and methods described herein can be applied to any number of gem shapes, cuts, sizes, or examples. The examples of princess cut and round brilliant are merely illustrative and do not imply limitation.

[0083] like Figure 1 As shown in the example, lines of symmetry can be superimposed on a map of gem facets and can be used to analyze gem faceting. Figure 1 In the example, lines of symmetry are used to divide each gem sketch into a set of congruent regions called fundamental domains. Once determined, the congruent fundamental domains include a portion of the overall crown and pavilion, and these portions can be repeated to represent the entirety of the crown and pavilion sketches. This portion of the crown or pavilion is called a generating figure. A single generating figure can be used to create a complete crown or pavilion of any order of symmetry.

[0084] In practice, for example, a user can request a list of all stones of type (0,1,2,0) with 5x5 symmetry, where each of the non-negative integer quadruples (nL, nM, nR, nB) corresponds to the number of vertices present in some place in the fundamental domain. For example, see [reference]. Figure 2Feature 210 in the diagram: the first entry (nL) of the ordered quadruple counts the number of vertices on the left edge of the basic domain, the second entry (nM) counts the number of vertices inside the basic domain, the third entry (nR) counts the number of vertices on the right wall of the basic domain, and the fourth entry (nR) counts the number of vertices on the bottom boundary. This information can be input into a user interface program, which then generates all the shapes of that type in the basic domain according to the request, and then fills the basic domain into the entire diamond shape using five reflective lines.

[0085] In some examples, two separate tools can be used. The enumeration tool can list all (0,1,2,0) figures in the basic domain or more general (nL, nM, nR, nB) figures. The reader tool can prompt the user to enter the order of symmetry he or she wants to use when creating a 3D model.

[0086] In some examples, a given diamond shape (e.g., via a wireframe-mapped model) is input into the system, and the system can determine lines of symmetry within the input model. Such systems can examine all possible lines of symmetry, for example, by connecting the vertices and edge midpoints of the table facets in all possible ways. For each plausible line of symmetry, if the shape reflects along that line, the system checks that all vertices and edges are identical within tolerance. This can provide a classification method for faceted arrangements of gemstones.

[0087] For illustrative purposes, a basic domain in each of the examples 114, 124, 134, and 144 is shaded. The system and method of this paper can take the basic domain examples and generate graphs 116, 126, 136, and 146 that label the vertices of facets on a gemstone. In each basic domain example 116, 126, 136, and 146, the vertices are labeled. In some examples, these labels and / or the coordinates of the basic vertices may be stored in a computer database or computer storage device.

[0088] The generated graphs 116, 126, 136, and 146 can have up to three corner boundary vertices. In example 130 in the third row, the points of the three corner boundary vertices are... Figure 1 The vertices are labeled c, b1, b2, and if there is only one such vertex, it can be assumed to be located at the bottom right, b2. In example 110 in the first row, the vertices are 1, 2, 3, and b, where b is the corner boundary vertex. In example 120 in the second row, the vertices are 2, 1, b2, b1, where b2 and b1 are corner boundary vertices. In example 140 in the fourth row, the vertices are c, 1, 2, 3, 4, b, where the corner boundary vertices are c and b.

[0089] Now go to Figure 2The example in the diagram depicts an example generated graph of the pavilion and crown image 202 and the basic domain 210. Generated graph 210 shows details of a small portion from the complete image 202. This could be a simple crown with only vertex b. Besides this one corner boundary, there can be three other types of vertices. For example, vertex nL sits along the left wall, vertex nM sits inside the triangle, vertex nR sits along the right wall, and vertex nB sits along the bottom boundary. Thus, the two vertices labeled 1 and 2 sit on the left edge of graph 210, corresponding to the line of symmetry adjacent to edge 212 in the original simplified diagram. These can be referred to as nL vertices. Vertex 3 lies inside the basic domain 210 and can be an nM vertex. Finally, vertex 4 sits on the line of symmetry adjacent to the corner and can be an nR vertex. The vertex sitting along the bottom waistline can be an nB vertex, although it is not shown in this particular simplified diagram.

[0090] exist Figure 2 In this example, the graph is encoded by various data. The data can include ordered quadruples (nL, nM, nR, nB), which can correspond to 1 and 2 (as vertices nL), 3 (as vertex nM), and 4 (as vertex nR). Vertex nB is not shown in this example. The data can also include edge connectivity of vertices 1, ..., 4: {1, 3}, {2, 3}, {3, 4}. Edges connecting vertices and their reflectors: {1, 1}, {3, 3, -1}. Here, -1 indicates that the edge reflects to the left of the vertex via a vertical line. If an edge crosses a diagonal boundary to reach its top and right, the notation {3, 3, +1} can be used. In this example, the list of vertices to which the corner is attached is {2, 4}.

[0091] Similarly, if other boundary vertices exist, those connected to them can also be identified. For example, refer to... Figure 1 Furthermore, reference to nB is prohibited. The features of various designs can be shown in Tables 1-4: Table 1 Table 2 Table 3 Table 4 Given such combined data, an embedded generative graph can be reconstructed as follows. First, choose a certain n and generate an abstract graph from the generative graph having a symmetry group D2n (corresponding to n folded symmetry lines). A specified outer loop can be used, and Tutte embedding can be applied. Tutte embedding is a method of treating the description of the graph as a list of connectivity between vertices and transforming it into a 2D picture in a plane. More specifically, the above data can be transformed into an embedded 2D picture. Embedding means that edges do not intersect each other. Finally, this can be restricted to the basic domain to obtain the embedded generative graph. That is, a method is provided to obtain an abstract list of nodes and connectivity without geometric information and generate the actual 2D simplified diagram of the diamond crown or pavilion and its generative graph.

[0092] Pseudocode example In such examples, the algorithm might act like a sieve. First, as mentioned before, generate all reasonable graphs (abstract connections between vertices). The first step is to remove all duplicates so that the same graph isn't accidentally listed twice.

[0093] The next step is to check if each graph is connected and discard any disconnected graphs. Afterward, each generated graph is reflected back to a complete graph using 3-fold symmetry (the minimum usable value), and the 3-connectivity of that graph is checked. Any generated graph that fails this step is discarded. Checking if a 3-fold reflected graph is 3-connected is sufficient to show that for any symmetry greater than 3, it will be 3-connected. The 3-connectivity of a graph means that removing any two vertices of the graph does not break the graph, which is a sufficient condition for a graph to represent a three-dimensional polyhedron (such as a diamond crown or pavilion). Graphs that pass these checks can be written to a file. They represent a list of graphs that the algorithm should produce. In the case of enumerating graphs with symmetry n less than 3, we instead check the 3-connectivity of n-fold reflected graphs.

[0094] For example, more detailed pseudocode fixes the numbers nL, nM, nR, nB, and the boundary vertex Boolean variables b1, b2, c representing whether a vertex exists at these three locations. To find all generated graphs with this data, all possible feasible methods for abstractly connecting all relevant vertices are listed, and then all of them are checked for planarity, three-connectivity, and repetition.

[0095] The number of possibilities can be reduced by considering certain constraints. Example constraints could include vertices nL, nM, and nB, each of which must fall within a subset of a linear chain (which can be represented as Le, Li, and Lb). Another example constraint could include corner vertex b2 connecting to at most one vertex c, and vertex b1 connecting to at most one vertex nL. The center vertex can connect to at most one vertex each of nL and nR.

[0096] These steps can be used to create a graph TGraph(a, b, c, d) with different classes of edges on vertices nL, nM, nR, and nB. Example classes can include linear chains on vertex "a", all edges connecting vertex "a" to vertices "b" and "c", all edges connecting vertex "b" to vertices "b" and "c", linear chains on vertex "c", linear chains on vertex "d", all self edges on vertices "a" and "c", and two types of self edges on vertex "b": (k, k, 1) and (k, k-1).

[0097] Next, we can consider the graph formed by all subsets of these edges, creating a list called abcdBoolSets. Each member of abcdBoolSets can be stored as an array of Boolean variables, indicating whether a given edge is inside or outside.

[0098] For algorithmic purposes, the following can also be defined. For example, `b1BoolSets` encodes all possible sets of edges connecting `b1` to the interior vertices of the graph. Its members are an array of `a+b+c` boolean values, restricted to at most one "true" in the first `a` slot. As another example, `b2BoolSets` encodes all possible sets of edges connecting `b2` to the interior vertices of the graph. Its members can be an array of `a+b+c` boolean values, restricted to at most one "true" in the last `c` slot. As another example, `centerBoolSets` encodes all possible sets of edges connecting `c` to the interior vertices of the graph. Its members can be an array of `a+b+c+d` boolean values, restricted to at most one "true" in the first `a` slot and at most one "true" in the middle `c` slot. As yet another example, the boolean values ​​`cb1` and `cb2` indicate whether there is an edge connecting `c` to `bi`.

[0099] Next, the element sizes of abcBoolSets, b1BoolSets, b2BoolSets, and centerBoolSets can be fixed at j, k, l, and m respectively (iterover over all possibilities). For each of these elements, a concatenation of Boolean values ​​can be formed, which gives the list boolGraphSet.

[0100] The next stage of this process could be removing duplicates caused by different labels of the same graph. Consider a permutation list Xabcd = Sa × Sb × Sc × Sd\{id}, i.e., permutations that prioritize vertex types. Each permutation σ can be applied to a Boolean array in g∈boolGraphSet by computing the action on T(a, b, c, d) and the edges from b1, b2, and c. In some cases, edges in g may not be located in T(a, b, c, d) when acted upon by σ, meaning this is not a valid relabeling. If the relabeled graph is valid, this can be called as g.σ.

[0101] See Appendix Algorithm 2 in the pseudocode. Note that if a graph has a non-trivial automorphism, the algorithm will remove it. In this example, this is acceptable because any such graph cannot be connected or ternarily connected. In this way, features that appear as bugs in the algorithm are not actually a problem. Useful graphs should be connected and ternarily connected so that they correspond to 3D polyhedra, and when removing duplicates, if the graph has symmetry, this step will also remove the original graph in addition to its duplicates.

[0102] After applying the duplicate removal algorithm, a depth-first search can be used to check the connectivity of each generated graph.

[0103] Next, each generated graphic can be transformed into a graphic with 3-fold symmetry. This is an internal step to filter out generated graphics that do not correspond to the polyhedron. The resulting generated graphics can and will be used in later processes to generate graphics with any symmetry order of 3 or higher. For example, refer to... Figure 5 At position 599, generate graph G, place it within the shown basic domain, and then reflect it to fill the entire graph. The program can then use Appendix Algorithm 1 (Trunk Identification) as in the appendix to check if it is an embedding and three-connected graph. Tutte's spring tension balance map can then be applied, and Appendix Algorithm 1 can be used to check if it is a truss. If not, it can be discarded. Similarly, in the case of enumerating graphs with n-fold symmetry less than 3, instead generate n-fold symmetric graphs.

[0104] The remaining graphics are written to a computer file. See also Figure 6 This serves as an example of the result when (nL, nM, nR, B) = (1, 1, 1, 0) and the graph is simple. Using these graphs, computer software tools can generate 3D wireframe models for analysis, including but not limited to gem cutting plans on a piece of gem material.

[0105] Example of graphical results The process described in the previous sections produces a complete list of simplified diagrams of the diamond crown and pavilion that meet the user's specified criteria.

[0106] exist Figure 3 , Figure 4 and Figure 5 The paper presents example results of the process under various constraints, showing all combinations of simplified pavilion and crown diagrams generated by the algorithms, systems, and methods described in this paper.

[0107] exist Figure 3 In Figure 302, an example of a square shape with three vertices in a basic domain is shown. Figure 3 The table lists all graphs 302 that have a symmetry group D8 and whose outer polygons are squares such that the fundamental domain has three or fewer vertices. Figure 4 In the case of a round brilliant diamond, the crown has up to four vertices in its fundamental domain.

[0108] Figure 4 Example 402 shows all the crowns and pavilions of diamonds of the same symmetry type as the standard round brilliant, and shows up to 4 vertices in the basic domain.

[0109] Figure 5 Example circular brilliant diamond pavilion 502 is shown, which has up to 4 vertices in the basic domain.

[0110] Figure 6 The output 602 is shown for a simple crown of the form (1, 1, 1, 0).

[0111] Figure 7 An example flow 700 illustrates how the system described herein can be integrated into diamond manufacturing processes and production lines. For example, at 702, gemstone material can be provided. At 704, a scanning device can scan the gemstone material to generate a 3D model (e.g., at 706).

[0112] Furthermore, at point 708, an enumeration algorithm can be obtained. At point 710, the enumeration algorithm can be applied based on the retail manufacturer's customer selection. At point 712, a faceted arrangement and 3D model can be generated. At point 714, the planning software can obtain the 3D model (in point 706) and / or the faceted arrangement and 3D model (in point 712). At point 714, cutting instructions can be obtained from the planning software, and at point 718, cutting techniques can be used to generate cut and polished gemstones (e.g., at point 720).

[0113] Figure 8A second example flowchart 800 illustrates the diamond design process described in this paper. At 802, the crown and pavilion of the diamond can be selected. At 804, a 3D model can be generated. At 806, a data grid can be created for multiple 3D models.

[0114] At point 808, the parameters of the 3D model can be adjusted. At point 810, in response to the creation of the model, the selection of the optimization function can be detected. At point 816, a single 3D model can be displayed based on the adjusted parameters (in point 808) and the optimization (in point 810).

[0115] At point 812, the model can be filtered using a data grid based on desired criteria. At point 814, the filtered model can be displayed as a 3D model library. At point 818, the model can be passed to the planning software. At point 820, the gemstone material can be cut and polished according to instructions provided by the planning software.

[0116] The graphics output from this process can be converted into a 3D model using the Maxwell-Cremona correspondence. A set of positive spring tensions on the inner edges and a specified normal vector for the selected facets can be used. This provides the 3D model with a set of adjustable knobs, allowing it to achieve any possible convex stone geometry with a specified faceted arrangement.

[0117] In some examples, Bézier curves can be used to modify the boundaries, thus providing an additional set of adjustable knobs to control the diamond's profile. For example, in Figure 9 In this design, the shape has been modified from a simple circular arrangement. Diamonds with only two folded symmetry lines can be configured with varying degrees of boundary curvature and aspect ratio, resulting in oval and marquise shapes of various forms. Diamonds with one symmetry line can be transformed into pear shapes in various styles. One of the many advantages of modifying the boundaries is obtaining different shape profiles with the same group of symmetries. Modeling them using Bézier curves allows the boundary profiles to be simplified to a finite list of parameters controlling the boundaries. This can provide more or less broad-shouldered oval, off-square and rounded cushion shapes, etc.

[0118] The above describes how the use of an adjustable knob derived from spring tension provides a method for allowing users to modify 3D models to their desired parameters.

[0119] In some examples, users can specify specific geometric parameters instead of using abstract spring tension as input to the example program. For instance, a user might want to adjust the following parameters of a diamond programmed by the system and method described in this paper. Example parameters could include facet angles and azimuths, the z-coordinate of a vertex, the diamond's diameter, the diamond's aspect ratio, the diamond's girdle depth, the diamond's table size, the diamond's culet position, the radial distance between a vertex and the diamond's center, and the diamond's profile as viewed from above.

[0120] Items 1 and 2 (facet angles, azimuth angles, and vertex z-coordinates) can be converted into linear equations in spring tension.

[0121] Items 3, 4, and 5 (diameter, aspect ratio, and waist depth) can be affected by simple geometric manipulations.

[0122] Items 6, 7, 8, and 9 (tabletop dimensions, apex position, radial distance of vertices, and profile) are handled by first performing a 2D transformation on the graphic to change the given parameters and then searching for a 3D lift that satisfies any other given constraints.

[0123] In the case of Project 9, in addition to the vertices on the boundary, the (x, y) coordinates of the internal vertices can also be adjusted. The gradient descent algorithm can be used to generate waist edges with the smallest possible height variation.

[0124] Once the user specifies the constraints, the program searches for solutions that change the positive spring tension of the diamond as little as possible, for example, using quadratic programming. The search can utilize a quadratic programming algorithm. In some examples, the constraints can be packaged into linear equations, which can then be solved to find solutions where all spring tensions are positive and to estimate the 3D model. The user interface can be used to receive constraint parameters from user input.

[0125] Searching the parameter space using AI and ML examples The systems and methods described in this paper may also include approaches that use artificial intelligence (AI) and machine learning (ML) methods to search the parameter space of a single cut or multiple cuts at a time. Such searches could be useful for finding cuts that maximize certain features, such as light return and flicker. This could be applied to planning features to enable the provision of cutting instructions to manufacturers, specifying what set of scales will maximize any chosen metric.

[0126] Phase 1 of the example method involves training the neural network into a regression model to predict diamond metric values ​​based on the parameter inputs. This can be done for a specific cut or for all cuts with a specific symmetry type and number of vertices. This phase may not be necessary, but it can help reduce the amount of time spent computing the metric.

[0127] Phase 2 may include applying genetic algorithms to maximize any metric. This can be done on a single cut or on all cuts in a given symmetry class. It may also include other ML or AI techniques for optimization, such as the COBYLA algorithm.

[0128] The algorithm can be a computational optimization technique inspired by the processes of natural selection and evolution. It can use a cluster of candidate solutions and evolve them over multiple generations by applying operations similar to genetic crossover, mutation, and selection. The goal can be to efficiently discover the best possible solution to a given problem by simulating the adaptive, iterative nature of biological evolution (in this example, it is applied to gem faceting programming).

[0129] In some examples, the genetic material is a set of parameters describing the proportions of the diamond. These can be traditional parameters such as aspect ratio and crown angle, or they can be spring tension parameters, possibly amplified with girdle profile information. Spring tension can be used where the cut itself can be variable; conventionally, 0 spring tension means no edge exists.

[0130] Gene mutations can be achieved through random variations of a subset of parameters. Crossover (mating) can be achieved by selecting a subset of parameters from sample A and the remaining parameters from sample B. Selection can be determined by the chosen metric.

[0131] A random population of diamond proportions can be chosen as the initial population. Those with the highest metric values ​​are selected for crossover and mutation. The next generation is filled with copies of these offspring, and this process is iterated.

[0132] Since the parameter space of fancy diamonds can have a fairly high dimension, brute-force methods for finding the optimal proportions may not be feasible. However, genetic algorithms can have the ability to find local maxima with less computation.

[0133] In a first example embodiment, a method can be provided for generating all symmetrical gem faceted arrangements reaching a specified complexity. The method may include receiving a selection defining the symmetry type and number of vertices for the crown and pavilion. The method may also include storing the basic domain for each gem cut, locating vertices as needed, and connecting each vertex to an edge to create an abstract graph T. The method may further include enumerating all subgraphs of the graph, removing duplicates, and verifying the connectivity of each subgraph. The method may also include verifying planarity and tri-connectivity using a Tutte embedding and facet tracing algorithm after expanding the graph to have 3 folds / 3 times symmetry. The method may further include returning a list of all such graphs satisfying one or more constraints and writing the list to a file.

[0134] In another example implementation, a tunable 3D model can be created by selecting the crown and pavilion using the methods described above. A complete search of the parameter space or a search limited to a range of certain parameters can be specified, along with the metrics to be optimized. A computer can be instructed to implement machine learning algorithms to find the optimal solution, which is then passed to a planning program for cutting the gemstone material.

[0135] In some examples, a method is provided to generate all possible sets of geometric scales for a faceted arrangement. This method may include importing the faceted arrangement from a file or user input. It may also allow modification of the external shape using Bézier curves or similar modeling methods. The method may further include assigning spring tension to each edge. It may also include creating a 3D model from this information using the Maxwell-Cremona correspondence. Finally, the method may include saving the 3D model to a file.

[0136] In some examples, the program generates and saves grouped 3D models based on user-defined ranges and step sizes.

[0137] In some examples, a method is provided that allows the generation of all possible sets of geometric scales for a faceted arrangement. This method may include importing a faceted arrangement from a file or user input. The method may also include using a program to adjust the geometric model, which converts desired geometric properties, such as facet angles and azimuths, table dimensions, and facet ratios, into linear equations in spring tension. The program then solves the linear equations to produce the geometric model. The method may also include saving the 3D model to a file.

[0138] In some examples, the program generates and saves grouped 3D models based on user-defined ranges and step sizes.

[0139] In an example implementation, a diamond design can be input, where the girdle thickness varies considerably. The model is converted into a tunable spring tension model, and the deviation of the girdle boundary from flatness is analyzed at each vertex. Gradient descent can be used to iteratively change the spring tension to create a model where the girdle thickness deviation has been reduced.

[0140] In one example implementation, the generated set of 3D models is evaluated by a ray-tracing program to determine optical and other properties. The model with the highest performance can be selected and passed to a planning program for cutting gemstone materials.

[0141] In another example implementation, the generated set of 3D models is evaluated by a ray-tracing program to determine optical and other properties. A set of high-performance models is collected into a model library, which is then passed to a planning program to allow for greater flexibility in fitting a single piece of gemstone material to be cut.

[0142] In some examples, one approach uses a genetic algorithm to search a set of proportions for a particular diamond cut or multiple cuts at a time, using defined parameters such as spring tension as genetic material, to maximize the selected metric.

[0143] In some examples, the approach used in any of the previous examples can be used, which uses a neural network to create a regression model of the metric to improve computation time.

[0144] In another example implementation, such as the process described above, consumers and / or retailers use the process described above to create new diamond designs and modify their proportions to their desired specifications.

[0145] Figure 7 This paper provides a summary of the process outlined in this paper. The enumeration algorithm described herein is used to allow users (such as retailers, manufacturers, or customers) to select a diamond design, which is then used to generate a 3D model. These 3D models can be fed into planning software to plan the cutting of gemstone material that has already been scanned with measuring equipment.

[0146] Figure 8 A more detailed summary of examples of the process outlined in this article is provided. The user selects the crown and pavilion from a list, generating a 3D model with tunable parameters. Three example paths are listed in this article. The user can manually adjust the diamond model parameters or press a button to generate an optimized model. Both of these produce a single 3D model, which can be passed to planning software for cutting. In another example implementation, the user creates a mesh of multiple models, which are screened to create a library, which is then passed to the planning software.

[0147] In another example implementation, an interactive, web-based diamond encyclopedia is created using a collection of diamond designs generated by the process described herein. Users will be able to select the crown, pavilion, and rotation offset, and the page will be populated with information about the diamond design, including example 3D models, information on light properties and patterning, historical information on known cuts, and other potential areas.

[0148] The encyclopedia may also have options that allow users to explore different scale sets, have optimization tools available for a fee, or allow users to consult a team of experts to create beautiful designs.

[0149] The architecture of an encyclopedia is possible by having a complete list of possible designs that can be generated using the techniques described in this article.

[0150] Figure 9 A set of example five-fold / five-times symmetry designs 900 is shown. For example, in Figure 9In this context, design 900 can depict a simple crown (1, 2, 0, 1) with 5 folds / 5 times symmetry. Design 900 can include ordered quadruplets of (nL, nM, nR, nB).

[0151] Network Example exist Figure 10 Examples of networked computing arrangements that can be utilized in this paper are shown. Figure 10 In this system, computer 1002 is used to process vertex data. Computer 1002 can be any number or combination of computers of various types, such as those included in the system, including but not limited to laptop computers, desktop computers, tablet computers, phablets, smartphones, or any other devices used for processing and transmitting digitized data. Figure 8 The document describes computer 1002, as well as additional or alternative examples.

[0152] Return to Figure 10 Computer resources for any aspect of the system can reside on network 1020 in a networked or distributed format. Furthermore, vertex data from any computer 1002 can be transmitted to backend computer 1030 and associated data storage device 1032 for storage and analysis. In some examples, transmission can be wireless 1010 via cellular or WiFi transmission using associated routers and hubs. In some examples, transmission can be via wired connection 1012. In some examples, transmission can be via a network such as the Internet 1020 to backend server computer 1030 and associated data storage device 1032. At backend server computer 1030 and associated data storage device 1032, vertex data can be stored, analyzed, compared with previously stored data for planning or any other type of data analysis. In some examples, data storage, analysis, and / or processing can be shared between local computer 1002 and backend computing system 1030. Networked computer resources 1030 can allow for greater data processing capabilities than are otherwise available at local computer 1002. In this way, the processing and / or storage of image data can be offloaded to computing resources available on the network. In some examples, the networked computing resource 1030 may be a virtual machine in a cloud infrastructure. In some examples, the networked computing resource 1030 may be distributed across many computing resources via a cloud infrastructure. The example of a single computer server 1030 is not intended to limit and is merely one example of computing resources that can be utilized by the systems and methods described herein.

[0153] Example computer devices As described, any number of computing devices can be incorporated into or connected to the various component parts of the system described herein. For example, camera systems may include their own computing systems, lighting systems may include their own computing systems, and these computing systems can be used to collect, store, and analyze data from camera images. Such systems can be local and integrated with this document and... Figure 10 The systems described herein are directly connected. In some examples, some computing resources may be networked or communicate via a network, so that they are not necessarily co-located with the optical systems described herein. In any case, any computing system used herein may include component parts (such as...) Figure 11 (The component part described in the document).

[0154] Figure 11 An example computing device 1100 is shown that can be used in the systems described herein and in performing the methods described herein. In the example computer 1100, a CPU or processor 1110 communicates with a user interface 1114 via a bus or other communication 1112. The user interface includes example input devices such as a keyboard, mouse, touchscreen, buttons, joystick, or one or more other user input devices. The user interface 1114 also includes a display device 1118, such as a screen. Figure 11 The computing device 1100 shown also includes a network interface 1120 for communicating with the CPU 1120 and other components. The network interface 1120 allows the computing device 1100 to communicate with other computers, databases, networks, user equipment, or any other computing-capable device. In some examples, the communication method may be via WiFi, cellular, Bluetooth Low Energy, wired communication, or any other type of communication. In some examples, the example computing device 1100 includes a peripheral device 1124 that also communicates with the processor 1110. In some examples, the peripheral device includes an antenna 1126 for communication. In some examples, the peripheral device 1124 may include a camera assembly 1128. In some example computing devices 1100, a memory 1122 communicates with the processor 1110. In some examples, the memory 1122 may include instructions for executing software, such as an operating system 1132, a network communication module 1134, other instructions 1136, an application program 1138, an application program for determining vertex data 1140, an application program for processing vertex data 1142, a data storage device 1158, data (such as data tables) 1160, transaction logs 1162, sample data 1164, encrypted data 1170, or any other type of data.

[0155] in conclusion As disclosed herein, features consistent with these embodiments can be implemented via computer hardware, software, and / or firmware. For example, the systems and methods disclosed herein can be embodied in various forms, including, for example, data processors (such as computers, which also include databases, digital electronic circuits, firmware, software, computer networks, servers, or combinations thereof). Furthermore, while some of the disclosed embodiments describe specific hardware components, systems and methods consistent with the inventives herein can be implemented with any combination of hardware, software, and / or firmware. Moreover, the foregoing features and other aspects and principles of the inventives herein can be implemented in a variety of environments. Such environments and related applications can be specifically constructed to perform various routines, processes, and / or operations according to the embodiments, or they may include general-purpose computers or computing platforms that are selectively activated or reconfigured by code to provide necessary functionality. The processes disclosed herein are not inherently associated with any particular computer, network, architecture, environment, or other device and can be implemented through appropriate combinations of hardware, software, and / or firmware. For example, various general-purpose machines can be used with programs written according to the teachings of the embodiments, or it may be more convenient to construct specialized devices or systems to perform the required methods and techniques.

[0156] Some aspects of the methods and systems described herein, such as logic, can be implemented as functions programmable into any of a variety of circuit systems, including programmable logic devices (PLDs), such as field-programmable gate arrays (FPGAs), programmable array logic (PAL) devices, electrically programmable logic and memory devices, and standard cell-based devices, as well as application-specific integrated circuits (ASICs). Other possibilities for implementing some aspects include memory devices, microcontrollers with memory (such as EEPROMs), embedded microprocessors, firmware, software, etc. Furthermore, some aspects can be embodied in microprocessors with software-based circuit simulation, discrete logic (timing and combinational), custom devices, fuzzy (neural) logic, quantum devices, and any hybrid of the above device types. The underlying device technologies can be provided in various component types, such as metal-oxide-semiconductor field-effect transistor (MOSFET) technology such as complementary metal-oxide-semiconductor (CMOS), bipolar technology such as emitter-coupled logic (ECL), polymer technologies (e.g., silicon conjugated polymers and metal conjugated polymer-metal structures), hybrid analog and digital, etc.

[0157] It should also be noted that the various logic and / or functions disclosed herein can be enabled using any number of combinations of hardware, firmware, and / or data and / or instructions embodied in various machine-readable or computer-readable media, depending on their behavior, register passing, logic components, and / or other characteristics. Computer-readable media that can embody such formatted data and / or instructions include, but are not limited to, various forms of non-volatile storage media (e.g., optical, magnetic, or semiconductor storage media) and carrier waves that can be used to transmit such formatted data and / or instructions via wireless, optical, or wired signal media or any combination thereof. Examples of transmitting such formatted data and / or instructions via carrier waves include, but are not limited to, transmission (upload, download, email, etc.) over the Internet and / or other computer networks via one or more data transmission protocols (e.g., HTTP, FTP, SMTP, etc.).

[0158] Unless the context explicitly requires otherwise, throughout the specification and claims, the terms “comprising,” “including,” etc., shall be interpreted as inclusive, contrary to their meanings of exclusivity or exhaustiveness; that is, in the sense of “including but not limited to.” Use of singular or plural terms shall also include the plural or singular, respectively. Furthermore, the terms “in this document,” “in the following,” “above,” “below,” and similar terms refer to this application as a whole, and not to any particular part of this application. When the term “or” is used in a list referring to two or more items, the term encompasses all of the following interpretations: any one item in the list, all items in the list, and any combination of items in the list.

[0159] Although certain currently preferred embodiments of the embodiments have been specifically described herein, it will be apparent to those skilled in the art to which these descriptions pertain that variations and modifications can be made to the various embodiments shown and described herein without departing from the spirit and scope of the embodiments. Therefore, the embodiments are intended to be limited only to the extent required by applicable legal rules.

[0160] This embodiment can be embodied in the form of methods and apparatus for practicing these methods. This embodiment can also be embodied in the form of program code embodied in a tangible medium (such as a floppy disk, CD-ROM, hard disk, or any other machine-readable storage medium), wherein when the program code is loaded onto and executed by a machine such as a computer, the machine becomes an apparatus for practicing the embodiment. This embodiment can also be in the form of program code, for example, whether stored in a storage medium, loaded onto a machine and / or executed by a machine, or transmitted via some transmission medium (such as via electrical wiring or cable, via optical fiber, or via electromagnetic radiation), wherein when the program code is loaded onto and executed by a machine such as a computer, the machine becomes an apparatus for practicing the embodiment. When implemented on a general-purpose processor, the program code segment is combined with the processor to provide a unique device similar to the operation of a specific logic circuit.

[0161] The software is stored in a machine-readable medium that can take many forms, including but not limited to tangible storage media, carrier media, or physical transmission media. Non-volatile storage media include, for example, optical discs or disks, any storage device such as any computer(s). Volatile storage media include dynamic memory, such as the main memory of such a computer platform. Tangible transmission media include: coaxial cables; copper wires and optical fibers, including wires that form a bus within a computer system. Carrier transmission media can take the form of electrical or electromagnetic signals, or sound or light waves (such as those generated during radio frequency (RF) and infrared (IR) data communications). Therefore, common forms of computer-readable media include, for example: disks (e.g., hard disks, floppy disks, retractable disks) or any other magnetic media, CD-ROMs, DVDs or DVD-ROMs, any other optical media, any other physical storage media, RAM, PROMs and EPROMs, FLASH-EPROMs, any other memory chips, carriers that transport data or instructions, cables or links that transport such carriers, or any other medium from which a computer can read programming code and / or data. Many such forms of computer-readable media may involve loading one or more sequences of one or more instructions into a processor for execution.

[0162] For purposes of explanation, the foregoing description has been given with reference to specific embodiments. However, the illustrative discussion above is not intended to be exhaustive or to limit the embodiments to the precise forms disclosed. In view of the foregoing teachings, many modifications and variations are possible. Some embodiments were chosen and described in order to best explain the principles of the embodiments and their practical application, thereby enabling others skilled in the art to best utilize the various embodiments with various modifications suitable for the particular intended use.

[0163] appendix 。

Claims

1. A method for creating a virtual gemstone model with a faceted arrangement, the method comprising: Obtain a set of measurements related to gemstones at a computer. The selection of the crown and / or pavilion, as well as one or more tunable gemstone parameters, is detected at the computer in relation to the set of measurements associated with the gemstone. as well as The computer generates a 3D model of the gemstone based on a selected crown and / or pavilion and one or more tunable gemstone parameters, wherein the 3D model is configured for planning or cutting the gemstone material. A set of updated tunable gem parameters is obtained at the computer. as well as The 3D model is modified based on the updated set of tunable gem parameters.

2. The method of claim 1, wherein generating the 3D model comprises combining the crown and pavilion, and converting the crown and pavilion into the 3D model via the Maxwell-Cremona correspondence between the crown and pavilion.

3. The method according to claim 1, further comprising: The selection of one or more parameters from a set of tunable parameters is obtained to modify the 3D model and generate any possible gem geometry of the gem material with a given facet arrangement.

4. The method according to claim 1, further comprising: The 3D model is transferred to a planning tool, which is configured to generate planning instructions for cutting and / or polishing the gemstone material.

5. The method according to claim 1, further comprising: The computer obtains a selection to optimize the 3D model with respect to at least one selected metric; and The computer generates a maximized virtual 3D model that maximizes the selected metric.

6. The method according to claim 5, further comprising: The computer creates an n-dimensional grid of diamond geometry by changing selected parameters; Based on a mesh of diamond geometry formed by changing the selected parameters, a set of models is filtered into a subset of virtual models; Select a subset of the models as the model library to be passed to the planning tool.

7. The method of claim 6, wherein a plurality of model libraries are passed to the planning tool to allow for multiple options when cutting and polishing the gemstone material.

8. The method according to claim 1, further comprising: The trained neural network is implemented as a regression model to predict diamond metrics for a specific cut or all cuts with a specified symmetry type and number of vertices based on one or more tunable gem parameters.

9. A system comprising: processor; as well as A memory including instructions that, when executed by the processor, cause the processor to perform steps including: Obtain a set of measurements related to gemstones; The crown and pavilion of the set of measurements related to the gemstone, and the selection of one or more filters for the desired gemstone parameters; as well as A 3D model of the gemstone is generated based on the selected crown and / or pavilion and one or more filters.

10. The system of claim 9, wherein generating the 3D model comprises combining the crown and pavilion and converting the crown and pavilion into the 3D model via a Maxwell-Cremona correspondence between the crown and pavilion.

11. The system of claim 9, wherein the step further comprises: The selection of one or more parameters from a set of tunable parameters is obtained to modify the 3D model and generate any possible gem geometry of the gem material with a given facet arrangement.

12. The system of claim 9, wherein the step further comprises: The 3D model is transferred to a planning tool, which is configured to generate planning instructions for cutting and / or polishing the gemstone material.

13. The system of claim 9, wherein the step further comprises: A selection is obtained, and the 3D model is optimized with respect to at least one selected metric; as well as Generate a maximized virtual 3D model that maximizes the selected metrics.

14. The system of claim 13, wherein the step further comprises: Create an n-dimensional mesh of diamond geometry formed by changing the selected parameters; Based on a mesh of diamond geometry formed by changing the selected parameters, a set of models is filtered into a subset of virtual models; as well as Select a subset of the models as the model library to be passed to the planning tool.

15. The system of claim 14, wherein a plurality of model libraries are passed to the planning tool to allow for multiple options when cutting and polishing the gemstone material.

16. The system of claim 9, wherein the step further comprises: The trained neural network is implemented as a regression model to predict diamond metrics for a specific cut or all cuts with a specified symmetry type and number of vertices based on one or more tunable gem parameters.

17. A method for generating an optimized list of 3D models for a specified facet arrangement or facet arrangement type of a gemstone, the method comprising: Receive at the computer one or more target parameters that match the list defining the 3D model; Receive a list of faceted arrangements at the computer; The computer receives a list of performance and geometry criteria related to the optical properties, virtual facet patterning, profile, and / or weight in the list of facet arrangements. The computer causes the storage of the facet arrangement, virtual facet patterning, contour, and / or weight; as well as Generate a list of 3D models with different parameter sets, wherein the set of 3D models conforms to the target parameters and meets or exceeds the performance and geometry criteria.

18. The method of claim 17, wherein the target parameter is part of a wireframe of a rough gemstone or a portion of a rough gemstone, the gemstone being configured to be polished according to the wireframe.

19. The method of claim 17, wherein the generation of the set of 3D models is performed via a genetic algorithm using defined parameters, including spring tension, as genetic material to maximize the volume yield of the gemstone.

20. The method of claim 17, wherein generating the set of 3D models comprises combining selected crowns and pavilions, and converting the crowns and pavilions into the set of 3D models via a Maxwell-Cremona correspondence between the crowns and pavilions.