\section{Experimental Details}
\label{sec:exp_detail}


For continuous 2D representations, we adopt a hash-grid encoding with bilinear interpolation, inspired by InstantNGP~\citep{mullerInstantNeuralGraphics2022}. Unlike orignial InstantNGP, which feeds multi-level interpolated embeddings into an MLP, we remove the MLP for more stable latent-space SDS optimization and directly average embeddings across levels. The encoding is implemented with multi-resolution hash-table embeddings queried by bilinear interpolation, and we apply random rotations and translations to input coordinates to reduce grid artifacts. We set the number of levels and hash-table capacity to $L=16$ and $T=2^{19}$, respectively. Since the latent space typically contains denser information, we adopt a relatively narrow and high-resolution range with $N_{\min}=128$ and $N_{\max}=256$. While for the pixel-space baselines in \cref{sec:topology_results}, we follow \citet{zhongTopologyOptimizationTextguided2023} and set $N_{\min}=8$ and $N_{\max}=128$.

\subsection{Pattern Design}
\label{sec:pattern_design_detail}

The lattice parameters of all 17 planar groups are specified by the symmetry-operation markers shown in \cref{fig:sd_label}. We use these parameters in all pattern design experiments.

\begin{figure*}[!htbp]
\centering
\includegraphics[width=0.8\linewidth]{Figure/sd_label.png}
\caption{Reference images illustrating the symmetry operations of the 17 planar groups with markers.}
\label{fig:sd_label}
\end{figure*}

\subsubsection{Visulization}
\label{sec:vis_detail}

For the generative tasks, during SDS optimization, we use the positive prompt: \textit{stained-glass mosaic fragments, simple polygon shards with thick lead outlines}, and the negative prompt: \textit{lowres, bad anatomy, error, extra digit, fewer digits, worst quality, watermark}. We perform optimization in the latent space with a resolution of $128 \times 128$. The optimization process is conducted for a total of $200$ steps using the AdamW optimizer with a learning rate of $0.01$. We employ a dynamic guidance strategy, and the CFG scale is linearly annealed from an initial value of $100$ to a final value of $7.5$. We also employ a linear annealing strategy for the timestep, decreasing from $0.4T$ to $0$ (where $T$ represents the total diffusion timesteps). Following the SDS convergence, we apply a refinement stage to enhance image quality and correct potential artifacts. We perturb the optimized latent code by injecting noise corresponding to $t=0.4T$ and subsequently denoise it back to $t=0$ using the standard diffusion sampling process with $100$ inference steps. The resulting images are shown in \cref{fig:sd_1_to_17}.

\subsubsection{Comparison with Text-conditioned Generation}
\label{sec:mllm_setting_detail}

For our method, we adopt the SDS-based optimization and refinement pipeline described in \cref{sec:vis_detail}, with the following modifications. We run SDS optimization for $800$ steps with a learning rate of $0.03$, anneal the diffusion timestep from $0.5T$ to $0$, and inject noise at $t=0.5T$ before the final refinement denoising. The negative prompt remains unchanged, while the positive prompts are specified later. The final generation results are presented in \cref{fig:sd_17_to_17}.

\begin{figure*}[!htbp]
    \centering
    \includegraphics[width=0.85\linewidth]{Figure/sd_1_to_17.png}
    \caption{Generated patterns for visualization across the 17 plane symmetry groups.}
    \label{fig:sd_1_to_17}
\end{figure*}

\begin{figure*}[!htbp]
    \centering
    \includegraphics[width=0.85\linewidth]{Figure/sd_17_to_17.png}
    \caption{Generated patterns for comparison across the 17 plane symmetry groups.}
    \label{fig:sd_17_to_17}
\end{figure*}

\begin{figure*}[!htbp]
    \centering
    \includegraphics[width=0.9\linewidth]{Figure/mse.png}
    \caption[MSE Comparison across 17 Plane Groups for Different Methods.]{\textbf{MSE comparison across 17 plane groups for different methods.} The plane groups are grouped by lattice type. Entries in each cell report $\mathrm{MSE}\times 10^3$, while cell colors are determined by $\log_{10}(\mathrm{MSE})$. Our method consistently achieves lower errors across most groups, demonstrating superior symmetry preservation.}
    \label{fig:mse_detail}
\end{figure*}

\textbf{Prompts Collection.}
As mentioned in Sec.~\ref{sec:experiment}, we curated a set of 17 text prompts, each corresponding to one of the 17 symmetry groups. These prompts serve as the basis for our comparative evaluation. The original concepts were derived from the examples listed in Tab.~9 of \citet{shubnikovSymmetryScienceArt1974}. We utilized Gemini to label these examples and simplify the descriptions into concise text prompts suitable for text-to-image generation. The complete mapping between symmetry groups and their corresponding prompts is detailed below

\begin{tcolorbox}[breakable, colback=TiffanyBlue!5!white, colframe=TiffanyBlue!75!black, width=\textwidth, title={Symmetry Groups with Corresponding Prompts}]
\begin{description}
\setlength{\itemsep}{4pt}
\item[p1:] \textit{palm fronds, seamless pattern, repeating, high contrast}
\item[p2:] \textit{Horizontal striped pattern, vertical lines and running waves, seamless, repeating, high contrast}
\item[pm:] \textit{floral line pattern, seamless, repeating, diagonal}
\item[pg:] \textit{geometric triangle pattern, seamless, repeating, high contrast}
\item[cm:] \textit{square forming a continuous meander maze, right-angled lines, seamless, repeating, geometric}
\item[p2mm:] \textit{heart-shaped frames with arrowheads, seamless, repeating, high contrast}
\item[p2mg:] \textit{lotus flowers, seamless, repeating, geometric}
\item[p2gg:] \textit{rectangular blocks, checkerboard, seamless, repeating, geometric}
\item[c2mm:] \textit{ornamental pattern, diamond grid, seamless, repeating}
\item[p4:] \textit{pinwheel pattern, seamless, repeating, tiled}
\item[p4mm:] \textit{radial circle pattern, seamless, repeating, geometric}
\item[p4gm:] \textit{arabesque, seamless, repeating, symmetric}
\item[p3:] \textit{triangular geometric pattern, seamless, repeating}
\item[p3m1:] \textit{petal tiling pattern, seamless, repeating, curved}
\item[p31m:] \textit{honeycomb geometric pattern, seamless, repeating}
\item[p6:] \textit{star motif pattern, triangle tiling, seamless, repeating}
\item[p6mm:] \textit{snowflake pattern, seamless, repeating, geometric}
\end{description}
\end{tcolorbox}

\textbf{Prompt Templates of MLLMs.}
The prompt templates used for baseline models, including GPT-5.2, Gemini 3 Pro, and SD 2.1, are defined as follows. For direct generation, the models are instructed to generate images directly from the text description without explicit symmetry constraints, using the template: \textit{Generate a square image based on the prompt: [pos\_prompt].} For conditional generation, we provide an auxiliary visual reference to guide MLLMs toward a specific plane symmetry group, using the template: \textit{Based on the input prompt and the [Group Name] plane symmetry group in the reference image, draw a square picture. DO NOT draw markers or lines. Prompt: [pos\_prompt].}

\textbf{Details of Post-Symmetrization.}
In post-symmetrization, we strictly enforce symmetry on images. We project the generated non-perfect images into our symmetric parameterization space. Let $I_{\text{ref}}$ be the input image generated by a baseline model. We initialize our symmetric generator, denoted as a parameterized lattice representation $\mathcal{G}_\phi$, where $\phi$ represents the learnable parameters of the symmetric feature field. The lattice configuration is scaled (typically by a factor of 8) to accommodate high-resolution optimization ($1024 \times 1024$). We optimize the parameters $\phi$ such that the generated symmetric image $I_{\text{sym}} = \mathcal{G}_\phi$ approximates $I_{\text{ref}}$ by minimizing the MSE loss
\begin{equation*}
\mathcal{L}_{\text{MSE}} = \| \mathcal{G}_{\phi} - I_{\text{ref}} \|^2_2.
\end{equation*}

The optimization is conducted using the AdamW optimizer with a 0.1 learning rate and 500 steps. The quantitative MSE results are reported in \cref{fig:mse_detail}.

\subsubsection{Comparison with Other Symmetrization}

For both method, we adopt the SDS-based optimization and refinement pipeline described in \cref{sec:vis_detail}, with the following modifications. We conduct an ablation over the output resolution. In this experiment, we do not use a negative prompt and evaluate only the p1 group. The positive prompts are kept the same as the 17 prompts used in \cref{sec:mllm_setting_detail}.

We implement the projection operator by constructing a finite Fourier basis associated with the target lattice. Given the lattice parameters, we first compute the corresponding reciprocal lattice and enumerate the integer reciprocal-lattice points $(h,k)$ within the Nyquist region. These frequencies define a band-limited periodic subspace. For each sampled pixel, we convert its Cartesian coordinate to the natural lattice coordinate $(u,v)$ and evaluate the Fourier basis functions $1$, $\cos(2\pi(hu+kv))$ and $\sin(2\pi(hu+kv))$. To avoid redundant basis functions, we keep only one representative from each pair of opposite reciprocal frequencies. Specifically, we retain the frequencies satisfying $h>0$ or $h=0,\ k>0$.

Stacking the basis values over all sample points gives a basis matrix $\mathbf{\Phi}$. We then orthonormalize $\mathbf{\Phi}$ by QR decomposition, obtaining $\mathbf{\Phi} = \mathbf{QR}$. The projection of a flattened image $\mathbf{x}$ onto this periodic subspace is computed as $\mathbf{QQ^T x}$. The same projection is applied independently to each image channel. In practice, we compute the projection over the full sampling grid rather than only over the parallelogram cell, which reduces boundary discontinuities and alleviates ringing artifacts.

\subsection{Paper-Cutting Design}
\label{sec:paper_cutting_detail}

\textbf{Details of fine-tuning.}
Our dataset consists of 140 Chinese paper-cutting images, each annotated with a regional style label. Based on these labels, we construct the text prompt for each training sample using the following template: \textit{"traditional chinese papercut art, [regional style], high quality, detailed, artistic, traditional craftsmanship, paper cutting, chinese folk art, intricate patterns, cultural heritage"}. The prompts are used as the text conditioning input during training.

We fine-tuned SDXL using a LoRA-based adaptation implemented with Diffusers. All training images were resized to 1024 $\times$ 1024, randomly cropped, randomly horizontally flipped, and normalized to the range $[-1,1]$. During fine-tuning, the VAE, both SDXL text encoders, and the original U-Net weights were frozen, and only the inserted LoRA parameters were optimized. LoRA adapters were added to the U-Net attention projection layers, with rank $r=4$ by default. The model was trained with batch size 1 for 1000 epochs using AdamW, with a learning rate of $1\times10^{-4}$, a constant learning-rate scheduler, and gradient clipping with a maximum norm of 1.0.

\textbf{Details of paper-cutting design.}
We select four representative symmetry groups: $p2mm$, $p4mm$, $p3m1$, and $p6mm$. To demonstrate generalization, we apply a shared prompt, \textit{red Chinese paper cutting, flowers} across all four groups (shown in the top row of \cref{fig:exp_papercut}a). In contrast, the bottom row displays results generated using prompts tailored specifically to each group. The detailed prompts are listed below:

\begin{tcolorbox}[breakable, colback=TiffanyBlue!5!white, colframe=TiffanyBlue!75!black, width=\textwidth, title={Prompts Used in Paper-Cutting Design}]
\begin{description}
\setlength{\itemsep}{4pt}
\item[p2mm:] \textit{red Chinese paper cutting, lantern}
\item[p4mm:] \textit{red Chinese paper cutting, copper}
\item[p3m1:] \textit{red Chinese paper cutting, star}
\item[p6mm:] \textit{red Chinese paper cutting, snowflakes}
\end{description}
\end{tcolorbox}

For the connectivity constraint, we utilize the Virtual Temperature Method (VTM) with $\Gamma = \{0\} \times [0, 1) \cup [0, 1) \times \{0\}$ in the coordination determined by fundamental translation $\mathbf{a}$ and $\mathbf{b}$. We solve the heat-conduction equation on a $2\times2$ supercell. The mesh edge lengths are $1/2\times 1/2$, with the included angle $\gamma$ between $\mathbf a$ and $\mathbf b$, and we use a $128\times128$ mesh. The heat source ranges from $10^{-8}$ to $10^{-4}$, and the thermal conductivity ranges from $10^{-4}$ to $1$. The SIMP penalty is set to $5$. To approximate the maximum temperature, we use a differentiable $p$-norm aggregation with exponent $20$. We adopt four-node bilinear quadrilateral (Q1) shape functions with $2\times2$ Gauss quadrature. Before segmentation, we apply density filtering with radius $2$ and step size $1$.

In the cases, we keep the coefficient of the SDS loss fixed to $1$. For generation, we fix the learning rate to $10^{-2}$, the target volume fraction $\rho_{0}$ to $0.35$, and the connectivity penalty $\lambda_{\mathrm{conn}}$ to $10^{2}$. To identify the optimal configuration for paper-cutting results, we perform a grid search over the volume penalty $\lambda_{\mathrm{vol}}\in\{10^{3},3\times10^{3},5\times10^{3},10^{4}\}$, the end binary ratio in $\{0.0,0.5\}$, and the number of optimization steps in $\{200,400,800\}$. The weight of the rendered $z_{\theta}^{\mathrm{bin}}$ is increased linearly from $0$ to the specified end binary ratio during optimization. We employ a linearly annealed CFG scale, which starts from $100$ and decays to $7.5$ over the course of optimization. We also apply a linear timestep annealing strategy, decreasing the timestep from $T$ to $0$. For the color, $c_{\mathrm{solid}}$ is chosen as the averaged latent vector across latent pixels obtained by feeding a pure red image into the SDXL VAE encoder, while $c_{\mathrm{void}}$ is chosen analogously using a pure white image.

\subsection{Topology Design}
As discussed in \cref{sec:experiment}, we utilize the set of 12 test prompts in~\citet{zhongTopologyOptimizationTextguided2023}. Details are as follows:

\begin{tcolorbox}[breakable, colback=TiffanyBlue!5!white, colframe=TiffanyBlue!75!black, width=\textwidth, title={Prompts Used in Topology Design}]
\begin{description}
\setlength{\itemsep}{4pt}
\item[] \textit{golden, Baroque style}
\item[] \textit{rainbow-color, spider web style}
\item[] \textit{red, koi, Chinese paper cutting style}
\item[] \textit{Autumn branches}
\item[] \textit{wood appliques, simple}
\item[] \textit{kaleidoscope art}
\item[] \textit{modern, dream, wavy texture}
\item[] \textit{rosewood texture}
\item[] \textit{floral ornament}
\item[] \textit{Persian carpet style}
\item[] \textit{Art Deco}
\item[] \textit{Art Nouveau}
\end{description}
\end{tcolorbox}

To mitigate potential artifacts during SDS optimization, we append the suffixes \textit{, tessellation, pure white background} to the prompts. Additionally, a negative prompt is employed: \textit{black, shadow, lowres, bad anatomy, error, extra digit, fewer digits, worst quality, watermark, 3d, shadow, blur, artifact, deformed, distorted, noisy}. As our SDS optimization operates within the latent space, it necessitates a latent representation of the background color. To achieve this, we encode a pure white image using the VAE encoder and utilize the resulting latent code as the white background in the latent space.

Both the baseline and our method share a unified physical simulation environment to ensure a fair comparison. VTM setting follows \cref{sec:paper_cutting_detail}. For the mechanical constraint, we employ homogenized finite element analysis (FEA) on oblique lattice elements. The mesh edge lengths are $1\times1$, with the included angle $\gamma$ between $\mathbf a$ and $\mathbf b$; we use a $64\times64$ mesh during training and a $128\times128$ mesh during testing. We adopt the plane-stress constitutive matrix, with Young's modulus ranging from $10^{-6}$ to $1$, Poisson's ratio $\nu=0.3$, and the SIMP penalty factor set to $p=10$. We again use Q1 quadrilateral elements with $2\times2$ Gauss quadrature. Before segmentation, we apply density filtering with radius $3$ and step size $1$. After segmentation, we apply a Heaviside projection before FEA:
$$
\bar{\rho}
=
\frac{\tanh(\beta \eta)+\tanh\!\big(\beta(\rho-\eta)\big)}
{\tanh(\beta \eta)+\tanh\!\big(\beta(1-\eta)\big)} ,
$$
where $\beta$ is linearly annealed from $1$ to $8$, and the threshold is $\eta=0.3$. The target volume fraction for all topology design experiments is fixed at $\rho_{0} = 0.45$. In all cases, we keep the coefficient of the mechanical loss fixed to $1$. The loss weights and optimization schedules differ between the baseline and our method as follows.

For baseline, we optimize the topology for $401$ steps. The loss weights are configured as: volume penalty $\lambda_{\text{vol}} = 3 \times 10^4$, connectivity penalty $\lambda_{\text{conn}} = 10^2$, and the semantic CLIP loss weight $\lambda_{\text{clip}} = 5 \times 10^3$. For our method, we have optimization process of $801$ steps to ensure convergence of the generative objective. The physical constraint weights remain consistent with the baseline ($\lambda_{\text{vol}} = 3 \times 10^4$, $\lambda_{\text{conn}} = 10^2$) to enforce comparable structural validity. The SDS loss weight is set to $\lambda_{\text{sds}} = 0.3$. We employ a linearly annealing CFG scale, starting at $50$ and decaying to $7.5$ over the optimization. We also employ a linear annealing strategy for the timestep, decreasing from $T$ to $0$. Following the SDS convergence, we apply a refinement stage identical to that described in \cref{sec:pattern_design_detail}.

\begin{figure}[H]
    \centering
    \includegraphics[width=0.7\linewidth]{Figure/sdto_p1.png}
    \caption[Visualization of Topology Design under $p1$ Symmetry]{\textbf{Visualization of topology design under $p1$ symmetry.} Left: topology-optimized designs. Top right: directional Young’s modulus, where blue curves indicate values across directions and the gray circle denotes the mean. Bottom right: energy distribution of the bulk modulus in unit cell.}
    \label{fig:sdto_p1}
    \vspace{0.5cm}
    \includegraphics[width=0.7\linewidth]{Figure/sdto_p2.png}
    \caption[Visualization of Topology Design under $p2$ Symmetry]{\textbf{Visualization of topology design under $p2$ symmetry.} Visualization settings are the same as in \cref{fig:sdto_p1}.}
    \label{fig:sdto_p2}
    \vspace{0.5cm}
    \includegraphics[width=0.7\linewidth]{Figure/sdto_pm.png}
    \caption[Visualization of Topology Design under $pm$ Symmetry]{\textbf{Visualization of topology design under $pm$ symmetry.} Visualization settings are the same as in \cref{fig:sdto_p1}.}
    \label{fig:sdto_pm}
\end{figure}

\subsection{Metematerial Design}

\textbf{Data Generation.}
We generate the $p1$ metamaterial training set using homogenization-based topology optimization. Each unit cell is discretized on a $64\times 64$ square finite-element grid, where each element has a density variable. The material stiffness is interpolated by a SIMP-type model with penalization $p=5$ and $E_{\min}=10^{-6}$. We use periodic boundary conditions for numerical homogenization and optimize the density field to maximize the homogenized bulk modulus under a volume fraction constraint $0.5$. 

Each sample is initialized from a uniform density field with a softened circular region at the center follows \citet{xia2015design}, together with a small periodic Fourier perturbation to introduce diversity. We use Fourier modes up to $5$ and perturb the initial density with amplitude $0.03$. During optimization, sensitivities are smoothed by a periodic sensitivity filter with radius $3$, and the density variables are updated by the optimality criteria method with move limit $0.1$. Each design is optimized for at most $200$ iterations and terminated early when the maximum density change is below $0.01$. The final continuous density field is binarized by thresholding at $0.5$, resulting in a $64\times64$ binary unit-cell mask. No symmetry other than the basic translational periodicity is imposed during data generation.

\textbf{Diffusion model training.}
We train an unconditional diffusion model on the generated $p1$ unit-cell masks. All samples are represented as single-channel $64\times64$ images and normalized to $[-1,1]$. The denoising network is a convolutional U-Net with sinusoidal timestep embeddings, residual blocks, group normalization, SiLU activations, and encoder-decoder skip connections. The base channel width is set to $64$, with channel multipliers $(1,2,2,2)$. We use a standard noise-prediction objective with $T=1000$ diffusion steps and a linear noise schedule from $\beta_1=10^{-4}$ to $\beta_T=0.02$. At each training iteration, we uniformly sample a timestep $t$, perturb the clean image $\mathbf{x}_0$ as
\[
\mathbf{x}_t=\sqrt{\bar{\alpha}_t}\mathbf{x}_0+\sqrt{1-\bar{\alpha}_t}\epsilon, \epsilon\sim\mathcal{N}(0,I),
\]
Here $\bar{\alpha}_t=\prod_{s=1}^{t}(1-\beta_s)$ is the cumulative signal-preserving coefficient. We train the U-Net to predict the added noise $\epsilon$ using an MSE loss. The model is optimized with Adam using a batch size of $128$ and a learning rate of $10^{-4}$ for $100$ epochs. No symmetry labels or symmetry-specific data are used during training. For visualization, we periodically generate samples using DDIM sampling with $100$ denoising steps.

\textbf{SDS optimization.}
For the generative tasks driven by SDS, we perform optimization in the parametric symmetric representation space at a resolution of $64 \times 64$. For each prescribed planar group, the representation is instantiated with one density channel and lattice parameters $a=b=64$ and $\gamma=\pi/2$, consistent with the square unit-cell domain. Each sample is optimized for $300$ steps using the AdamW optimizer with a learning rate of $1\times10^{-1}$, $\beta=(0.9,0.99)$, and $\epsilon=10^{-15}$. The diffusion guidance uses $T=1000$ timesteps, and the SDS timestep is sampled from the range $[0.02T,0.98T]$. During optimization, we pass a normalized progress ratio $i/(N-1)$ to the SDS objective, where $i$ denotes the current optimization step and $N=300$ is the total number of steps. The output of the symmetric representation is transformed by a $\tanh$ activation before being fed into the SDS loss. After optimization, the resulting continuous density field is clipped to $[-1,1]$, rescaled to $[0,1]$, and binarized using a threshold of $0.5$ to obtain the final unit-cell mask.

