Full-color 3D printing voxel slicing method, system, device, chip and medium for three-dimensional digital assets
Patent Information
- Application Number
- CN202611030645.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-12
- Publication Date
- 2026-09-25
AI Technical Summary
然而此类数字资产的“颜色+密度/透明度”通常是面向自发光或体积积分的渲染域参数,难以直接转化为真实打印材料中的吸收、散射与透射行为;同时,不同资产表示需要不同的体素化/切片算法,缺乏统一的数据接口与高效的切片实现
[0040]与现有技术相比,本发明具有如下有益效果:(1)通过在体素网格中设立统一的切片体素单元、及与资产表示类型无关的体素属性计算接口,实现对多种三维表示的高速切片,进而能够兼容辐射场、网格模型、点基元/高斯泼溅与隐式场等多种三维表示,显著拓展可打印数字资产的适配范围;(2)通过引入包含透明度维度的扩展ICC配置文件或LUT,实现体素级RGB+透明度/密度到墨水浓度的快速反演与离散化,提升切片效率,并保持颜色与透明度一致,同时降低切片计算成本并增强对新材料体系的适配能力;(3)通过相机标定或全光谱标定得到材料在任意厚度下的反射与透射模型,使得更换颜料组合时能够快速构建反演模型,并稳定复现半透明体积效果。
Smart Images

Figure CN122808215A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of full-color 3D printing and computer graphics data processing technology, and in particular to a method, system, device, chip, and medium for full-color 3D printing voxel slicing for three-dimensional digital assets. Background Technology
[0002] Full-color 3D printing technology has made significant progress in recent years. Voxel inkjet printing (such as multi-material jet curing) can deposit multiple pigments / materials at the voxel scale, thereby achieving detailed color gradations and texture effects. Most current industrial and research full-color 3D printing workflows revolve around mesh models: slicing software maps the mesh surface color to the material distribution on or near the surface, and then combines this with a halftone strategy to output layer-by-layer jetting instructions. This type of method struggles to express continuous color variations within a volume and the volumetric optical effects of translucent / transparent materials.
[0003] On the other hand, the rapid development of 3D representation methods such as radiation fields, implicit fields, and Gaussian splashing has made it possible to characterize color and density in a volumetric manner, enabling the rendering of complex semi-transparent structures such as hair, smoke, and clouds. However, the "color + density / transparency" of such digital assets are usually rendering domain parameters oriented towards self-illumination or volume integrals, making it difficult to directly translate into the absorption, scattering, and transmission behaviors in real printed materials. At the same time, different asset representations require different voxelization / slicing algorithms, lacking a unified data interface and efficient slicing implementation.
[0004] Furthermore, traditional color management typically uses International Color Consortium (ICC) profiles to convert RGB to device inks. However, conventional ICC profiles are usually built based on surface reflection assumptions, making it difficult to simultaneously characterize the transmission and reflection properties of voxel materials at different thicknesses. When changing pigment combinations or material systems, recalibration is often required, and it is difficult to quickly invert RGB values and transparency (alpha) during the slicing stage. These problems make it difficult for existing technologies to achieve both high fidelity and high efficiency when dealing with various types of 3D digital assets, semi-transparent volumetric structures, and new material combinations.
[0005] Patent publication CN202510516218.0 discloses a method, system, device, chip, and medium for full-color 3D printing based on continuous volume data. The method includes: S1 reconstructing continuous volume data based on image or video frames; S2 sampling the continuous volume data and discretizing it into several grid cells; S3 establishing a mapping relationship between color values, density information, and pigment concentration in each grid cell; and S4 outputting the converted pigment concentration and density alignment information to the printing device based on the mapping relationship in S3 to complete the printing process. This scheme establishes a mapping relationship between color values and density information of translucent voxel neural rendering assets and the pigment concentration distribution of the printing ink, maintaining consistency in color and transparency during the conversion process, ultimately obtaining a 3D printed result with a high degree of visual consistency with the original scene, thus improving data processing and printing efficiency. Summary of the Invention
[0006] The purpose of this invention is to provide a method, system, device, chip, and medium for full-color 3D printing voxel slicing of three-dimensional digital assets.
[0007] To achieve the above objectives, the present invention provides the following technical solution: a method for full-color 3D printing voxel slicing for three-dimensional digital assets, comprising: S1, obtain the 3D digital asset data A to be printed, obtain its corresponding coordinate system and scale information, and perform coordinate scale alignment; S2, establish a voxel grid matching the printing resolution within the printing space, and set up slice voxel units (SVUs) for each voxel in the voxel grid; S3, based on different asset representation types, calculate the target color value RGB†, transparency parameter α†, or density parameter σ† for each voxel to obtain an operator G that is independent of the asset representation type; S4, based on the pre-built color-transparency to ink density inversion model M, quickly inverts the operator G into a multi-channel ink density vector C, and discretizes the ink density vector C to obtain the voxel-level printing recipe; S5 generates layered slicing printing data based on the voxel-level printing recipe and outputs it to the printing device to complete the printing.
[0008] In some embodiments of S1, the representation type of the three-dimensional digital asset data A includes one or a combination of radiation field, voxel volume data, mesh model, point primitive set, Gaussian splash representation, point cloud, implicit field, and symbolic distance field SDF.
[0009] In some embodiments, coordinate scale alignment includes: determining the origin, axis, and unit of the print coordinate system; and translating, rotating, and scaling the asset to fit within the print volume bounding box.
[0010] In some embodiments of S2, the slice voxel unit (SVU) stores the spatial location of each voxel, voxel thickness Δ, target color value RGB†, transparency parameter α† or density parameter σ†, corresponding ink density vector C, and discretized printing primitive information. The slice voxel unit (SVU) serves both as the input spatial unit of the subsequent operator G and as the data carrier for the inversion model M and the halftone discretization process.
[0011] In some embodiments, by using the SVU as the smallest processing unit, voxel attribute calculation, ink density inversion, discretization, and layered output can be performed in parallel, thereby reducing redundant conversions between different 3D asset representations and improving slicing efficiency and print data generation efficiency.
[0012] In S3 of some embodiments, for the j-th voxel V_j in the voxel mesh, its corresponding slice voxel unit is denoted as SVU_j. The operator G takes the spatial position and voxel thickness Δ recorded in the voxel or slice voxel unit as input, outputs the target color value RGB†_j, transparency parameter α†_j or density parameter σ†_j of the voxel, and writes the above results into the slice voxel unit.
[0013] In some embodiments of S3, operator G provides a computational interface from different 3D asset representations to uniform voxel properties, while SVU_j provides the input boundaries of this interface, attribute storage, and the data structures required for subsequent print data transformation.
[0014] In some embodiments, S3, when the three-dimensional digital asset data A is a radiation field or a density field, the radiation field satisfies: F: R^3 → R^4, F(x,y,z)=(r,g,b,σ); By sampling or integrating the radiation field within each voxel, the target color value RGB† and density parameter σ† are obtained.
[0015] In some embodiments, the density parameter σ† is converted into a transparency parameter α† based on the voxel thickness Δ: α = 1 - exp(-σ·Δ) or σ = -ln(1-α) / Δ.
[0016] In S3 of some embodiments, when the three-dimensional digital asset data A is a mesh model, the voxel occupancy ratio p_occ is obtained by calculating the intersection relationship or the interior-exterior relationship between the voxel and the triangular facet; the target color value RGB† is obtained based on texture sampling, vertex color interpolation or material parameters; and the transparency parameter α† is determined based on the occupancy ratio, preset filling rules or material transmission / absorption parameters.
[0017] In some embodiments, S3, when the three-dimensional digital asset data A contains a set of point primitives or a Gaussian splash representation, the target color value RGB† and the transparency parameter α† or density parameter σ† in the operator G are calculated through multi-view re-rendering and radiation field reconstruction: multi-view images are obtained by re-rendering from multiple perspectives using a set of point primitives or a Gaussian splash representation, and the radiation field F is reconstructed based on the multi-view images, and voxel sampling is performed according to the aforementioned radiation field method.
[0018] In some embodiments, S3, when the three-dimensional digital asset data A contains a set of point primitives or a Gaussian splash representation, the target color value RGB† and the transparency parameter α† or the density parameter σ† in the operator G are calculated by uniform density kernel expression and voxel accumulation: the set of point primitives or the Gaussian splash representation is converted into a uniform density kernel expression, and the color and density of the voxels are accumulated by the inside / outside / intersection relationship between the voxels and the kernel.
[0019] In some embodiments, the uniform density nucleus is represented as a spherical nucleus, an ellipsoidal nucleus, or a combination thereof; each nucleus K_i includes at least a nucleus center μ_i, a nucleus support domain size parameter, a uniform density ρ_i within the nucleus, and a nucleus color c_i. The nucleus support domain size parameter is determined based on Gaussian covariance, a scale rotation parameter, or an equivalent parameter thereof; the uniform density ρ_i within the nucleus is determined based on its opacity / density parameter, ensuring that the overall contribution of the nucleus to the voxel is consistent with or approximately consistent with the original primitive.
[0020] In some embodiments, the intersection weight w_ij between voxel V_j and the core body is the proportion of the overlap volume between the core body and the voxel to the voxel volume, or the proportion of sampling points within the voxel that fall into the core body support domain.
[0021] In some embodiments, the bounding boxes of the kernels are first used for rapid elimination, and then the candidate kernels are sampled and estimated as w_ij; then the voxels are accumulated, and the density parameter σ† of the voxels is: σ† = Σ_i (w_ij·ρ_i); The target color value RGB† of the voxel is: RGB† = Σ_i (w_ij·ρ_i·c_i) / Σ_i (w_ij·ρ_i); or each kernel is regarded as a semi-transparent layer, and the voxel color and transparency are obtained by using the transparency synthesis rule.
[0022] In S4 of some embodiments, a rapid inversion is performed based on a pre-built color-transparency to ink density.
[0023] In some embodiments, the inversion model M is an extended color profile (ICC) or a multidimensional lookup table (LUT) that includes a transparency dimension.
[0024] In some embodiments, the extended color profile (ICC) or multidimensional lookup table (LUT) uses (R,G,B,α,Δ) or (R,G,B,σ,Δ) as an index, and outputs a multi-channel ink density vector C through nearest neighbor, linear interpolation, tetrahedral interpolation, or a combination thereof, where C={c_i|i∈I, Σ_i c_i=1, c_i∈[0,1]}.
[0025] In some embodiments, the construction of the inversion model M includes: Obtain an optical model of the pigment / ink material; Several concentration combinations C were obtained by sampling within a preset thickness Δ and concentration space; The color values (R, G, B) and transparency parameter α or density parameter σ corresponding to each concentration combination C are calculated or measured based on an optical model. Based on the samples, construct a reverse lookup relationship from (R,G,B,α,Δ) to C, and store it as an extended color profile ICC or a multidimensional lookup table LUT.
[0026] In some embodiments, the optical model is obtained through RGB camera calibration, which includes: under uniform and controllable illumination, acquiring the image color I_k(d) of a material sample with a known thickness d under at least two different background color plates B_k; the imaging model is approximately: I_k(d) = R(d) + T(d)⊙B_k; where R(d) is the three-channel reflectivity, T(d) is the three-channel transmittance, and ⊙ is the channel-by-channel multiplication; When the number of background color swatches is not less than 2, T(d) and R(d) can be solved channel by channel; when the number of background color swatches is greater than 2, the least squares method is used.
[0027] In some embodiments, R(d) and T(d) of multiple thicknesses d are fitted or interpolated to obtain the equations or lookup tables for R(d) and T(d) under any thickness.
[0028] In some embodiments, the optical model is obtained through full-spectrum calibration, which includes: measuring the reflectance spectrum R(λ,d) and transmittance spectrum T(λ,d) of the material sample at multiple thicknesses d using a full-spectrum calibration device; fitting or interpolating R(λ,d) and T(λ,d) with respect to thickness d to obtain the equations for R(λ,d) and T(λ,d) at any thickness.
[0029] In some embodiments, the reflectance spectrum R(λ,d) and transmittance spectrum T(λ,d) are converted into RGB color values, and the transmittance is fitted to the form exp(-σ·d) to obtain the density parameter σ or the transparency parameter α.
[0030] In some embodiments, the absorption coefficient K(λ) and scattering coefficient S(λ) of the material are solved based on the Kubelka-Munk model, and a color mixing model is constructed using the linear superposition property of K and S in the concentration space.
[0031] In some embodiments, based on different ink / pigment concentration vectors C and reflectance R(λ,d;C), transmittance T(λ,d;C), or equivalent (R,G,B,α) samples measured or calculated at different thicknesses d, a forward model from (C,d) to (R,G,B,α) is constructed using linear interpolation, bilinear / trilinear interpolation, spline interpolation, radial basis function interpolation, or regression models. An inverse model from (R,G,B,α,d) to C is constructed using reverse lookup tables, iterative search, or optimization methods.
[0032] In some embodiments, the forward model may be calculated or fitted based on the integral formula for the ray travel of transmission and reflection.
[0033] In some embodiments, during the calibration and solution process, ray marching formulas for transmission and reflection are used for fitting and solving.
[0034] In some embodiments, S4, discretization includes voxel halftone processing, which is a binary halftone: using the ink density vector C as the sampling probability of each ink channel, and assigning discrete ink labels to each voxel using random sampling, error diffusion, or a combination thereof.
[0035] In some embodiments, voxel halftone processing is grayscale halftone: when the printer's grayscale levels are divided into n, each voxel is subjected to n probability samplings to obtain the inkjet volume of each channel; or each 1 / n inkjet volume is first deterministically occupied, and then the remaining inkjet volume is probabilistically sampled to obtain the inkjet volume of each channel.
[0036] This invention provides a full-color 3D printing voxel slicing system, comprising: The asset processing module is used to acquire 3D digital asset data and perform coordinate and scale alignment. The voxel slicing module is used to create voxel meshes and establish slice voxel units (SVUs). The operator calculation module is used to calculate the target color value, transparency parameter or density parameter of each voxel based on the 3D digital asset data; The inversion discretization module is used to convert the target color value of voxels and transparency or density parameters into ink density vectors and discretize them based on the inversion model M. The slice output module is used to generate layered slice printing data and output it to the printing device.
[0037] This invention provides a full-color 3D printing device, including a memory and a processor. The memory stores a computer program and a data structure of sliced voxel units (SVUs). When the processor executes the computer program, it implements any of the voxel slicing methods described above.
[0038] The present invention provides a chip including one or more processors for calling and running a computer program from a memory, causing a device on which the chip is mounted to perform any of the voxel slicing methods described herein.
[0039] The present invention provides a computer-readable storage medium for storing computer-executable instructions, which, when executed by a computer processor, are used to perform any of the voxel slicing methods described herein.
[0040] Compared with the prior art, the present invention has the following beneficial effects: (1) By setting up a unified slice voxel unit in the voxel grid and a voxel attribute calculation interface that is independent of the asset representation type, high-speed slicing of various three-dimensional representations can be realized, thereby enabling compatibility with various three-dimensional representations such as radiation field, mesh model, point primitive / Gaussian splash and implicit field, significantly expanding the adaptability range of printable digital assets; (2) By introducing an extended ICC profile or LUT containing the transparency dimension, the voxel-level RGB + transparency / density to ink concentration can be rapidly inverted and discretized, improving slicing efficiency and maintaining color and transparency consistency, while reducing slicing calculation cost and enhancing adaptability to new material systems; (3) By obtaining the reflection and transmission model of the material at any thickness through camera calibration or full spectrum calibration, the inversion model can be quickly constructed when changing pigment combinations, and the semi-transparent volume effect can be stably reproduced. Attached Figure Description
[0041] Figure 1 This is a flowchart of an embodiment of the present invention; Figure 2 A schematic diagram of the data structure for a sliced voxel unit (SVU); Figure 3 This is a schematic diagram of a material calibration device based on an RGB camera. Figure 4 A schematic diagram illustrating the accumulation of voxel properties based on uniform density nuclei; Figure 5 This is a schematic diagram of fast inversion and discretization based on extended ICC profiles or LUTs; Figure 6 These are comparison diagrams showing the effects of embodiments of the method of the present invention; Figure 7 The diagram shows a comparison of the effects of embodiments of the method of the present invention. Detailed Implementation
[0042] The following is in conjunction with the appendix Figure 1-7The first method embodiment of the present invention will be further described.
[0043] S1: Acquire and align 3D assets See Figure 1 and Figure 2 In this embodiment, S1 is first executed to obtain the 3D digital asset data A to be printed. The 3D digital asset data A can be obtained by 3D reconstruction, 3D generation or 3D modeling, and can carry color, transparency, density or material parameters.
[0044] To ensure consistency with the coordinates of the printing equipment, the coordinate scale of the 3D digital asset data A also needs to be aligned, specifically including: determining the origin, axis, and unit of the printing coordinate system; and translating, rotating, and scaling the asset so that it falls within the printing volume bounding box.
[0045] S2: Constructing the voxel mesh and setting up sliced voxel units Execute S2 to establish a voxel grid within the printing space. The voxel grid resolution can be determined and matched based on the voxel size, layer thickness, and printhead resolution of the printing device. Subsequently, a sliced voxel unit (SVU) is established for each voxel in the voxel grid. The sliced voxel unit (SVU) stores information such as the voxel's spatial location, voxel thickness Δ, target color value RGB†, transparency parameter α† or density parameter σ†, the corresponding ink density vector C, and the discretized printing primitives. The introduction of the sliced voxel unit (SVU) enables subsequent calculations to be performed in parallel with voxels as the smallest processing unit.
[0046] The printing primitives refer to the smallest printing control units that a printing device can directly execute or further convert, including but not limited to single-color ink labels, multi-channel ink jet volumes, pixel values in the layer bitmap, printhead control commands, or combinations thereof. SVUs are intermediate data units in the slicing calculation stage, while printing primitives are output control units oriented towards the printing device. The two can establish a mapping relationship based on print resolution, jetting constraints, and halftone strategies.
[0047] S3: Obtain voxel attribute operators representing irrelevant properties for each type of asset. In this embodiment, there is a correspondence between the sliced voxel unit (SVU) and the operator G. For the j-th voxel V_j in the voxel mesh, its corresponding sliced voxel unit is denoted as SVU_j. The operator G takes the spatial position and voxel thickness Δ recorded in the 3D digital asset A and voxel V_j or SVU_j as input, outputs the target color value RGB†_j, transparency parameter α†_j or density parameter σ†_j of the voxel, and writes the above results into SVU_j.
[0048] Thus, operator G provides a computational interface from different 3D asset representations to unified voxel properties, while SVU_j provides the input boundaries, attribute storage, and data structures required for subsequent print data transformations of this interface.
[0049] See Figure 1 In this embodiment, step S3 is executed to calculate the target color value RGB†, transparency parameter α†, and density parameter σ† for each voxel based on different asset representation types. The results obtained from the aforementioned calculations can be represented as a voxel evaluation operator G independent of asset representation, such that for any asset A and voxel V_j, the following can be calculated: G(A,V_j)→(RGB_j,α_j) or G(A,V_j)→(RGB_j,σ_j).
[0050] Depending on the type of asset representation, operator G can be implemented in different ways. When asset A is a radiation field or a density field, it can be represented as: F: R^3 → R^4, F(x,y,z)=(r,g,b,σ).
[0051] For each voxel V_j, several points can be uniformly sampled at the voxel center or within the voxel to obtain color and density samples. The target color value RGB† and density parameter σ† of the voxel can then be obtained using averaging or volume integration. σ†_j = (1 / P) · Σ_{p=1..P} σ(x_p) RGB†_j = (1 / P) · Σ_{p=1..P} (r,g,b)(x_p).
[0052] In some embodiments, the transparency parameter α† and the density parameter σ† satisfy the following relationship: α = 1 - exp(-σ·Δ) or σ = -ln(1-α) / Δ Where Δ is the voxel thickness or equivalent optical path.
[0053] When asset A is a mesh model, slicing can be achieved through voxelization: for each voxel V_j, calculate its intersection or interior / exterior relationship with the triangular facets to obtain the voxel's occupancy ratio p_occ. p_occ = Vol(V_j ∩ Ω) / Vol(V_j) The target color value RGB† of a voxel can be determined by texture sampling, vertex color interpolation, or material parameters; the transparency parameter α† can be determined based on occupancy ratio, preset internal fill rules, or material transmission / absorption parameters. α†_j = clamp(p_occ · α_mat, 0, 1) or σ†_j = p_occ · σ_mat In some embodiments, for objects with only surface coloring, the interior can be set to a transparent material; for objects requiring an internal gradient, α† or σ† can be set as a function that varies with depth.
[0054] When asset A is represented as a set of point primitives or a Gaussian splash representation, voxel properties can be calculated using at least one of the following methods: 1) Multi-view re-rendering and radiation field reconstruction method: The point primitive set is re-rendered under multiple camera poses to obtain multi-view images (optionally including depth or transparency channels). The radiation field F is then reconstructed based on the multi-view images, and voxel sampling is performed according to the aforementioned radiation field method to obtain RGB† and σ†. This method has the advantages of strong versatility and easy integration with existing radiation field sampling frameworks.
[0055] 2) Uniform density nucleosome expression and voxel accumulation: See Figure 4 The set of point primitives is transformed into a uniform density kernel representation. Each kernel K_i includes at least the kernel center μ_i, the kernel support domain size parameter (e.g., sphere radius r_i or ellipsoid principal axis length), the uniform density ρ_i within the kernel, and the kernel color c_i. g_i(x) = A_i · exp( -1 / 2 · (x-μ_i)^T Σ_i^{-1} (x-μ_i) ) M_i = ∫_{ℝ^3} g_i(x) dx = A_i · (2π)^{3 / 2} · |Σ_i|^{1 / 2} Vol_sphere = (4 / 3)π r_i^3, Vol_ellipsoid = (4 / 3)π l_i m_i n_i Where g_i(x) is the density function of the i-th primitive at spatial position x, x is the three-dimensional spatial position vector, μ_i is the center position of the i-th primitive, Σ_i is the covariance matrix of the i-th primitive, Σ_i^{-1} is the inverse matrix of the covariance matrix, and A_i is the magnitude parameter of the i-th primitive.
[0056] M_i represents the integral contribution of the i-th primitive in three-dimensional space, and |Σ_i| is the determinant of the covariance matrix Σ_i. Vol_sphere is the volume of the spherical kernel, and Vol_ellipsoid is the volume of the ellipsoidal kernel; r_i is the radius of the i-th spherical kernel, and l_i, m_i, and n_i are the semi-axis lengths of the i-th ellipsoidal kernel along the three principal axes, respectively. These parameters can be determined based on the position, scale, rotation, covariance, opacity, or density parameters in the point primitive set or Gaussian splash representation.
[0057] For Gaussian splash primitives, the support domain size can be determined based on their covariance or scale rotation parameter; and ρ_i can be determined based on their opacity / density parameter, so that the overall contribution of the nucleus to the voxel is consistent with or approximately consistent with the original primitive.
[0058] ρ_i = M_i / Vol(K_i) For each voxel V_j and kernel K_i, calculate their intersection weight w_ij, where w_ij can be the proportion of the overlap volume between the kernel and the voxel to the voxel volume, or the proportion of sampling points within the voxel that fall into the kernel support domain. w_ij = Vol(V_j ∩ K_i) / Vol(V_j); In some embodiments, the bounding boxes of the kernel bodies can be used for rapid elimination first, and then the candidate kernel bodies can be sampled and estimated for w_ij to improve efficiency. w_ij ≈ (1 / P) · Σ_{p=1..P} ; [ x_p ∈ K_i ] The voxels are then summed: voxel density parameter σ†_j = Σ_i (w_ij·ρ_i). Voxel color can be obtained by density-weighted averaging: RGB†_j = Σ_i (w_ij·ρ_i·c_i) / Σ_i (w_ij·ρ_i); or each nucleus can be considered as a semi-transparent layer, and voxel color and transparency can be obtained by using transparency synthesis rules. α†_j = 1 - Π_l (1-α_{j,l}) RGB†_j = (1 / α†_j) · Σ_l ( RGB_{j,l} · α_{j,l} · Π_{m <l}(1-α_{j,m}) ) The aforementioned kernel accumulation method avoids secondary reconstruction, can directly perform fast voxelization and slicing of point primitives, and can be further accelerated through spatial hashing, block parallelism or GPU parallelism.
[0059] S4; Construction and Fast Inversion of Extended ICC Profile / LUT See Figure 5In this embodiment, S4 is executed, which uses a pre-built color-transparency to ink density inversion model M to quickly invert the target RGB and transparency / density of the voxel into an ink density vector C.
[0060] Let the set of pigment / ink channels supported by the printing device be I={1,2,...,n}, and the ink concentration vector be C={c_i|i∈I, Σ_i c_i=1, c_i∈[0,1]}. To avoid solving a complex inverse problem on a voxel-by-voxel basis, an inversion model M including the transparency dimension is constructed, which can be implemented as an extended ICC profile or a multidimensional lookup table (LUT).
[0061] In the offline phase, an inversion model M is constructed: First, the optical model of the material is obtained. The optical model is used to predict the material's reflection, transmission, and corresponding color and transparency parameters given a thickness Δ and concentration C. Then, several concentration combinations C are sampled from a predefined set of thicknesses Δ and a concentration space, and their corresponding (R,G,B,α) or (R,G,B,σ) samples are calculated or measured based on the optical model. Finally, a reverse lookup relationship from (R,G,B,α,Δ) to C is constructed. (RGB, α) = f(C, Δ), C = M(RGB, α, Δ) Preferably, the reverse lookup relationship can be achieved using nearest neighbor, linear interpolation, tetrahedral interpolation, regression models, or combinations thereof; taking multilinear interpolation as an example: C = Σ_{u∈{0,1}^d} ( Π_{t=1..d} (u_t·τ_t + (1-u_t)·(1-τ_t)) ) ·C_u During the online slicing stage, for each voxel SVU, its target (RGB†, α†, Δ) or (RGB†, σ†, Δ) is input, and the concentration vector C is obtained through O(1) table lookup and interpolation using the inversion model M. When the target color and transparency exceed the achievable range of the current pigment combination, the target can be projected into the feasible region, for example, by using a weighted strategy of minimum color error and minimum transparency error for approximation.
[0062] Furthermore, to construct the inversion model M, this embodiment provides two types of material calibration methods. Material calibration can be performed on a single pigment, a combination of pigments, or a base material available for the printer to obtain its reflection and transmission behavior at different thicknesses.
[0063] Calibration method based on RGB camera: See Figure 3 Under uniform and controllable illumination, a material sample of known thickness *d* is prepared or printed, and then placed on at least two different background color plates *B_k* (with known RGB values or known reflectivity) for imaging to obtain the corresponding image color *I_k(d)*. Under one imaging model approximation, the following condition is satisfied: I_k(d)=R(d)+T(d)⊙B_k Where R(d) is the three-channel reflectivity, T(d) is the three-channel transmittance, and ⊙ represents channel-by-channel multiplication.
[0064] When the number of background color swatches is not less than 2, T(d) and R(d) can be solved channel by channel: T(d) = (I_1(d) - I_2(d)) ⊘ (B_1 - B_2), R(d) = I_1(d) - T(d) ⊙ B_1 When the number of background color swatches is greater than 2, least squares can be used to improve robustness: Formula (19) (R(d),T(d)) = argmin_{R,T} Σ_k || I_k(d) - (R + T ⊙ B_k) ||_2^2 By fitting or interpolating R(d) and T(d) for multiple thicknesses d, equations for R(d) and T(d) at arbitrary thicknesses can be obtained or looked up in tables. For example, transmittance can be fitted to an exponentially decaying form T(d) = exp(-k·d), and reflectance can be fitted to a saturated growth form R(d) = R∞·(1-exp(-s·d)), where k, s, and R∞ are parameters to be estimated. This allows for rapid prediction of the RGB and transparency parameters of a material given a thickness Δ and a concentration C.
[0065] (ii) Full-spectrum calibration method: The reflectance spectrum R(λ,d) and transmittance spectrum T(λ,d) of the material sample at multiple thicknesses d are measured using a full-spectrum calibration device, where λ is the wavelength. R(λ,d) and T(λ,d) are fitted or interpolated with respect to thickness d to obtain the equations for R(λ,d) and T(λ,d) at any thickness.
[0066] Furthermore, the reflectance spectrum R(λ,d) and transmittance spectrum T(λ,d) can be converted into RGB color values under specified lighting and observation conditions. Simultaneously, the transmittance or transmittance brightness can be fitted into an exponentially decaying form exp(-σ·d) to obtain the density parameter σ. Based on the obtained density parameter σ or transmittance brightness Y_T(d), the transparency parameter α can be further calculated. For example, the transparency parameter can be obtained from the density parameter using α(d) = 1 - exp(-σ·d), or from the normalized transmittance brightness using α(d) = 1 - Y_T(d).
[0067] X = k · ∫ S(λ)·R(λ,d)·x̄(λ) dλ, Y = k · ∫ S(λ)·R(λ,d)·ȳ(λ) dλ, Z = k · ∫ S(λ)·R(λ,d)·z̄(λ) dλ Where X, Y, and Z represent the CIE XYZ tristimulus values of the material sample under specified lighting and observation conditions, respectively; k represents the normalization coefficient; λ represents the wavelength; S(λ) represents the spectral power distribution of the lighting source; R(λ,d) represents the reflectance spectrum of the material at wavelength λ and thickness d; and x̄(λ), ȳ(λ), and z̄(λ) represent the tristimulus matching functions of the CIE standard colorimetric observer, respectively. The spectral reflectance characteristics of the material can be converted into color representations in the CIE XYZ color space using the preceding equation, and further converted into RGB color values: [R_lin, G_lin, B_lin]^T = M_{XYZ→RGB} · [X, Y, Z]^T α(d) = 1 - Y_T(d), where Y_T(d) = k · ∫ S(λ)·T(λ,d)·ȳ(λ) dλ (Example: Defining transparency using the luminance channel) In some embodiments, the absorption coefficient K(λ) and scattering coefficient S(λ) of the material can be solved based on the Kubelka-Monk model, and a color mixing model can be constructed using the linear superposition property of K and S in concentration space to improve the prediction accuracy for different concentration combinations. The above-mentioned full-spectrum calibration method can more accurately characterize the wavelength-dependent behavior of materials and is suitable for complex pigment systems.
[0068] In other embodiments, instead of solving for the absorption coefficient K(λ) and scattering coefficient S(λ), the ink / pigment concentration vector C and thickness d are directly used as independent variables to sample and calibrate the reflectance R(λ,d;C), transmittance T(λ,d;C), or their equivalent (R,G,B,α) responses. A forward model f:(C,d)→(R,G,B,α) from concentration to color and transparency, and a corresponding backward lookup or inversion model g:(R,G,B,α,d)→C are constructed using an interpolation / regression method. The aforementioned interpolation methods include, but are not limited to, linear interpolation, bilinear / trilinear interpolation, spline interpolation, radial basis function interpolation, or combinations thereof.
[0069] Furthermore, during the calibration and solution process, the ray marching formulas for transmission and reflection can be used for fitting and solving, thus avoiding the use of the Kubelka-Munk model: Discretize the thickness direction into K segments, let the step size of the k-th segment be Δs, the extinction coefficient be σ_t,k, and the scattering coefficient be σ_s,k, then: The cumulative transmittance can be calculated as T(d)=exp(-∑_{k=1..K} σ_t,k·Δs); The reflection component can be calculated as R(d)≈∑_{k=1..K} T_{k-1}·σ_s,k·Δs; Where T_{k-1} is the cumulative transmittance up to the kth segment; based on this type of formula, the model parameters can be directly obtained from the measured R, T or (R,G,B,α) samples and the forward / reverse model can be constructed.
[0070] The aforementioned alternative methods can be flexibly selected under different material systems, different measuring equipment, and different calculation budgets, thereby achieving the transformation and inverse transformation of ink concentration to color and transparency.
[0071] After obtaining the continuous concentration vector C of the voxels in S4, discretization needs to be performed to adapt to the jetting constraints of the printing device. Discretization may include concentration quantization and voxel halftone processing. Voxel halftone processing uses the concentration vector C as the sampling probability of each ink channel and assigns discrete ink labels to each voxel using random sampling, error diffusion, or a combination thereof, thereby making the local statistical distribution approximate the target concentration. i_j ~ Categorical(C) , that is, P(i_j = i) = c_i c_i^{(q)} = round( c_i · (L-1) ) / (L-1) (L-level quantization example) In some embodiments, the above-described voxel halftone processing is used for "binary / single ink label" ejection scenarios, where each voxel is ultimately assigned only a single ink label (e.g., black and white printing or printing devices that allow only one type of ink to be ejected per voxel).
[0072] For printers that support "grayscale printing" (e.g., each voxel can output 0..n units of ink jet per ink channel, or equivalently, grayscale values can be divided into n levels), a grayscale halftone process can be used to output the ink jet volume of each channel within the same voxel while maintaining the desired density consistent with the target.
[0073] Option 1: n-times probability sampling. For a printer with n grayscale levels, a voxel is considered to contain n equivalent sub-sampling units; n probability samplings based on the concentration vector C are performed on the same voxel to obtain the sampling sequence {i_t}_{t=1..n}, and the number of times each channel is sampled is used as the inkjet volume.
[0074] i_t ~ Categorical(C) , t = 1..n m_i = Σ_{t=1..n} 1[i_t = i] , q_i = m_i / n Where m_i is the number of times ink channel i is sampled, and q_i is the unitized inkjet volume of channel i in this voxel; the scheme satisfies E[q_i]=c_i, and the quantization error decreases as n increases.
[0075] Option 2: Occupancy + Remaining Sampling. For a printer with n gray levels, first perform deterministic occupancy based on each 1 / n unit of inkjet volume: calculate the basic occupancy count m_i^(0) = floor(c_i·n) for each channel i, indicating that the channel occupies at least m_i^(0) 1 / n units; then perform probabilistic sampling of the remaining inkjet volume to make up to n units.
[0076] m_i^(0) = floor(c_i · n) , r_i = c_i · n - m_i^(0) , L = n - Σ_im_i^(0); i_t ~ Categorical(r / Σ_j r_j) , t = 1..L; m_i^(1) = Σ_{t=1..L} 1[i_t = i]; m_i = m_i^(0) + m_i^(1); q_i = m_i / n; Where r_i is the remaining fraction of inkjet volume in channel i, and L is the number of remaining 1 / n units to be allocated; by occupying first and then sampling, randomness can be reduced and local texture noise can be decreased, while maintaining the overall statistical distribution close to the target concentration. S5; Generate print data Finally, in S5, the discrete ink labels of each voxel or the quantized density of each channel are output as layer-by-layer slice data. The output format of the slice data can be: a bitmap for each channel of each layer, a label array for each voxel, or a path / instruction sequence compatible with the printhead controller.
[0077] See Figure 6 and 7 The printing equipment deposits and solidifies the material layer by layer to obtain a printed part with internal color gradient and semi-transparent effect.
[0078] This embodiment achieves high-speed slicing and high-fidelity color / transparency reproduction of various 3D representations such as Radiance Field, Mesh, and 3DGS by establishing a unified slice voxel unit (SVU) in the voxel mesh and a voxel attribute calculation interface independent of the asset representation type, thereby reducing computational costs and improving print adaptability.
[0079] A second embodiment of the present invention provides a system corresponding to the above method, comprising: The asset processing module is used to acquire 3D digital asset data and perform coordinate and scale alignment. The voxel slicing module is used to create voxel meshes and set up slice voxel units; The operator calculation module is used to calculate the target color value, transparency parameter or density parameter of each voxel based on the 3D digital asset data; The inversion discretization module is used to convert the target color value of voxels and transparency or density parameters into ink density vectors and discretize them based on the inversion model M. The slice output module is used to generate layered slice printing data and output it to the printing device.
[0080] A third embodiment of the present invention provides an apparatus corresponding to the above-described method, including a processor and a memory. The processor executes a program in the memory to implement the method of the present invention. A storage medium stores executable instructions that, when executed by the processor, implement the steps of the method of the present invention.
[0081] Memory may include random access memory, flash memory, read-only memory, programmable read-only memory, non-volatile memory, or registers, etc. The processor may be a central processing unit (CPU), or a graphics processing unit (GPU). Memory can store executable instructions. The processor can execute the executable instructions stored in memory to implement the various processes described herein.
[0082] It is understood that the memory in this embodiment can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be ROM (Read-Only Memory), PROM (Programmable ROM), EPROM (Erasable PROM), EEPROM (Electrically Erasable EPROM), or flash memory. The volatile memory can be RAM (Random Access Memory), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as SRAM (Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous DRAM), DDR SDRAM (Double Data Rate SDRAM), ESDRAM (Enhanced SDRAM), SLDRAM (Synchlink DRAM), and DRRAM (Direct Rambus RAM). The memories described herein are intended to include, but are not limited to, these and any other suitable types of memory.
[0083] In some implementations, the memory stores elements such as upgrade packages, executable units, or data structures, or subsets thereof, or extended sets thereof: operating systems and applications.
[0084] The operating system includes various system programs, such as the framework layer, core library layer, and driver layer, used to implement various basic business functions and handle hardware-based tasks. The application programs include various applications used to implement various application functions. Programs implementing the methods of this invention can be included within these application programs.
[0085] In this embodiment of the invention, the processor executes the rendering method steps provided in the first embodiment by calling a program or instruction stored in the memory, specifically a program or instruction stored in an application program.
[0086] A fourth embodiment of the present invention also provides a chip for performing the rendering method in the first aspect described above. Specifically, the chip includes a processor for calling and running a computer program from a memory, such that a device equipped with the chip performs the method described in the first embodiment.
[0087] Furthermore, a fifth embodiment of the present invention provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the rendering method in the first embodiment of the present invention. For example, the machine-readable storage medium may include, but is not limited to, various known and unknown types of non-volatile memory.
[0088] A sixth embodiment of the present invention also provides a computer program product, including computer program instructions that cause a computer to perform the above-described method.
[0089] The above description is merely a preferred embodiment of the present invention, and the scope of protection of the present invention is not limited thereto. Any equivalent substitutions or modifications made by those skilled in the art without departing from the spirit of the present invention should fall within the scope of protection of the present invention.
Claims
1. A method for full-color 3D printing voxel slicing for three-dimensional digital assets, characterized in that... include: S1: Obtain the 3D digital asset data to be printed and perform coordinate scale alignment; S2, establish a voxel grid matching the printing resolution within the printing space, and set up slice voxel units for each voxel. S3 calculates the target color value, transparency parameter, or density parameter for each voxel based on different asset representation types, resulting in an operator independent of the asset representation type; S4, quickly invert the operator into a multi-channel ink concentration vector and discretize it to obtain a voxel-level printing formula; S5 generates layered slicing printing data based on the voxel-level printing recipe.
2. The method according to claim 1, characterized in that: In S1, the representation types of 3D digital asset data A include one or a combination of radiation field, voxel volume data, mesh model, point primitive set, Gaussian splash representation, point cloud, implicit field, and symbolic distance field SDF. And / or, coordinate scale alignment includes: determining the origin, axes, and units of the print coordinate system; translating, rotating, and scaling the asset to fit within the print volume bounding box.
3. The method according to claim 1, characterized in that: In S2, the sliced voxel unit (SVU) stores the spatial position of each voxel, voxel thickness Δ, target color value RGB†, transparency parameter α† or density parameter σ†, corresponding ink density vector C information, and discretized printing primitive information; And / or, the sliced voxel unit (SVU) serves as the smallest processing unit, performing voxel attribute calculation, ink concentration inversion, discretization, and layered output in parallel.
4. The method according to claim 1, characterized in that: In S3, the operator G takes the spatial position and voxel thickness Δ recorded in the three-dimensional digital asset A and the j-th slice voxel unit SVU_j as input, outputs the target color value RGB†_j, transparency parameter α†_j or density parameter σ†_j of the voxel, and writes the above results into the slice voxel unit. And / or, in S3, when the three-dimensional digital asset data A is a radiation field or a density field, the radiation field satisfies: F: R^3 → R^4, F(x,y,z)=(r,g,b,σ); By sampling or integrating the radiation field within each voxel, the target color value RGB† and density parameter σ† are obtained; And / or, convert the density parameter σ† to the transparency parameter α† based on the voxel thickness Δ: α = 1 - exp(-σ·Δ) or σ = -ln(1-α) / Δ; And / or, in S3, when the 3D digital asset data A is a mesh model, the voxel occupancy ratio p_occ is obtained by calculating the intersection or interior / exterior relationship between the voxel and the triangular facet; the target color value RGB† is obtained based on texture sampling, vertex color interpolation, or material parameters; and the transparency parameter α† is determined based on the occupancy ratio, preset fill rules, or material transmission / absorption parameters. And / or, in S3, when the 3D digital asset data A contains a set of point primitives or a Gaussian splash representation, the target color value RGB† and the transparency parameter α† or the density parameter σ† in the operator G are calculated through multi-view re-rendering and radiation field reconstruction: multi-view images are obtained by re-rendering from multiple perspectives using a set of point primitives or a Gaussian splash representation, and the radiation field F is reconstructed based on the multi-view images, and then voxel sampling is performed according to the aforementioned radiation field method; And / or, in S3, when the 3D digital asset data A contains a set of point primitives or a Gaussian splash representation, the target color value RGB† and the transparency parameter α† or the density parameter σ† in the operator G are calculated through a uniform density kernel expression and voxel accumulation method: the set of point primitives or the Gaussian splash representation is converted into a uniform density kernel expression, and the color and density of the voxels are accumulated through the inside / outside / intersection relationship between the voxels and the kernel. And / or, a uniform density nucleus is expressed as a spherical nucleus, an ellipsoidal nucleus, or a combination thereof; each nucleus K_i includes at least the nucleus center μ_i, the nucleus support domain size parameter, the uniform density ρ_i within the nucleus, and the nucleus color c_i; The size parameters of the core support domain are determined based on the Gaussian covariance, scale rotation parameters, or their equivalent parameters; the uniform density ρ_i within the core is determined based on its opacity / density parameters, so that the overall contribution of the core to the voxel is consistent with or approximately consistent with the original primitive. And / or, the intersection weight w_ij between voxel V_j and the kernel is the proportion of the overlap volume between the kernel and the voxel to the voxel volume, or the proportion of sampling points within the voxel that fall into the kernel support domain. And / or, first use the bounding box of the kernel to quickly eliminate it, then sample and estimate w_ij for the candidate kernels; then accumulate the voxels, and the density parameter σ† of the voxels is: σ† = Σ_i (w_ij·ρ_i); The target color value RGB† of the voxel is: RGB† = Σ_i (w_ij·ρ_i·c_i) / Σ_i (w_ij·ρ_i); or each kernel is regarded as a semi-transparent layer, and the voxel color and transparency are obtained by using the transparency synthesis rule.
5. The method according to claim 1, characterized in that: In S4, a fast inversion is performed based on a pre-built color-transparency to ink density; And / or, the inversion model M is an extended color profile ICC or a multidimensional lookup table LUT that includes a transparency dimension; And / or, extend the color profile ICC or multidimensional lookup table LUT with (R,G,B,α,Δ) or (R,G,B,σ,Δ) as index, and output a multi-channel ink density vector C by nearest neighbor, linear interpolation, tetrahedral interpolation or a combination thereof, where C={c_i|i∈I, Σ_i c_i=1, c_i∈[0,1]}; And / or, the construction of the inversion model M includes: obtaining an optical model of the pigment / ink material; sampling several concentration combinations C in a preset thickness Δ and concentration space; calculating or measuring the color values (R,G,B) and transparency parameter α or density parameter σ corresponding to each concentration combination C based on the optical model; constructing a reverse lookup relationship from (R,G,B,α,Δ) to C based on the samples, and storing it as an extended color profile ICC or a multidimensional lookup table LUT; And / or, the optical model is obtained through RGB camera calibration, including: under uniform and controllable illumination, acquiring the image color I_k(d) of a material sample with a known thickness d under at least two different background color plates B_k; the imaging model is approximately: I_k(d) = R(d) + T(d)⊙B_k; where R(d) is the three-channel reflectivity, T(d) is the three-channel transmittance, and ⊙ is the channel-by-channel multiplication; When the number of background color swatches is not less than 2, T(d) and R(d) can be solved channel by channel; when the number of background color swatches is greater than 2, the least squares method is used. And / or, fit or interpolate R(d) and T(d) for multiple thicknesses d to obtain the equations for R(d) and T(d) for any thickness or look up a table; And / or, the optical model is obtained through full-spectrum calibration, including: measuring the reflectance spectrum R(λ,d) and transmittance spectrum T(λ,d) of the material sample at multiple thicknesses d using a full-spectrum calibration device; fitting or interpolating R(λ,d) and T(λ,d) with respect to thickness d to obtain the equations for R(λ,d) and T(λ,d) at any thickness; And / or, convert the reflectance spectrum R(λ,d) and transmittance spectrum T(λ,d) into RGB color values, and fit the transmittance to the form of exp(-σ·d) to obtain the density parameter σ or the transparency parameter α; And / or, based on the Kubelka-Monk model, the absorption coefficient K(λ) and scattering coefficient S(λ) of the material are solved, and a color mixing model is constructed using the linear superposition property of K and S in the concentration space; And / or, based on different ink / pigment concentration vectors C and the reflectance R(λ,d;C), transmittance T(λ,d;C), or equivalent (R,G,B,α) samples measured or calculated at different thicknesses d, a forward model from (C,d) to (R,G,B,α) is constructed using linear interpolation, bilinear / trilinear interpolation, spline interpolation, radial basis function interpolation, or regression models, and an inverse model from (R,G,B,α,d) to C is constructed using reverse lookup tables, iterative search, or optimization methods; And / or, the forward model can be calculated or fitted based on the integral formula for the ray travel of transmission and reflection; And / or, during the calibration and solution process, the ray travel formulas for transmission and reflection are used for fitting and solving.
6. The method according to claim 1, characterized in that: In S4, discretization includes voxel halftone processing, which is a binary halftone: the ink concentration vector C is used as the sampling probability of each ink channel, and random sampling, error diffusion or a combination thereof is used to assign discrete ink labels to each voxel. And / or, voxel halftone processing to grayscale halftone: when the printer's grayscale levels are divided into n, perform n probability samplings on each voxel to obtain the inkjet volume of each channel; or first deterministically occupy each 1 / n inkjet volume, and then perform probability sampling on the remaining inkjet volume to obtain the inkjet volume of each channel.
7. A full-color 3D printing voxel slicing system, characterized in that... include: The asset processing module is used to acquire 3D digital asset data and perform coordinate and scale alignment. The voxel slicing module is used to create voxel meshes and set up slice voxel units; The operator calculation module is used to calculate the target color value, transparency parameter or density parameter of each voxel based on the 3D digital asset data; The inversion discretization module is used to convert the target color value of voxels and transparency or density parameters into ink density vectors and discretize them based on the inversion model M. The slice output module is used to generate layered slice printing data and output it to the printing device.
8. A full-color 3D printing device, characterized in that, It includes a memory and a processor. The memory stores a computer program and a data structure of sliced voxel units (SVUs). When the processor executes the computer program, it implements the voxel slicing method as described in any one of claims 1-6.
9. A chip, characterized in that, It includes one or more processors for calling and running a computer program from memory, causing a chip-mounted device to perform the voxel slicing method as described in any one of claims 1-6.
10. A computer-readable storage medium, characterized in that, Used to store computer-executable instructions, which, when executed by a computer processor, are used to perform the voxel slicing method as claimed in any one of claims 1-6.
Citation Information
Patent Citations
Full-color 3D printing method, system and equipment based on continuous volume data, chip and medium
CN120428932A