<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://vista.su.domains/psych221wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Daschl</id>
	<title>Psych 221 Image Systems Engineering - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://vista.su.domains/psych221wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Daschl"/>
	<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=Special:Contributions/Daschl"/>
	<updated>2026-07-12T12:39:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145973</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145973"/>
		<updated>2025-12-12T05:54:04Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Conclusions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. For fabric, while some may use piece-dyed fabrics- where the whole piece is dyed after weaving- others may choose to use yarn-dyed fabrics—where differently colored yarns are interlaced- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. &lt;br /&gt;
&lt;br /&gt;
Unlike additive (RGB) or subtractive (CMYK) color mixing, this optical mixing of colored yarns stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023).  This is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In weaving in particular, optical mixing is determined by how warp and weft threads share the visible surface. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on a number of factors like warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples? Additionally, how do the reflectance of the mixtures compare?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples? How can we manipulate the patterns and spatial frequency to achieve different optical mixing effects?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
Recent research has begun to address limitations in predicting the optical mixture of woven color through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature &#039;&#039;&#039;&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction. &lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance. These studies all point to interesting ways of simulating woven color by appealing to the use of 3D CAD modeling, however, I wanted to see if it was possible to do so with the simple 2D pixel representations. However, when using machines like the TC2 loom, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship. This motivated me to pick two weave structures to test the effect of a multiple colored weft which I will refer to as BY1 and BY2. &lt;br /&gt;
&lt;br /&gt;
[[File: Chosen structures (by1 and by2).png|thumb|500px| center | Weave Structures (original image from https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using reflectance modeling and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series that explore the effect of weave on the color appearance of the final fabric. They compared white and black warp and found that a white warp has a bigger color difference than black warp. They mixed a single color with the warp and tested how the woven sample changed in appearance based on the weave structure. They suggested an extension of the project into the mixing of complementary colors like blue and yellow which I chose to do for my project. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving. Finally, my exploration of the digital simulation will add the spatial frequency effect not explained by the spectral measurements.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Data Collection &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra of the samples and white reference were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. I wanted to see if the actual mixtures BY1 and BY2 could be predicted by a weighted sum:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I then compared the actual plots of the mixture to two theoretical ones: a plot that used weights 0.5 and 0.5 for pure yellow and pure blue (since the mixtures were actually 50% yellow, 50% blue) and the best-fit weights. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
2.1 To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD callibration light:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance for a given sample?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
2.2 BY1 and BY2 ΔE: Then, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions by calculating the ΔE difference between BY1 and BY2. To do so, I chose a standard white light for each lighting condition in order to compare BY1 and BY2 under both tungsten and fluorescent light relative to a standard white light, graphed here:&lt;br /&gt;
[[File:Standard_illuminants.png|thumb|500px|center|Standard light]]&lt;br /&gt;
&lt;br /&gt;
Using the standard light, the spectral reflectance of BY1 and the spectral reflectance of BY2, I was able to estimate the spectral radiance of each sample relative to the standard light, calculate the XYZ values, and then the ΔE difference between BY1 and BY2. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
I have included the results of the actual plots of BY1 and BY2 (the solid line) as well as their predicted results using a weighted sum of the blue and yellow sample (dotted line). &lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are plots of the reflectances of the BLUE, YELLOW, BY1, and BY2 samples, estimated by their corresponding callibration light for each lighting condition. &lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. To represent these plots another way, I also put the reflectance of BY1 and BY2 for the two lighting conditions using their own calibration plot in one graph here: &lt;br /&gt;
&lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|Both BY1 and BY2 under both lighting conditions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using the standard callibration lights for tungsten and fluorescent lighting, these are the delta E values between BY1 and BY2 under each lighting condition.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ΔE Results&lt;br /&gt;
! Condition&lt;br /&gt;
! ΔE&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Tungsten&#039;&#039;&#039;&lt;br /&gt;
| 4.788&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Fluorescent&#039;&#039;&#039;&lt;br /&gt;
| 11.348&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Since the estimate was better under the tungsten light (lower delta E), I mapped both BY1 and BY2 estimated from the standard tungsten lighting.&lt;br /&gt;
[[File:BY1_BY2_refl_T.png|thumb|500px|center|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
3.a Warp Reduced Exposure&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue which were separated by the white warp. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns especially for BY1. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
3.b Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
&lt;br /&gt;
3.3 Diamond Nodes&lt;br /&gt;
To replicate the spatial patterning, I adopted the diamond shape observed in the actual sample to create matrices to tesselate based on the woven structure. The diamond (particularly the center) represents where the warp is. Thus, for BY1, at a particular intersection, there is only one color at this intersection whereas for BY2 there will be two colors. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
From parts one and two, we see that the measured information of the mixtures BY1 and BY2 are quite similar. For part one, under tungsten lighting, the weighted sum of the yellow and blue samples used very similar weights for both BY1 and BY2. For part two, the estimated reflectance spectra for BY1 and BY2 are very similar (with a delta E of less than five under tungsten lighting). To conclude, the perceived color difference (at least from a closer viewing distance) is not because of the material reflectance.&lt;br /&gt;
&lt;br /&gt;
This motivates part three that demonstates the differences in pattern and their effect on color appearance. A summary of the differen simulations is included here: &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles. https://doi.org/10.31881/TLR.2018.vol1.iss1.p8-17.a1 &lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
All digitally created swatches are here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
This folder contains the source code that I used to calculate linearity, reflectance, delta e, etc as well as my files I used for the data: https://drive.google.com/drive/folders/15146-drF1l7gxlz2UVNwAF0nB3Z7D3ie?usp=sharing&lt;br /&gt;
&lt;br /&gt;
Here are my labels for the relevant files in the drive folder above:&lt;br /&gt;
&lt;br /&gt;
Tungsten radiances (measured from sample positions)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue.mat&lt;br /&gt;
&lt;br /&gt;
Yellow: spd-2025-11-26-tungsten-mustard-R01.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent radiances (measured from sample positions in room lighting)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tungsten calibration whites (white placed in front of each sample position)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-tungsten-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2-calib.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent calibration whites&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2-calib.mat&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145972</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145972"/>
		<updated>2025-12-12T05:50:18Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. For fabric, while some may use piece-dyed fabrics- where the whole piece is dyed after weaving- others may choose to use yarn-dyed fabrics—where differently colored yarns are interlaced- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. &lt;br /&gt;
&lt;br /&gt;
Unlike additive (RGB) or subtractive (CMYK) color mixing, this optical mixing of colored yarns stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023).  This is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In weaving in particular, optical mixing is determined by how warp and weft threads share the visible surface. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on a number of factors like warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples? Additionally, how do the reflectance of the mixtures compare?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples? How can we manipulate the patterns and spatial frequency to achieve different optical mixing effects?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
Recent research has begun to address limitations in predicting the optical mixture of woven color through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature &#039;&#039;&#039;&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction. &lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance. These studies all point to interesting ways of simulating woven color by appealing to the use of 3D CAD modeling, however, I wanted to see if it was possible to do so with the simple 2D pixel representations. However, when using machines like the TC2 loom, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship. This motivated me to pick two weave structures to test the effect of a multiple colored weft which I will refer to as BY1 and BY2. &lt;br /&gt;
&lt;br /&gt;
[[File: Chosen structures (by1 and by2).png|thumb|500px| center | Weave Structures (original image from https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using reflectance modeling and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series that explore the effect of weave on the color appearance of the final fabric. They compared white and black warp and found that a white warp has a bigger color difference than black warp. They mixed a single color with the warp and tested how the woven sample changed in appearance based on the weave structure. They suggested an extension of the project into the mixing of complementary colors like blue and yellow which I chose to do for my project. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving. Finally, my exploration of the digital simulation will add the spatial frequency effect not explained by the spectral measurements.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Data Collection &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra of the samples and white reference were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. I wanted to see if the actual mixtures BY1 and BY2 could be predicted by a weighted sum:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I then compared the actual plots of the mixture to two theoretical ones: a plot that used weights 0.5 and 0.5 for pure yellow and pure blue (since the mixtures were actually 50% yellow, 50% blue) and the best-fit weights. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
2.1 To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD callibration light:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance for a given sample?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
2.2 BY1 and BY2 ΔE: Then, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions by calculating the ΔE difference between BY1 and BY2. To do so, I chose a standard white light for each lighting condition in order to compare BY1 and BY2 under both tungsten and fluorescent light relative to a standard white light, graphed here:&lt;br /&gt;
[[File:Standard_illuminants.png|thumb|500px|center|Standard light]]&lt;br /&gt;
&lt;br /&gt;
Using the standard light, the spectral reflectance of BY1 and the spectral reflectance of BY2, I was able to estimate the spectral radiance of each sample relative to the standard light, calculate the XYZ values, and then the ΔE difference between BY1 and BY2. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
I have included the results of the actual plots of BY1 and BY2 (the solid line) as well as their predicted results using a weighted sum of the blue and yellow sample (dotted line). &lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are plots of the reflectances of the BLUE, YELLOW, BY1, and BY2 samples, estimated by their corresponding callibration light for each lighting condition. &lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. To represent these plots another way, I also put the reflectance of BY1 and BY2 for the two lighting conditions using their own calibration plot in one graph here: &lt;br /&gt;
&lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|Both BY1 and BY2 under both lighting conditions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using the standard callibration lights for tungsten and fluorescent lighting, these are the delta E values between BY1 and BY2 under each lighting condition.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ΔE Results&lt;br /&gt;
! Condition&lt;br /&gt;
! ΔE&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Tungsten&#039;&#039;&#039;&lt;br /&gt;
| 4.788&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Fluorescent&#039;&#039;&#039;&lt;br /&gt;
| 11.348&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Since the estimate was better under the tungsten light (lower delta E), I mapped both BY1 and BY2 estimated from the standard tungsten lighting.&lt;br /&gt;
[[File:BY1_BY2_refl_T.png|thumb|500px|center|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
3.a Warp Reduced Exposure&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue which were separated by the white warp. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns especially for BY1. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
3.b Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
&lt;br /&gt;
3.3 Diamond Nodes&lt;br /&gt;
To replicate the spatial patterning, I adopted the diamond shape observed in the actual sample to create matrices to tesselate based on the woven structure. The diamond (particularly the center) represents where the warp is. Thus, for BY1, at a particular intersection, there is only one color at this intersection whereas for BY2 there will be two colors. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
The estimated reflectance spectra for BY1 and BY2 are very similar (with a delta E of less than five under tungsten lighting) so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating my digital simulations exploring the difference in pattern and spatial frequency. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles. https://doi.org/10.31881/TLR.2018.vol1.iss1.p8-17.a1 &lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
All digitally created swatches are here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
This folder contains the source code that I used to calculate linearity, reflectance, delta e, etc as well as my files I used for the data: https://drive.google.com/drive/folders/15146-drF1l7gxlz2UVNwAF0nB3Z7D3ie?usp=sharing&lt;br /&gt;
&lt;br /&gt;
Here are my labels for the relevant files in the drive folder above:&lt;br /&gt;
&lt;br /&gt;
Tungsten radiances (measured from sample positions)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue.mat&lt;br /&gt;
&lt;br /&gt;
Yellow: spd-2025-11-26-tungsten-mustard-R01.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent radiances (measured from sample positions in room lighting)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tungsten calibration whites (white placed in front of each sample position)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-tungsten-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2-calib.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent calibration whites&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2-calib.mat&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145971</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145971"/>
		<updated>2025-12-12T05:42:53Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. For fabric, while some may use piece-dyed fabrics- where the whole piece is dyed after weaving- others may choose to use yarn-dyed fabrics—where differently colored yarns are interlaced- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. &lt;br /&gt;
&lt;br /&gt;
Unlike additive (RGB) or subtractive (CMYK) color mixing, this optical mixing of colored yarns stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023).  This is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In weaving in particular, optical mixing is determined by how warp and weft threads share the visible surface. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on a number of factors like warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples? Additionally, how do the reflectance of the mixtures compare?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples? How can we manipulate the patterns and spatial frequency to achieve different optical mixing effects?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
Recent research has begun to address limitations in predicting the optical mixture of woven color through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature &#039;&#039;&#039;&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction. &lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance. These studies all point to interesting ways of simulating woven color by appealing to the use of 3D CAD modeling, however, I wanted to see if it was possible to do so with the simple 2D pixel representations. However, when using machines like the TC2 loom, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship. This motivated me to pick two weave structures to test the effect of a multiple colored weft which I will refer to as BY1 and BY2. &lt;br /&gt;
&lt;br /&gt;
[[File: Chosen structures (by1 and by2).png|thumb|500px| center | Weave Structures (original image from https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using reflectance modeling and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series that explore the effect of weave on the color appearance of the final fabric. They compared white and black warp and found that a white warp has a bigger color difference than black warp. They mixed a single color with the warp and tested how the woven sample changed in appearance based on the weave structure. They suggested an extension of the project into the mixing of complementary colors like blue and yellow which I chose to do for my project. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving. Finally, my exploration of the digital simulation will add the spatial frequency effect not explained by the spectral measurements.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Data Collection &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra of the samples and white reference were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. I wanted to see if the actual mixtures BY1 and BY2 could be predicted by a weighted sum:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I then compared the actual plots of the mixture to two theoretical ones: a plot that used weights 0.5 and 0.5 for pure yellow and pure blue (since the mixtures were actually 50% yellow, 50% blue) and the best-fit weights. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
2.1 To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD callibration light:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance for a given sample?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
2.2 BY1 and BY2 ΔE: Then, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions by calculating the ΔE difference between BY1 and BY2. To do so, I chose a standard white light for each lighting condition in order to compare BY1 and BY2 under both tungsten and fluorescent light relative to a standard white light, graphed here:&lt;br /&gt;
[[File:Standard_illuminants.png|thumb|500px|center|Standard light]]&lt;br /&gt;
&lt;br /&gt;
Using the standard light, the spectral reflectance of BY1 and the spectral reflectance of BY2, I was able to estimate the spectral radiance of each sample relative to the standard light, calculate the XYZ values, and then the ΔE difference between BY1 and BY2. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are plots of the reflectances of the BLUE, YELLOW, BY1, and BY2 samples, estimated by their corresponding callibration light for each lighting condition. &lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. To represent these plots another way, I also put the reflectance of BY1 and BY2 for the two lighting conditions using their own calibration plot in one graph here: &lt;br /&gt;
&lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|Both BY1 and BY2 under both lighting conditions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are the delta E values between BY1 and BY2 under each lighting condition.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ΔE Results&lt;br /&gt;
! Condition&lt;br /&gt;
! ΔE&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Tungsten&#039;&#039;&#039;&lt;br /&gt;
| 4.788&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Fluorescent&#039;&#039;&#039;&lt;br /&gt;
| 11.348&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Since the estimate was better under the tungsten light (lower delta E), I mapped both BY1 and BY2 estimated from the standard tungsten lighting.&lt;br /&gt;
[[File:BY1_BY2_refl_T.png|thumb|500px|center|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
The estimated reflectance spectra for BY1 and BY2 are very similar (with a delta E of less than five under tungsten lighting) so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating my digital simulations exploring the difference in pattern and spatial frequency. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles. https://doi.org/10.31881/TLR.2018.vol1.iss1.p8-17.a1 &lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
All digitally created swatches are here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
This folder contains the source code that I used to calculate linearity, reflectance, delta e, etc as well as my files I used for the data: https://drive.google.com/drive/folders/15146-drF1l7gxlz2UVNwAF0nB3Z7D3ie?usp=sharing&lt;br /&gt;
&lt;br /&gt;
Here are my labels for the relevant files in the drive folder above:&lt;br /&gt;
&lt;br /&gt;
Tungsten radiances (measured from sample positions)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue.mat&lt;br /&gt;
&lt;br /&gt;
Yellow: spd-2025-11-26-tungsten-mustard-R01.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent radiances (measured from sample positions in room lighting)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tungsten calibration whites (white placed in front of each sample position)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-tungsten-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2-calib.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent calibration whites&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2-calib.mat&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145970</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145970"/>
		<updated>2025-12-12T05:42:32Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. For fabric, while some may use piece-dyed fabrics- where the whole piece is dyed after weaving- others may choose to use yarn-dyed fabrics—where differently colored yarns are interlaced- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. &lt;br /&gt;
&lt;br /&gt;
Unlike additive (RGB) or subtractive (CMYK) color mixing, this optical mixing of colored yarns stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023).  This is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In weaving in particular, optical mixing is determined by how warp and weft threads share the visible surface. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on a number of factors like warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples? Additionally, how do the reflectance of the mixtures compare?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples? How can we manipulate the patterns and spatial frequency to achieve different optical mixing effects?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
Recent research has begun to address limitations in predicting the optical mixture of woven color through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature &#039;&#039;&#039;&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction. &lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance. These studies all point to interesting ways of simulating woven color by appealing to the use of 3D CAD modeling, however, I wanted to see if it was possible to do so with the simple 2D pixel representations. However, when using machines like the TC2 loom, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship. This motivated me to pick two weave structures to test the effect of a multiple colored weft which I will refer to as BY1 and BY2. &lt;br /&gt;
&lt;br /&gt;
[[File: Chosen structures (by1 and by2).png|thumb|500px| center | Weave Structures (original image from https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using reflectance modeling and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series that explore the effect of weave on the color appearance of the final fabric. They compared white and black warp and found that a white warp has a bigger color difference than black warp. They mixed a single color with the warp and tested how the woven sample changed in appearance based on the weave structure. They suggested an extension of the project into the mixing of complementary colors like blue and yellow which I chose to do for my project. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving. Finally, my exploration of the digital simulation will add the spatial frequency effect not explained by the spectral measurements.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Data Collection &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra of the samples and white reference were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. I wanted to see if the actual mixtures BY1 and BY2 could be predicted by a weighted sum:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I then compared the actual plots of the mixture to two theoretical ones: a plot that used weights 0.5 and 0.5 for pure yellow and pure blue (since the mixtures were actually 50% yellow, 50% blue) and the best-fit weights. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
2.1 To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD callibration light:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance for a given sample?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
2.2 BY1 and BY2 ΔE: Then, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions by calculating the ΔE difference between BY1 and BY2. To do so, I chose a standard white light for each lighting condition in order to compare BY1 and BY2 under both tungsten and fluorescent light relative to a standard white light, graphed here:&lt;br /&gt;
[[File:Standard_illuminants.png|thumb|500px|center|Standard light]]&lt;br /&gt;
&lt;br /&gt;
Using the standard light, the spectral reflectance of BY1 and the spectral reflectance of BY2, I was able to estimate the spectral radiance of each sample relative to the standard light, calculate the XYZ values, and then the ΔE difference between BY1 and BY2. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are plots of the reflectances of the BLUE, YELLOW, BY1, and BY2 samples, estimated by their corresponding callibration light for each lighting condition. &lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. To represent these plots another way, I also put the reflectance of BY1 and BY2 for the two lighting conditions using their own calibration plot in one graph here: &lt;br /&gt;
&lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|Both BY1 and BY2 under both lighting conditions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are the delta E values between BY1 and BY2 under each lighting condition.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ΔE Results&lt;br /&gt;
! Condition&lt;br /&gt;
! ΔE&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Tungsten&#039;&#039;&#039;&lt;br /&gt;
| 4.788&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Fluorescent&#039;&#039;&#039;&lt;br /&gt;
| 11.348&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Since the estimate was better under the tungsten light (lower delta E), I mapped both BY1 and BY2 estimated from the standard tungsten lighting.&lt;br /&gt;
[[File:BY1_BY2_refl_T.png|thumb|500px|center|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
The estimated reflectance spectra for BY1 and BY2 are very similar (with a delta E of less than five under tungsten lighting) so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating my digital simulations exploring the difference in pattern and spatial frequency. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles. https://doi.org/10.31881/TLR.2018.vol1.iss1.p8-17.a1 &lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
All digitally created swatches are here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
This folder contains the source code that I used to calculate linearity, reflectance, delta e, etc as well as my files I used for the data: https://drive.google.com/drive/folders/15146-drF1l7gxlz2UVNwAF0nB3Z7D3ie?usp=sharing&lt;br /&gt;
&lt;br /&gt;
Here are my labels for the relevant files in the drive folder above:&lt;br /&gt;
&lt;br /&gt;
Tungsten radiances (measured from sample positions)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue.mat&lt;br /&gt;
&lt;br /&gt;
Yellow: spd-2025-11-26-tungsten-mustard-R01.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent radiances (measured from sample positions in room lighting)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tungsten calibration whites (white placed in front of each sample position)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-tungsten-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2-calib.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent calibration whites&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2-calib.mat&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145969</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145969"/>
		<updated>2025-12-12T05:40:40Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. For fabric, while some may use piece-dyed fabrics- where the whole piece is dyed after weaving- others may choose to use yarn-dyed fabrics—where differently colored yarns are interlaced- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. &lt;br /&gt;
&lt;br /&gt;
Unlike additive (RGB) or subtractive (CMYK) color mixing, this optical mixing of colored yarns stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023).  This is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In weaving in particular, optical mixing is determined by how warp and weft threads share the visible surface. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on a number of factors like warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples? Additionally, how do the reflectance of the mixtures compare?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples? How can we manipulate the patterns and spatial frequency to achieve different optical mixing effects?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
Recent research has begun to address limitations in predicting the optical mixture of woven color through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature &#039;&#039;&#039;&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction. &lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance. These studies all point to interesting ways of simulating woven color by appealing to the use of 3D CAD modeling, however, I wanted to see if it was possible to do so with the simple 2D pixel representations. However, when using machines like the TC2 loom, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship. This motivated me to pick two weave structures to test the effect of a multiple colored weft which I will refer to as BY1 and BY2. &lt;br /&gt;
&lt;br /&gt;
[[File: Chosen structures (by1 and by2).png|thumb|500px| center | Weave Structures (original image from https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using reflectance modeling and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series that explore the effect of weave on the color appearance of the final fabric. They compared white and black warp and found that a white warp has a bigger color difference than black warp. They mixed a single color with the warp and tested how the woven sample changed in appearance based on the weave structure. They suggested an extension of the project into the mixing of complementary colors like blue and yellow which I chose to do for my project. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving. Finally, my exploration of the digital simulation will add the spatial frequency effect not explained by the spectral measurements.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are plots of the reflectances of the BLUE, YELLOW, BY1, and BY2 samples, estimated by their corresponding callibration light for each lighting condition. &lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. To represent these plots another way, I also put the reflectance of BY1 and BY2 for the two lighting conditions using their own calibration plot in one graph here: &lt;br /&gt;
&lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|Both BY1 and BY2 under both lighting conditions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are the delta E values between BY1 and BY2 under each lighting condition.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ΔE Results&lt;br /&gt;
! Condition&lt;br /&gt;
! ΔE&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Tungsten&#039;&#039;&#039;&lt;br /&gt;
| 4.788&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Fluorescent&#039;&#039;&#039;&lt;br /&gt;
| 11.348&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Since the estimate was better under the tungsten light (lower delta E), I mapped both BY1 and BY2 estimated from the standard tungsten lighting.&lt;br /&gt;
[[File:BY1_BY2_refl_T.png|thumb|500px|center|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
The estimated reflectance spectra for BY1 and BY2 are very similar (with a delta E of less than five under tungsten lighting) so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating my digital simulations exploring the difference in pattern and spatial frequency. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles. https://doi.org/10.31881/TLR.2018.vol1.iss1.p8-17.a1 &lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
All digitally created swatches are here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
This folder contains the source code that I used to calculate linearity, reflectance, delta e, etc as well as my files I used for the data: https://drive.google.com/drive/folders/15146-drF1l7gxlz2UVNwAF0nB3Z7D3ie?usp=sharing&lt;br /&gt;
&lt;br /&gt;
Here are my labels for the relevant files in the drive folder above:&lt;br /&gt;
&lt;br /&gt;
Tungsten radiances (measured from sample positions)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue.mat&lt;br /&gt;
&lt;br /&gt;
Yellow: spd-2025-11-26-tungsten-mustard-R01.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent radiances (measured from sample positions in room lighting)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tungsten calibration whites (white placed in front of each sample position)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-tungsten-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2-calib.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent calibration whites&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2-calib.mat&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145968</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145968"/>
		<updated>2025-12-12T05:33:23Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. For fabric, while some may use piece-dyed fabrics- where the whole piece is dyed after weaving- others may choose to use yarn-dyed fabrics—where differently colored yarns are interlaced- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. &lt;br /&gt;
&lt;br /&gt;
Unlike additive (RGB) or subtractive (CMYK) color mixing, this optical mixing of colored yarns stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023).  This is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In weaving in particular, optical mixing is determined by how warp and weft threads share the visible surface. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on a number of factors like warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples? Additionally, how do the reflectance of the mixtures compare?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples? How can we manipulate the patterns and spatial frequency to achieve different optical mixing effects?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
Recent research has begun to address limitations in predicting the optical mixture of woven color through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature &#039;&#039;&#039;&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction. &lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance. These studies all point to interesting ways of simulating woven color by appealing to the use of 3D CAD modeling, however, I wanted to see if it was possible to do so with the simple 2D pixel representations. However, when using machines like the TC2 loom, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship. This motivated me to pick two weave structures to test the effect of a multiple colored weft which I will refer to as BY1 and BY2. &lt;br /&gt;
&lt;br /&gt;
[[File: Chosen structures (by1 and by2).png|thumb|500px| center | Weave Structures (original image from https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using reflectance modeling and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series that explore the effect of weave on the color appearance of the final fabric. They compared white and black warp and found that a white warp has a bigger color difference than black warp. They mixed a single color with the warp and tested how the woven sample changed in appearance based on the weave structure. They suggested an extension of the project into the mixing of complementary colors like blue and yellow which I chose to do for my project. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving. Finally, my exploration of the digital simulation will add the spatial frequency effect not explained by the spectral measurements.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are plots of the reflectances of the BLUE, YELLOW, BY1, and BY2 samples, estimated by their corresponding callibration light for each lighting condition. &lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. &lt;br /&gt;
&lt;br /&gt;
Finally, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions by calculating the ΔE difference between BY1 and BY2. The plot from before was an estimation of the reflectance of BY1 and BY2 for the two lighting conditions using their own calibration plot. See here: &lt;br /&gt;
&lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
&lt;br /&gt;
To move forward in comparind BY1 and BY2, I chose a standard white light for each lighting condition, graphed here:&lt;br /&gt;
[[File:Standard_illuminants.png|thumb|500px|center|Standard light]]&lt;br /&gt;
&lt;br /&gt;
Here are the delta E values between BY1 and BY2 under each lighting condition.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ΔE Results&lt;br /&gt;
! Condition&lt;br /&gt;
! ΔE&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Tungsten&#039;&#039;&#039;&lt;br /&gt;
| 4.788&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Fluorescent&#039;&#039;&#039;&lt;br /&gt;
| 11.348&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Since the estimate was better under the tungsten light (lower delta E), I mapped both BY1 and BY2 estimated from the standard tungsten lighting.&lt;br /&gt;
[[File:BY1_BY2_refl_T.png|thumb|500px|center|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
The estimated reflectance spectra for BY1 and BY2 are very similar (with a delta E of less than five under tungsten lighting) so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating my digital simulations exploring the difference in pattern and spatial frequency. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles. https://doi.org/10.31881/TLR.2018.vol1.iss1.p8-17.a1 &lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
All digitally created swatches are here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
This folder contains the source code that I used to calculate linearity, reflectance, delta e, etc as well as my files I used for the data: https://drive.google.com/drive/folders/15146-drF1l7gxlz2UVNwAF0nB3Z7D3ie?usp=sharing&lt;br /&gt;
&lt;br /&gt;
Here are my labels for the relevant files in the drive folder above:&lt;br /&gt;
&lt;br /&gt;
Tungsten radiances (measured from sample positions)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue.mat&lt;br /&gt;
&lt;br /&gt;
Yellow: spd-2025-11-26-tungsten-mustard-R01.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent radiances (measured from sample positions in room lighting)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tungsten calibration whites (white placed in front of each sample position)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-tungsten-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2-calib.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent calibration whites&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2-calib.mat&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145967</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145967"/>
		<updated>2025-12-12T05:30:23Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Background */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. For fabric, while some may use piece-dyed fabrics- where the whole piece is dyed after weaving- others may choose to use yarn-dyed fabrics—where differently colored yarns are interlaced- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. &lt;br /&gt;
&lt;br /&gt;
Unlike additive (RGB) or subtractive (CMYK) color mixing, this optical mixing of colored yarns stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023).  This is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In weaving in particular, optical mixing is determined by how warp and weft threads share the visible surface. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on a number of factors like warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples? Additionally, how do the reflectance of the mixtures compare?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples? How can we manipulate the patterns and spatial frequency to achieve different optical mixing effects?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
Recent research has begun to address limitations in predicting the optical mixture of woven color through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature &#039;&#039;&#039;&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction. &lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance. These studies all point to interesting ways of simulating woven color by appealing to the use of 3D CAD modeling, however, I wanted to see if it was possible to do so with the simple 2D pixel representations. However, when using machines like the TC2 loom, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship. This motivated me to pick two weave structures to test the effect of a multiple colored weft which I will refer to as BY1 and BY2. &lt;br /&gt;
&lt;br /&gt;
[[File: Chosen structures (by1 and by2).png|thumb|500px| center | Weave Structures (original image from https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using reflectance modeling and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series that explore the effect of weave on the color appearance of the final fabric. They compared white and black warp and found that a white warp has a bigger color difference than black warp. They mixed a single color with the warp and tested how the woven sample changed in appearance based on the weave structure. They suggested an extension of the project into the mixing of complementary colors like blue and yellow which I chose to do for my project. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving. Finally, my exploration of the digital simulation will add the spatial frequency effect not explained by the spectral measurements.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are plots of the reflectances of the BLUE, YELLOW, BY1, and BY2 samples, estimated by their corresponding callibration light for each lighting condition. &lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. &lt;br /&gt;
&lt;br /&gt;
Finally, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions by calculating the ΔE difference between BY1 and BY2. The plot from before was an estimation of the reflectance of BY1 and BY2 for the two lighting conditions using their own calibration plot. See here: &lt;br /&gt;
&lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
&lt;br /&gt;
To move forward in comparind BY1 and BY2, I chose a standard white light for each lighting condition, graphed here:&lt;br /&gt;
[[File:Standard_illuminants.png|thumb|500px|center|Standard light]]&lt;br /&gt;
&lt;br /&gt;
Here are the delta E values between BY1 and BY2 under each lighting condition.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ΔE Results&lt;br /&gt;
! Condition&lt;br /&gt;
! ΔE&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Tungsten&#039;&#039;&#039;&lt;br /&gt;
| 4.788&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Fluorescent&#039;&#039;&#039;&lt;br /&gt;
| 11.348&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Since the estimate was better under the tungsten light (lower delta E), I mapped both BY1 and BY2 estimated from the standard tungsten lighting.&lt;br /&gt;
[[File:BY1_BY2_refl_T.png|thumb|500px|center|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
The estimated reflectance spectra for BY1 and BY2 are very similar (with a delta E of less than five under tungsten lighting) so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating my digital simulations exploring the difference in pattern and spatial frequency. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles.&lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
All digitally created swatches are here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
This folder contains the source code that I used to calculate linearity, reflectance, delta e, etc as well as my files I used for the data: https://drive.google.com/drive/folders/15146-drF1l7gxlz2UVNwAF0nB3Z7D3ie?usp=sharing&lt;br /&gt;
&lt;br /&gt;
Here are my labels for the relevant files in the drive folder above:&lt;br /&gt;
&lt;br /&gt;
Tungsten radiances (measured from sample positions)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue.mat&lt;br /&gt;
&lt;br /&gt;
Yellow: spd-2025-11-26-tungsten-mustard-R01.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent radiances (measured from sample positions in room lighting)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tungsten calibration whites (white placed in front of each sample position)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-tungsten-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2-calib.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent calibration whites&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2-calib.mat&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145966</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145966"/>
		<updated>2025-12-12T05:04:03Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. For fabric, while some may use piece-dyed fabrics- where the whole piece is dyed after weaving- others may choose to use yarn-dyed fabrics—where differently colored yarns are interlaced- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. &lt;br /&gt;
&lt;br /&gt;
Unlike additive (RGB) or subtractive (CMYK) color mixing, this optical mixing of colored yarns stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023).  This is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In weaving in particular, optical mixing is determined by how warp and weft threads share the visible surface. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on a number of factors like warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples? Additionally, how do the reflectance of the mixtures compare?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples? How can we manipulate the patterns and spatial frequency to achieve different optical mixing effects?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on a stimulus’s spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), the opponent-color pathways (red–green, blue–yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
These perceptual principles are essential for understanding woven color. Recent research has begun to address these limitations through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating measured reflectance spectra with physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
This project integrates tools from optical physics, spectral measurement, and digital modeling to evaluate optical blending in a set of woven samples (blue, yellow, BY1, BY2) measured under two lighting conditions. Through these analyses, the project connects physical measurement with perceptual constraints and textile design principles, contributing to ongoing efforts to predict woven color without relying on time-consuming physical prototyping.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In weaving, there are many ways of achieving different colors. One way is in the yarn itself, like using different dyes. Another way is with respect to the piece itself– “piece-dyed” fabric refers to a fabric that is already woven that is then dipped in a dye to achieve a color. The other type of fabric is yarn-dyed fabric: this refers to when different colored yarns are woven together in order to create new colors by means of optical mixing/blending. &lt;br /&gt;
&lt;br /&gt;
Optical blending occurs when the eye combines adjacent colors to create another color– a technique used in the likes of everything from pointillism paintings to pixels. In weaving, optical blending occurs when the eye combines the colors of adjacent threads. Again, there are different ways to achieve this like using multiple wefts. &lt;br /&gt;
&lt;br /&gt;
The warp and weft can make a whole host of different structures based on the way in which you weave them. &lt;br /&gt;
&lt;br /&gt;
[[File: Warp-weft-red-full-2048x731.jpg |thumb|500px| center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
For my project, I chose the following two weave structures which I will refer to as BY1 and BY2. &lt;br /&gt;
&lt;br /&gt;
[[File: Chosen structures (by1 and by2).png|thumb|500px| center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction—exactly the limitation your “diamond-node” modeling seeks to address. However, when using machines like the TC2, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship.&lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the renderable color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance—again aligning with your emphasis on structural control.&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using colorimetry, reflectance modeling, and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series, which report improved reproducibility when objective color measurements are incorporated into weave simulations. The combination of geometrical modeling and measured reflectance is now considered a promising approach, but open challenges remain in accurately capturing yarn cross-sections, shadowing, and inter-yarn scattering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optics, Vision, and Spatial Integration&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Modeling of Weave Appearance&#039;&#039;&#039;&lt;br /&gt;
For &#039;&#039;&#039;Part Three&#039;&#039;&#039;, my work fits into a growing body of recent research exploring how to best model woven structures digitally.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are plots of the reflectances of the BLUE, YELLOW, BY1, and BY2 samples, estimated by their corresponding callibration light for each lighting condition. &lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. &lt;br /&gt;
&lt;br /&gt;
Finally, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions by calculating the ΔE difference between BY1 and BY2. The plot from before was an estimation of the reflectance of BY1 and BY2 for the two lighting conditions using their own calibration plot. See here: &lt;br /&gt;
&lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
&lt;br /&gt;
To move forward in comparind BY1 and BY2, I chose a standard white light for each lighting condition, graphed here:&lt;br /&gt;
[[File:Standard_illuminants.png|thumb|500px|center|Standard light]]&lt;br /&gt;
&lt;br /&gt;
Here are the delta E values between BY1 and BY2 under each lighting condition.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ΔE Results&lt;br /&gt;
! Condition&lt;br /&gt;
! ΔE&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Tungsten&#039;&#039;&#039;&lt;br /&gt;
| 4.788&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Fluorescent&#039;&#039;&#039;&lt;br /&gt;
| 11.348&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Since the estimate was better under the tungsten light (lower delta E), I mapped both BY1 and BY2 estimated from the standard tungsten lighting.&lt;br /&gt;
[[File:BY1_BY2_refl_T.png|thumb|500px|center|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
The estimated reflectance spectra for BY1 and BY2 are very similar (with a delta E of less than five under tungsten lighting) so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating my digital simulations exploring the difference in pattern and spatial frequency. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles.&lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
All digitally created swatches are here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
This folder contains the source code that I used to calculate linearity, reflectance, delta e, etc as well as my files I used for the data: https://drive.google.com/drive/folders/15146-drF1l7gxlz2UVNwAF0nB3Z7D3ie?usp=sharing&lt;br /&gt;
&lt;br /&gt;
Here are my labels for the relevant files in the drive folder above:&lt;br /&gt;
&lt;br /&gt;
Tungsten radiances (measured from sample positions)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue.mat&lt;br /&gt;
&lt;br /&gt;
Yellow: spd-2025-11-26-tungsten-mustard-R01.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent radiances (measured from sample positions in room lighting)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tungsten calibration whites (white placed in front of each sample position)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-tungsten-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2-calib.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent calibration whites&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2-calib.mat&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145965</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145965"/>
		<updated>2025-12-12T04:59:40Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Background */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. Designers often rely on yarn-dyed fabrics—where differently colored yarns are interlaced— as opposed to piece-dyed fabrics- where the whole piece is dyed after weaving- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. These effects stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023). Unlike additive (RGB) or subtractive (CMYK) color mixing, woven color is primarily an optical mixture, shaped by how warp and weft threads share the visible surface. The phenomenon is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In textiles, optical blending arises when warp and weft yarns of different colors interlace at a spatial scale near the eye’s integration limit. The colors mix perceptually rather than physically (Todd-Hooker, 2023).&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on a stimulus’s spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), the opponent-color pathways (red–green, blue–yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
These perceptual principles are essential for understanding woven color. Recent research has begun to address these limitations through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating measured reflectance spectra with physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
This project integrates tools from optical physics, spectral measurement, and digital modeling to evaluate optical blending in a set of woven samples (blue, yellow, BY1, BY2) measured under two lighting conditions. Through these analyses, the project connects physical measurement with perceptual constraints and textile design principles, contributing to ongoing efforts to predict woven color without relying on time-consuming physical prototyping.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In weaving, there are many ways of achieving different colors. One way is in the yarn itself, like using different dyes. Another way is with respect to the piece itself– “piece-dyed” fabric refers to a fabric that is already woven that is then dipped in a dye to achieve a color. The other type of fabric is yarn-dyed fabric: this refers to when different colored yarns are woven together in order to create new colors by means of optical mixing/blending. &lt;br /&gt;
&lt;br /&gt;
Optical blending occurs when the eye combines adjacent colors to create another color– a technique used in the likes of everything from pointillism paintings to pixels. In weaving, optical blending occurs when the eye combines the colors of adjacent threads. Again, there are different ways to achieve this like using multiple wefts. &lt;br /&gt;
&lt;br /&gt;
The warp and weft can make a whole host of different structures based on the way in which you weave them. &lt;br /&gt;
&lt;br /&gt;
[[File: Warp-weft-red-full-2048x731.jpg |thumb|500px| center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
For my project, I chose the following two weave structures which I will refer to as BY1 and BY2. &lt;br /&gt;
&lt;br /&gt;
[[File: Chosen structures (by1 and by2).png|thumb|500px| center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction—exactly the limitation your “diamond-node” modeling seeks to address. However, when using machines like the TC2, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship.&lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the renderable color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance—again aligning with your emphasis on structural control.&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using colorimetry, reflectance modeling, and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series, which report improved reproducibility when objective color measurements are incorporated into weave simulations. The combination of geometrical modeling and measured reflectance is now considered a promising approach, but open challenges remain in accurately capturing yarn cross-sections, shadowing, and inter-yarn scattering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optics, Vision, and Spatial Integration&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Modeling of Weave Appearance&#039;&#039;&#039;&lt;br /&gt;
For &#039;&#039;&#039;Part Three&#039;&#039;&#039;, my work fits into a growing body of recent research exploring how to best model woven structures digitally.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are plots of the reflectances of the BLUE, YELLOW, BY1, and BY2 samples, estimated by their corresponding callibration light for each lighting condition. &lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. &lt;br /&gt;
&lt;br /&gt;
Finally, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions by calculating the ΔE difference between BY1 and BY2. The plot from before was an estimation of the reflectance of BY1 and BY2 for the two lighting conditions using their own calibration plot. See here: &lt;br /&gt;
&lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
&lt;br /&gt;
To move forward in comparind BY1 and BY2, I chose a standard white light for each lighting condition, graphed here:&lt;br /&gt;
[[File:Standard_illuminants.png|thumb|500px|center|Standard light]]&lt;br /&gt;
&lt;br /&gt;
Here are the delta E values between BY1 and BY2 under each lighting condition.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ΔE Results&lt;br /&gt;
! Condition&lt;br /&gt;
! ΔE&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Tungsten&#039;&#039;&#039;&lt;br /&gt;
| 4.788&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Fluorescent&#039;&#039;&#039;&lt;br /&gt;
| 11.348&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Since the estimate was better under the tungsten light (lower delta E), I mapped both BY1 and BY2 estimated from the standard tungsten lighting.&lt;br /&gt;
[[File:BY1_BY2_refl_T.png|thumb|500px|center|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
The estimated reflectance spectra for BY1 and BY2 are very similar (with a delta E of less than five under tungsten lighting) so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating my digital simulations exploring the difference in pattern and spatial frequency. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles.&lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
All digitally created swatches are here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
This folder contains the source code that I used to calculate linearity, reflectance, delta e, etc as well as my files I used for the data: https://drive.google.com/drive/folders/15146-drF1l7gxlz2UVNwAF0nB3Z7D3ie?usp=sharing&lt;br /&gt;
&lt;br /&gt;
Here are my labels for the relevant files in the drive folder above:&lt;br /&gt;
&lt;br /&gt;
Tungsten radiances (measured from sample positions)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue.mat&lt;br /&gt;
&lt;br /&gt;
Yellow: spd-2025-11-26-tungsten-mustard-R01.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent radiances (measured from sample positions in room lighting)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tungsten calibration whites (white placed in front of each sample position)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-tungsten-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2-calib.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent calibration whites&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2-calib.mat&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Optical-Mixing_Simulation&amp;diff=145964</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Optical-Mixing Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Optical-Mixing_Simulation&amp;diff=145964"/>
		<updated>2025-12-12T04:24:27Z</updated>

		<summary type="html">&lt;p&gt;Daschl: Daschl moved page The Optics of Weaving: Linearity, Reflectance, and Optical-Mixing Simulation to The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation]]&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145963</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145963"/>
		<updated>2025-12-12T04:24:27Z</updated>

		<summary type="html">&lt;p&gt;Daschl: Daschl moved page The Optics of Weaving: Linearity, Reflectance, and Optical-Mixing Simulation to The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. Designers often rely on yarn-dyed fabrics—where differently colored yarns are interlaced— as opposed to piece-dyed fabrics- where the whole piece is dyed after weaving- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. These effects stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023). Unlike additive (RGB) or subtractive (CMYK) color mixing, woven color is primarily an optical mixture, shaped by how warp and weft threads share the visible surface. The phenomenon is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In textiles, optical blending arises when warp and weft yarns of different colors interlace at a spatial scale near the eye’s integration limit. The colors mix perceptually rather than physically (Todd-Hooker, 2023).&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on a stimulus’s spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), the opponent-color pathways (red–green, blue–yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
These perceptual principles are essential for understanding woven color. Recent research has begun to address these limitations through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating measured reflectance spectra with physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
This project integrates tools from optical physics, spectral measurement, and digital modeling to evaluate optical blending in a set of woven samples (blue, yellow, BY1, BY2) measured under two lighting conditions. Through these analyses, the project connects physical measurement with perceptual constraints and textile design principles, contributing to ongoing efforts to predict woven color without relying on time-consuming physical prototyping.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In weaving, there are many ways of achieving different colors. One way is in the yarn itself, like using different dyes. Another way is with respect to the piece itself– “piece-dyed” fabric refers to a fabric that is already woven that is then dipped in a dye to achieve a color. The other type of fabric is yarn-dyed fabric: this refers to when different colored yarns are woven together in order to create new colors by means of optical mixing/blending. &lt;br /&gt;
&lt;br /&gt;
Optical blending occurs when the eye combines adjacent colors to create another color– a technique used in the likes of everything from pointillism paintings to pixels. In weaving, optical blending occurs when the eye combines the colors of adjacent threads. Again, there are different ways to achieve this like using multiple wefts. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
The warp and weft can make a whole host of different structures based on the way in which you weave them. &lt;br /&gt;
&lt;br /&gt;
[[File: Warp-weft-red-full-2048x731.jpg |thumb|500px| center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
For my project, I chose the following two weave structures which I will refer to as BY1 and BY2. &lt;br /&gt;
&lt;br /&gt;
[[File: Chosen structures (by1 and by2).png|thumb|500px| center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction—exactly the limitation your “diamond-node” modeling seeks to address. However, when using machines like the TC2, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship.&lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the renderable color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance—again aligning with your emphasis on structural control.&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using colorimetry, reflectance modeling, and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series, which report improved reproducibility when objective color measurements are incorporated into weave simulations. The combination of geometrical modeling and measured reflectance is now considered a promising approach, but open challenges remain in accurately capturing yarn cross-sections, shadowing, and inter-yarn scattering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optics, Vision, and Spatial Integration&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Modeling of Weave Appearance&#039;&#039;&#039;&lt;br /&gt;
For &#039;&#039;&#039;Part Three&#039;&#039;&#039;, my work fits into a growing body of recent research exploring how to best model woven structures digitally.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are plots of the reflectances of the BLUE, YELLOW, BY1, and BY2 samples, estimated by their corresponding callibration light for each lighting condition. &lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. &lt;br /&gt;
&lt;br /&gt;
Finally, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions by calculating the ΔE difference between BY1 and BY2. The plot from before was an estimation of the reflectance of BY1 and BY2 for the two lighting conditions using their own calibration plot. See here: &lt;br /&gt;
&lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
&lt;br /&gt;
To move forward in comparind BY1 and BY2, I chose a standard white light for each lighting condition, graphed here:&lt;br /&gt;
[[File:Standard_illuminants.png|thumb|500px|center|Standard light]]&lt;br /&gt;
&lt;br /&gt;
Here are the delta E values between BY1 and BY2 under each lighting condition.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ΔE Results&lt;br /&gt;
! Condition&lt;br /&gt;
! ΔE&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Tungsten&#039;&#039;&#039;&lt;br /&gt;
| 4.788&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Fluorescent&#039;&#039;&#039;&lt;br /&gt;
| 11.348&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Since the estimate was better under the tungsten light (lower delta E), I mapped both BY1 and BY2 estimated from the standard tungsten lighting.&lt;br /&gt;
[[File:BY1_BY2_refl_T.png|thumb|500px|center|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
The estimated reflectance spectra for BY1 and BY2 are very similar (with a delta E of less than five under tungsten lighting) so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating my digital simulations exploring the difference in pattern and spatial frequency. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles.&lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
All digitally created swatches are here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
This folder contains the source code that I used to calculate linearity, reflectance, delta e, etc as well as my files I used for the data: https://drive.google.com/drive/folders/15146-drF1l7gxlz2UVNwAF0nB3Z7D3ie?usp=sharing&lt;br /&gt;
&lt;br /&gt;
Here are my labels for the relevant files in the drive folder above:&lt;br /&gt;
&lt;br /&gt;
Tungsten radiances (measured from sample positions)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue.mat&lt;br /&gt;
&lt;br /&gt;
Yellow: spd-2025-11-26-tungsten-mustard-R01.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent radiances (measured from sample positions in room lighting)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tungsten calibration whites (white placed in front of each sample position)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-tungsten-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2-calib.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent calibration whites&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2-calib.mat&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=Psych221-Projects-2025-Fall&amp;diff=145962</id>
		<title>Psych221-Projects-2025-Fall</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=Psych221-Projects-2025-Fall&amp;diff=145962"/>
		<updated>2025-12-12T04:22:51Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Projects for Psych 221 (2025-2026) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://vista.su.domains/psych221wiki/index.php?title=Main_Page#Psych221  Return to Psych 221 Main Page]&lt;br /&gt;
&lt;br /&gt;
There are two deliverables for the project:&lt;br /&gt;
# A group presentation&lt;br /&gt;
# A wiki-style project page write-up&lt;br /&gt;
&lt;br /&gt;
* The write-up should roughly follow [http://vista.su.domains/psych221wiki/index.php?title=Project_Guidelines this organization from the Project Guidelines Page]&lt;br /&gt;
* Please visit [https://www.mediawiki.org/wiki/Help:Editing_pages MediaWiki&#039;s editing help page].&lt;br /&gt;
&lt;br /&gt;
== To set up your project&#039;s page ==&lt;br /&gt;
* Log in to this wiki with the username and password you created.&lt;br /&gt;
* Edit the Projects section of this page (just below). Do this by clicking on &amp;quot;[edit]&amp;quot; to the right of each section title. &lt;br /&gt;
* Make a new line for your project using the format shown below, pasting the line for your project under the last item/group. The first part of the text within the double brackets is the name of the new page.  This must be unique, and putting the group member names is a safest way to assure this. The second part, after &#039;|&#039; is the displayed text and can be your project title.&lt;br /&gt;
* Save the Project section by clicking the Save button at the bottom of the page&lt;br /&gt;
* Finally, click on the link for your project.  This will take you to a new blank page that you can edit.  You can use the basic format for your page that is in the Sample Project.&lt;br /&gt;
* Math tip: Use the tags &amp;amp;lt;math&amp;amp;gt; and &amp;amp;lt;/math&amp;amp;gt; to wrap an equation. For example, this code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &amp;lt;math&amp;gt; a + b = c^2 &amp;lt;/math&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Renders as this equation:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;a + b = c^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Uploading images - Use the &amp;quot;upload file&amp;quot; link at the upper right of the page.  Do a Google Search to learn &amp;quot;What is the syntax for inserting an uploaded image file into the wikimedia page?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Projects for Psych 221 (2025-2026)==&lt;br /&gt;
# [[WandellFarrellLian|Sample Project]]&lt;br /&gt;
#* Brian Wandell, Joyce Farrell, David Cardinal, Hyunwoo Gu.&lt;br /&gt;
# [[Pokemon Color Transfer|Pokemon Color Transfer]]&lt;br /&gt;
#* Wenxiao Cai, Yifei Deng&lt;br /&gt;
# [[ISETHDR CV Experiment|ISETHDR CV Experiment]]&lt;br /&gt;
#* Gray Kim, Louise Schul&lt;br /&gt;
# [[ISETBIO Baseball Simulation Experiment|ISETBIO Baseball Simulation Experiment]]&lt;br /&gt;
#* Alex Lipman&lt;br /&gt;
# [[Evaluation Pipeline with GenAI-Assisted Algorithm Development for Virtual Image Denoising and Pixel-Defect Correction|Evaluation Pipeline with GenAI-Assisted Algorithm Development for Virtual Image Denoising and Pixel-Defect Correction]]&lt;br /&gt;
#* Stephanie Chang, Yulin Deng&lt;br /&gt;
# [[Simulation of Optical Response in Oral Tissue]]&lt;br /&gt;
#* Sylvia Chin, Lise Brisson&lt;br /&gt;
# [[Neural Network Implementation of S-CIELAB for Perceptual Color Metrics]]&lt;br /&gt;
#* Anna Yu, Shu An&lt;br /&gt;
#[[The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation]]&lt;br /&gt;
#* Dominique Schleider&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145961</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145961"/>
		<updated>2025-12-12T04:18:16Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Background */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. Designers often rely on yarn-dyed fabrics—where differently colored yarns are interlaced— as opposed to piece-dyed fabrics- where the whole piece is dyed after weaving- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. These effects stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023). Unlike additive (RGB) or subtractive (CMYK) color mixing, woven color is primarily an optical mixture, shaped by how warp and weft threads share the visible surface. The phenomenon is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In textiles, optical blending arises when warp and weft yarns of different colors interlace at a spatial scale near the eye’s integration limit. The colors mix perceptually rather than physically (Todd-Hooker, 2023).&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on a stimulus’s spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), the opponent-color pathways (red–green, blue–yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
These perceptual principles are essential for understanding woven color. Recent research has begun to address these limitations through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating measured reflectance spectra with physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
This project integrates tools from optical physics, spectral measurement, and digital modeling to evaluate optical blending in a set of woven samples (blue, yellow, BY1, BY2) measured under two lighting conditions. Through these analyses, the project connects physical measurement with perceptual constraints and textile design principles, contributing to ongoing efforts to predict woven color without relying on time-consuming physical prototyping.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In weaving, there are many ways of achieving different colors. One way is in the yarn itself, like using different dyes. Another way is with respect to the piece itself– “piece-dyed” fabric refers to a fabric that is already woven that is then dipped in a dye to achieve a color. The other type of fabric is yarn-dyed fabric: this refers to when different colored yarns are woven together in order to create new colors by means of optical mixing/blending. &lt;br /&gt;
&lt;br /&gt;
Optical blending occurs when the eye combines adjacent colors to create another color– a technique used in the likes of everything from pointillism paintings to pixels. In weaving, optical blending occurs when the eye combines the colors of adjacent threads. Again, there are different ways to achieve this like using multiple wefts. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
The warp and weft can make a whole host of different structures based on the way in which you weave them. &lt;br /&gt;
&lt;br /&gt;
[[File: Warp-weft-red-full-2048x731.jpg |thumb|500px| center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
For my project, I chose the following two weave structures which I will refer to as BY1 and BY2. &lt;br /&gt;
&lt;br /&gt;
[[File: Chosen structures (by1 and by2).png|thumb|500px| center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction—exactly the limitation your “diamond-node” modeling seeks to address. However, when using machines like the TC2, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship.&lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the renderable color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance—again aligning with your emphasis on structural control.&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using colorimetry, reflectance modeling, and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series, which report improved reproducibility when objective color measurements are incorporated into weave simulations. The combination of geometrical modeling and measured reflectance is now considered a promising approach, but open challenges remain in accurately capturing yarn cross-sections, shadowing, and inter-yarn scattering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optics, Vision, and Spatial Integration&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Modeling of Weave Appearance&#039;&#039;&#039;&lt;br /&gt;
For &#039;&#039;&#039;Part Three&#039;&#039;&#039;, my work fits into a growing body of recent research exploring how to best model woven structures digitally.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are plots of the reflectances of the BLUE, YELLOW, BY1, and BY2 samples, estimated by their corresponding callibration light for each lighting condition. &lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. &lt;br /&gt;
&lt;br /&gt;
Finally, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions by calculating the ΔE difference between BY1 and BY2. The plot from before was an estimation of the reflectance of BY1 and BY2 for the two lighting conditions using their own calibration plot. See here: &lt;br /&gt;
&lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
&lt;br /&gt;
To move forward in comparind BY1 and BY2, I chose a standard white light for each lighting condition, graphed here:&lt;br /&gt;
[[File:Standard_illuminants.png|thumb|500px|center|Standard light]]&lt;br /&gt;
&lt;br /&gt;
Here are the delta E values between BY1 and BY2 under each lighting condition.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ΔE Results&lt;br /&gt;
! Condition&lt;br /&gt;
! ΔE&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Tungsten&#039;&#039;&#039;&lt;br /&gt;
| 4.788&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Fluorescent&#039;&#039;&#039;&lt;br /&gt;
| 11.348&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Since the estimate was better under the tungsten light (lower delta E), I mapped both BY1 and BY2 estimated from the standard tungsten lighting.&lt;br /&gt;
[[File:BY1_BY2_refl_T.png|thumb|500px|center|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
The estimated reflectance spectra for BY1 and BY2 are very similar (with a delta E of less than five under tungsten lighting) so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating my digital simulations exploring the difference in pattern and spatial frequency. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles.&lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
All digitally created swatches are here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
This folder contains the source code that I used to calculate linearity, reflectance, delta e, etc as well as my files I used for the data: https://drive.google.com/drive/folders/15146-drF1l7gxlz2UVNwAF0nB3Z7D3ie?usp=sharing&lt;br /&gt;
&lt;br /&gt;
Here are my labels for the relevant files in the drive folder above:&lt;br /&gt;
&lt;br /&gt;
Tungsten radiances (measured from sample positions)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue.mat&lt;br /&gt;
&lt;br /&gt;
Yellow: spd-2025-11-26-tungsten-mustard-R01.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent radiances (measured from sample positions in room lighting)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tungsten calibration whites (white placed in front of each sample position)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-tungsten-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2-calib.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent calibration whites&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2-calib.mat&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145960</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145960"/>
		<updated>2025-12-12T04:16:16Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Background */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. Designers often rely on yarn-dyed fabrics—where differently colored yarns are interlaced— as opposed to piece-dyed fabrics- where the whole piece is dyed after weaving- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. These effects stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023). Unlike additive (RGB) or subtractive (CMYK) color mixing, woven color is primarily an optical mixture, shaped by how warp and weft threads share the visible surface. The phenomenon is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In textiles, optical blending arises when warp and weft yarns of different colors interlace at a spatial scale near the eye’s integration limit. The colors mix perceptually rather than physically (Todd-Hooker, 2023).&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on a stimulus’s spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), the opponent-color pathways (red–green, blue–yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
These perceptual principles are essential for understanding woven color. Recent research has begun to address these limitations through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating measured reflectance spectra with physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
This project integrates tools from optical physics, spectral measurement, and digital modeling to evaluate optical blending in a set of woven samples (blue, yellow, BY1, BY2) measured under two lighting conditions. Through these analyses, the project connects physical measurement with perceptual constraints and textile design principles, contributing to ongoing efforts to predict woven color without relying on time-consuming physical prototyping.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In weaving, there are many ways of achieving different colors. One way is in the yarn itself, like using different dyes. Another way is with respect to the piece itself– “piece-dyed” fabric refers to a fabric that is already woven that is then dipped in a dye to achieve a color. The other type of fabric is yarn-dyed fabric: this refers to when different colored yarns are woven together in order to create new colors by means of optical mixing/blending. &lt;br /&gt;
&lt;br /&gt;
Optical blending occurs when the eye combines adjacent colors to create another color– a technique used in the likes of everything from pointillism paintings to pixels. In weaving, optical blending occurs when the eye combines the colors of adjacent threads. Again, there are different ways to achieve this like using multiple wefts. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
The warp and weft can make a whole host of different structures based on the way in which you weave them. &lt;br /&gt;
&lt;br /&gt;
[[File: Warp-weft-red-full-2048x731.jpg |thumb|500px| center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction—exactly the limitation your “diamond-node” modeling seeks to address. However, when using machines like the TC2, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship.&lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the renderable color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance—again aligning with your emphasis on structural control.&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using colorimetry, reflectance modeling, and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series, which report improved reproducibility when objective color measurements are incorporated into weave simulations. The combination of geometrical modeling and measured reflectance is now considered a promising approach, but open challenges remain in accurately capturing yarn cross-sections, shadowing, and inter-yarn scattering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optics, Vision, and Spatial Integration&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Modeling of Weave Appearance&#039;&#039;&#039;&lt;br /&gt;
For &#039;&#039;&#039;Part Three&#039;&#039;&#039;, my work fits into a growing body of recent research exploring how to best model woven structures digitally.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are plots of the reflectances of the BLUE, YELLOW, BY1, and BY2 samples, estimated by their corresponding callibration light for each lighting condition. &lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. &lt;br /&gt;
&lt;br /&gt;
Finally, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions by calculating the ΔE difference between BY1 and BY2. The plot from before was an estimation of the reflectance of BY1 and BY2 for the two lighting conditions using their own calibration plot. See here: &lt;br /&gt;
&lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
&lt;br /&gt;
To move forward in comparind BY1 and BY2, I chose a standard white light for each lighting condition, graphed here:&lt;br /&gt;
[[File:Standard_illuminants.png|thumb|500px|center|Standard light]]&lt;br /&gt;
&lt;br /&gt;
Here are the delta E values between BY1 and BY2 under each lighting condition.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ΔE Results&lt;br /&gt;
! Condition&lt;br /&gt;
! ΔE&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Tungsten&#039;&#039;&#039;&lt;br /&gt;
| 4.788&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Fluorescent&#039;&#039;&#039;&lt;br /&gt;
| 11.348&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Since the estimate was better under the tungsten light (lower delta E), I mapped both BY1 and BY2 estimated from the standard tungsten lighting.&lt;br /&gt;
[[File:BY1_BY2_refl_T.png|thumb|500px|center|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
The estimated reflectance spectra for BY1 and BY2 are very similar (with a delta E of less than five under tungsten lighting) so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating my digital simulations exploring the difference in pattern and spatial frequency. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles.&lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
All digitally created swatches are here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
This folder contains the source code that I used to calculate linearity, reflectance, delta e, etc as well as my files I used for the data: https://drive.google.com/drive/folders/15146-drF1l7gxlz2UVNwAF0nB3Z7D3ie?usp=sharing&lt;br /&gt;
&lt;br /&gt;
Here are my labels for the relevant files in the drive folder above:&lt;br /&gt;
&lt;br /&gt;
Tungsten radiances (measured from sample positions)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue.mat&lt;br /&gt;
&lt;br /&gt;
Yellow: spd-2025-11-26-tungsten-mustard-R01.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent radiances (measured from sample positions in room lighting)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tungsten calibration whites (white placed in front of each sample position)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-tungsten-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2-calib.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent calibration whites&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2-calib.mat&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:Chosen_structures_(by1_and_by2).png&amp;diff=145959</id>
		<title>File:Chosen structures (by1 and by2).png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:Chosen_structures_(by1_and_by2).png&amp;diff=145959"/>
		<updated>2025-12-12T04:15:39Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145958</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145958"/>
		<updated>2025-12-12T02:26:04Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Appendix I */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. Designers often rely on yarn-dyed fabrics—where differently colored yarns are interlaced— as opposed to piece-dyed fabrics- where the whole piece is dyed after weaving- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. These effects stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023). Unlike additive (RGB) or subtractive (CMYK) color mixing, woven color is primarily an optical mixture, shaped by how warp and weft threads share the visible surface. The phenomenon is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In textiles, optical blending arises when warp and weft yarns of different colors interlace at a spatial scale near the eye’s integration limit. The colors mix perceptually rather than physically (Todd-Hooker, 2023).&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on a stimulus’s spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), the opponent-color pathways (red–green, blue–yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
These perceptual principles are essential for understanding woven color. Recent research has begun to address these limitations through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating measured reflectance spectra with physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
This project integrates tools from optical physics, spectral measurement, and digital modeling to evaluate optical blending in a set of woven samples (blue, yellow, BY1, BY2) measured under two lighting conditions. Through these analyses, the project connects physical measurement with perceptual constraints and textile design principles, contributing to ongoing efforts to predict woven color without relying on time-consuming physical prototyping.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In weaving, there are many ways of achieving different colors. One way is in the yarn itself, like using different dyes. Another way is with respect to the piece itself– “piece-dyed” fabric refers to a fabric that is already woven that is then dipped in a dye to achieve a color. The other type of fabric is yarn-dyed fabric: this refers to when different colored yarns are woven together in order to create new colors by means of optical mixing/blending. &lt;br /&gt;
&lt;br /&gt;
Optical blending occurs when the eye combines adjacent colors to create another color– a technique used in the likes of everything from pointillism paintings to pixels. In weaving, optical blending occurs when the eye combines the colors of adjacent threads. Again, there are different ways to achieve this like using multiple wefts. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
The warp and weft can make a whole host of different structures based on the way in which you weave them. &lt;br /&gt;
&lt;br /&gt;
[[File: Warp-weft-red-full-2048x731.jpg | thumb | center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction—exactly the limitation your “diamond-node” modeling seeks to address. However, when using machines like the TC2, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship.&lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the renderable color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance—again aligning with your emphasis on structural control.&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using colorimetry, reflectance modeling, and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series, which report improved reproducibility when objective color measurements are incorporated into weave simulations. The combination of geometrical modeling and measured reflectance is now considered a promising approach, but open challenges remain in accurately capturing yarn cross-sections, shadowing, and inter-yarn scattering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optics, Vision, and Spatial Integration&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Modeling of Weave Appearance&#039;&#039;&#039;&lt;br /&gt;
For &#039;&#039;&#039;Part Three&#039;&#039;&#039;, my work fits into a growing body of recent research exploring how to best model woven structures digitally.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are plots of the reflectances of the BLUE, YELLOW, BY1, and BY2 samples, estimated by their corresponding callibration light for each lighting condition. &lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. &lt;br /&gt;
&lt;br /&gt;
Finally, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions by calculating the ΔE difference between BY1 and BY2. The plot from before was an estimation of the reflectance of BY1 and BY2 for the two lighting conditions using their own calibration plot. See here: &lt;br /&gt;
&lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
&lt;br /&gt;
To move forward in comparind BY1 and BY2, I chose a standard white light for each lighting condition, graphed here:&lt;br /&gt;
[[File:Standard_illuminants.png|thumb|500px|center|Standard light]]&lt;br /&gt;
&lt;br /&gt;
Here are the delta E values between BY1 and BY2 under each lighting condition.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ΔE Results&lt;br /&gt;
! Condition&lt;br /&gt;
! ΔE&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Tungsten&#039;&#039;&#039;&lt;br /&gt;
| 4.788&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Fluorescent&#039;&#039;&#039;&lt;br /&gt;
| 11.348&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Since the estimate was better under the tungsten light (lower delta E), I mapped both BY1 and BY2 estimated from the standard tungsten lighting.&lt;br /&gt;
[[File:BY1_BY2_refl_T.png|thumb|500px|center|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
The estimated reflectance spectra for BY1 and BY2 are very similar (with a delta E of less than five under tungsten lighting) so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating my digital simulations exploring the difference in pattern and spatial frequency. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles.&lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
All digitally created swatches are here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
This folder contains the source code that I used to calculate linearity, reflectance, delta e, etc as well as my files I used for the data: https://drive.google.com/drive/folders/15146-drF1l7gxlz2UVNwAF0nB3Z7D3ie?usp=sharing&lt;br /&gt;
&lt;br /&gt;
Here are my labels for the relevant files in the drive folder above:&lt;br /&gt;
&lt;br /&gt;
Tungsten radiances (measured from sample positions)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue.mat&lt;br /&gt;
&lt;br /&gt;
Yellow: spd-2025-11-26-tungsten-mustard-R01.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent radiances (measured from sample positions in room lighting)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tungsten calibration whites (white placed in front of each sample position)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-tungsten-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2-calib.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent calibration whites&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2-calib.mat&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145957</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145957"/>
		<updated>2025-12-12T02:25:38Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Appendix I */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. Designers often rely on yarn-dyed fabrics—where differently colored yarns are interlaced— as opposed to piece-dyed fabrics- where the whole piece is dyed after weaving- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. These effects stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023). Unlike additive (RGB) or subtractive (CMYK) color mixing, woven color is primarily an optical mixture, shaped by how warp and weft threads share the visible surface. The phenomenon is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In textiles, optical blending arises when warp and weft yarns of different colors interlace at a spatial scale near the eye’s integration limit. The colors mix perceptually rather than physically (Todd-Hooker, 2023).&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on a stimulus’s spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), the opponent-color pathways (red–green, blue–yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
These perceptual principles are essential for understanding woven color. Recent research has begun to address these limitations through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating measured reflectance spectra with physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
This project integrates tools from optical physics, spectral measurement, and digital modeling to evaluate optical blending in a set of woven samples (blue, yellow, BY1, BY2) measured under two lighting conditions. Through these analyses, the project connects physical measurement with perceptual constraints and textile design principles, contributing to ongoing efforts to predict woven color without relying on time-consuming physical prototyping.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In weaving, there are many ways of achieving different colors. One way is in the yarn itself, like using different dyes. Another way is with respect to the piece itself– “piece-dyed” fabric refers to a fabric that is already woven that is then dipped in a dye to achieve a color. The other type of fabric is yarn-dyed fabric: this refers to when different colored yarns are woven together in order to create new colors by means of optical mixing/blending. &lt;br /&gt;
&lt;br /&gt;
Optical blending occurs when the eye combines adjacent colors to create another color– a technique used in the likes of everything from pointillism paintings to pixels. In weaving, optical blending occurs when the eye combines the colors of adjacent threads. Again, there are different ways to achieve this like using multiple wefts. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
The warp and weft can make a whole host of different structures based on the way in which you weave them. &lt;br /&gt;
&lt;br /&gt;
[[File: Warp-weft-red-full-2048x731.jpg | thumb | center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction—exactly the limitation your “diamond-node” modeling seeks to address. However, when using machines like the TC2, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship.&lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the renderable color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance—again aligning with your emphasis on structural control.&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using colorimetry, reflectance modeling, and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series, which report improved reproducibility when objective color measurements are incorporated into weave simulations. The combination of geometrical modeling and measured reflectance is now considered a promising approach, but open challenges remain in accurately capturing yarn cross-sections, shadowing, and inter-yarn scattering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optics, Vision, and Spatial Integration&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Modeling of Weave Appearance&#039;&#039;&#039;&lt;br /&gt;
For &#039;&#039;&#039;Part Three&#039;&#039;&#039;, my work fits into a growing body of recent research exploring how to best model woven structures digitally.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are plots of the reflectances of the BLUE, YELLOW, BY1, and BY2 samples, estimated by their corresponding callibration light for each lighting condition. &lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. &lt;br /&gt;
&lt;br /&gt;
Finally, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions by calculating the ΔE difference between BY1 and BY2. The plot from before was an estimation of the reflectance of BY1 and BY2 for the two lighting conditions using their own calibration plot. See here: &lt;br /&gt;
&lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
&lt;br /&gt;
To move forward in comparind BY1 and BY2, I chose a standard white light for each lighting condition, graphed here:&lt;br /&gt;
[[File:Standard_illuminants.png|thumb|500px|center|Standard light]]&lt;br /&gt;
&lt;br /&gt;
Here are the delta E values between BY1 and BY2 under each lighting condition.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ΔE Results&lt;br /&gt;
! Condition&lt;br /&gt;
! ΔE&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Tungsten&#039;&#039;&#039;&lt;br /&gt;
| 4.788&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Fluorescent&#039;&#039;&#039;&lt;br /&gt;
| 11.348&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Since the estimate was better under the tungsten light (lower delta E), I mapped both BY1 and BY2 estimated from the standard tungsten lighting.&lt;br /&gt;
[[File:BY1_BY2_refl_T.png|thumb|500px|center|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
The estimated reflectance spectra for BY1 and BY2 are very similar (with a delta E of less than five under tungsten lighting) so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating my digital simulations exploring the difference in pattern and spatial frequency. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles.&lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
Upload source code, test images, etc, and give a description of each link.  In some cases, your acquired data may be too large to store practically. In this case, use your judgement (or consult one of us) and only link the most relevant data. Be sure to describe the purpose of your code and to edit the code for clarity. The purpose of placing the code online is to allow others to verify your methods and to learn from your ideas.&lt;br /&gt;
&lt;br /&gt;
All digitally created swatches are here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;br /&gt;
This folder contains the source code that I used to calculate linearity, reflectance, delta e, etc as well as my files I used for the data: https://drive.google.com/drive/folders/15146-drF1l7gxlz2UVNwAF0nB3Z7D3ie?usp=sharing&lt;br /&gt;
&lt;br /&gt;
Here are my labels for the relevant files in the drive folder above:&lt;br /&gt;
&lt;br /&gt;
Tungsten radiances (measured from sample positions)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue.mat&lt;br /&gt;
&lt;br /&gt;
Yellow: spd-2025-11-26-tungsten-mustard-R01.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent radiances (measured from sample positions in room lighting)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tungsten calibration whites (white placed in front of each sample position)&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-tungsten-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2-calib.mat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fluorescent calibration whites&lt;br /&gt;
&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue-calib.mat&lt;br /&gt;
&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1-calib.mat&lt;br /&gt;
&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2-calib.mat&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145956</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145956"/>
		<updated>2025-12-12T02:25:02Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Appendix I */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. Designers often rely on yarn-dyed fabrics—where differently colored yarns are interlaced— as opposed to piece-dyed fabrics- where the whole piece is dyed after weaving- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. These effects stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023). Unlike additive (RGB) or subtractive (CMYK) color mixing, woven color is primarily an optical mixture, shaped by how warp and weft threads share the visible surface. The phenomenon is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In textiles, optical blending arises when warp and weft yarns of different colors interlace at a spatial scale near the eye’s integration limit. The colors mix perceptually rather than physically (Todd-Hooker, 2023).&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on a stimulus’s spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), the opponent-color pathways (red–green, blue–yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
These perceptual principles are essential for understanding woven color. Recent research has begun to address these limitations through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating measured reflectance spectra with physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
This project integrates tools from optical physics, spectral measurement, and digital modeling to evaluate optical blending in a set of woven samples (blue, yellow, BY1, BY2) measured under two lighting conditions. Through these analyses, the project connects physical measurement with perceptual constraints and textile design principles, contributing to ongoing efforts to predict woven color without relying on time-consuming physical prototyping.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In weaving, there are many ways of achieving different colors. One way is in the yarn itself, like using different dyes. Another way is with respect to the piece itself– “piece-dyed” fabric refers to a fabric that is already woven that is then dipped in a dye to achieve a color. The other type of fabric is yarn-dyed fabric: this refers to when different colored yarns are woven together in order to create new colors by means of optical mixing/blending. &lt;br /&gt;
&lt;br /&gt;
Optical blending occurs when the eye combines adjacent colors to create another color– a technique used in the likes of everything from pointillism paintings to pixels. In weaving, optical blending occurs when the eye combines the colors of adjacent threads. Again, there are different ways to achieve this like using multiple wefts. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
The warp and weft can make a whole host of different structures based on the way in which you weave them. &lt;br /&gt;
&lt;br /&gt;
[[File: Warp-weft-red-full-2048x731.jpg | thumb | center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction—exactly the limitation your “diamond-node” modeling seeks to address. However, when using machines like the TC2, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship.&lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the renderable color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance—again aligning with your emphasis on structural control.&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using colorimetry, reflectance modeling, and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series, which report improved reproducibility when objective color measurements are incorporated into weave simulations. The combination of geometrical modeling and measured reflectance is now considered a promising approach, but open challenges remain in accurately capturing yarn cross-sections, shadowing, and inter-yarn scattering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optics, Vision, and Spatial Integration&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Modeling of Weave Appearance&#039;&#039;&#039;&lt;br /&gt;
For &#039;&#039;&#039;Part Three&#039;&#039;&#039;, my work fits into a growing body of recent research exploring how to best model woven structures digitally.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are plots of the reflectances of the BLUE, YELLOW, BY1, and BY2 samples, estimated by their corresponding callibration light for each lighting condition. &lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. &lt;br /&gt;
&lt;br /&gt;
Finally, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions by calculating the ΔE difference between BY1 and BY2. The plot from before was an estimation of the reflectance of BY1 and BY2 for the two lighting conditions using their own calibration plot. See here: &lt;br /&gt;
&lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
&lt;br /&gt;
To move forward in comparind BY1 and BY2, I chose a standard white light for each lighting condition, graphed here:&lt;br /&gt;
[[File:Standard_illuminants.png|thumb|500px|center|Standard light]]&lt;br /&gt;
&lt;br /&gt;
Here are the delta E values between BY1 and BY2 under each lighting condition.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ΔE Results&lt;br /&gt;
! Condition&lt;br /&gt;
! ΔE&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Tungsten&#039;&#039;&#039;&lt;br /&gt;
| 4.788&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Fluorescent&#039;&#039;&#039;&lt;br /&gt;
| 11.348&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Since the estimate was better under the tungsten light (lower delta E), I mapped both BY1 and BY2 estimated from the standard tungsten lighting.&lt;br /&gt;
[[File:BY1_BY2_refl_T.png|thumb|500px|center|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
The estimated reflectance spectra for BY1 and BY2 are very similar (with a delta E of less than five under tungsten lighting) so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating my digital simulations exploring the difference in pattern and spatial frequency. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles.&lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
Upload source code, test images, etc, and give a description of each link.  In some cases, your acquired data may be too large to store practically. In this case, use your judgement (or consult one of us) and only link the most relevant data. Be sure to describe the purpose of your code and to edit the code for clarity. The purpose of placing the code online is to allow others to verify your methods and to learn from your ideas.&lt;br /&gt;
&lt;br /&gt;
All digitally created swatches are here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;br /&gt;
This folder contains the source code that I used to calculate linearity, reflectance, delta e, etc as well as my files I used for the data: https://drive.google.com/drive/folders/15146-drF1l7gxlz2UVNwAF0nB3Z7D3ie?usp=sharing&lt;br /&gt;
&lt;br /&gt;
Here are my labels for the relevant files in the drive folder above:&lt;br /&gt;
Tungsten radiances (measured from sample positions)&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue.mat&lt;br /&gt;
Yellow: spd-2025-11-26-tungsten-mustard-R01.mat&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1.mat&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2.mat&lt;br /&gt;
&lt;br /&gt;
Fluorescent radiances (measured from sample positions in room lighting)&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue.mat&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard.mat&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1.mat&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2.mat&lt;br /&gt;
&lt;br /&gt;
Tungsten calibration whites (white placed in front of each sample position)&lt;br /&gt;
Blue: spd-2025-11-26-tungsten-blue-calib.mat&lt;br /&gt;
Mustard: spd-2025-11-26-tungsten-mustard-calib.mat&lt;br /&gt;
BY1: spd-2025-11-26-tungsten-by1-calib.mat&lt;br /&gt;
BY2: spd-2025-11-26-tungsten-by2-calib.mat&lt;br /&gt;
&lt;br /&gt;
Fluorescent calibration whites&lt;br /&gt;
Blue: spd-2025-11-26-fluorescent-blue-calib.mat&lt;br /&gt;
Mustard: spd-2025-11-26-fluorescent-mustard-calib.mat&lt;br /&gt;
BY1: spd-2025-11-26-fluorescent-by1-calib.mat&lt;br /&gt;
BY2: spd-2025-11-26-fluorescent-by2-calib.mat&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145955</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145955"/>
		<updated>2025-12-11T21:55:10Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Conclusions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. Designers often rely on yarn-dyed fabrics—where differently colored yarns are interlaced— as opposed to piece-dyed fabrics- where the whole piece is dyed after weaving- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. These effects stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023). Unlike additive (RGB) or subtractive (CMYK) color mixing, woven color is primarily an optical mixture, shaped by how warp and weft threads share the visible surface. The phenomenon is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In textiles, optical blending arises when warp and weft yarns of different colors interlace at a spatial scale near the eye’s integration limit. The colors mix perceptually rather than physically (Todd-Hooker, 2023).&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on a stimulus’s spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), the opponent-color pathways (red–green, blue–yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
These perceptual principles are essential for understanding woven color. Recent research has begun to address these limitations through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating measured reflectance spectra with physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
This project integrates tools from optical physics, spectral measurement, and digital modeling to evaluate optical blending in a set of woven samples (blue, yellow, BY1, BY2) measured under two lighting conditions. Through these analyses, the project connects physical measurement with perceptual constraints and textile design principles, contributing to ongoing efforts to predict woven color without relying on time-consuming physical prototyping.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In weaving, there are many ways of achieving different colors. One way is in the yarn itself, like using different dyes. Another way is with respect to the piece itself– “piece-dyed” fabric refers to a fabric that is already woven that is then dipped in a dye to achieve a color. The other type of fabric is yarn-dyed fabric: this refers to when different colored yarns are woven together in order to create new colors by means of optical mixing/blending. &lt;br /&gt;
&lt;br /&gt;
Optical blending occurs when the eye combines adjacent colors to create another color– a technique used in the likes of everything from pointillism paintings to pixels. In weaving, optical blending occurs when the eye combines the colors of adjacent threads. Again, there are different ways to achieve this like using multiple wefts. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
The warp and weft can make a whole host of different structures based on the way in which you weave them. &lt;br /&gt;
&lt;br /&gt;
[[File: Warp-weft-red-full-2048x731.jpg | thumb | center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction—exactly the limitation your “diamond-node” modeling seeks to address. However, when using machines like the TC2, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship.&lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the renderable color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance—again aligning with your emphasis on structural control.&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using colorimetry, reflectance modeling, and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series, which report improved reproducibility when objective color measurements are incorporated into weave simulations. The combination of geometrical modeling and measured reflectance is now considered a promising approach, but open challenges remain in accurately capturing yarn cross-sections, shadowing, and inter-yarn scattering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optics, Vision, and Spatial Integration&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Modeling of Weave Appearance&#039;&#039;&#039;&lt;br /&gt;
For &#039;&#039;&#039;Part Three&#039;&#039;&#039;, my work fits into a growing body of recent research exploring how to best model woven structures digitally.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are plots of the reflectances of the BLUE, YELLOW, BY1, and BY2 samples, estimated by their corresponding callibration light for each lighting condition. &lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. &lt;br /&gt;
&lt;br /&gt;
Finally, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions by calculating the ΔE difference between BY1 and BY2. The plot from before was an estimation of the reflectance of BY1 and BY2 for the two lighting conditions using their own calibration plot. See here: &lt;br /&gt;
&lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
&lt;br /&gt;
To move forward in comparind BY1 and BY2, I chose a standard white light for each lighting condition, graphed here:&lt;br /&gt;
[[File:Standard_illuminants.png|thumb|500px|center|Standard light]]&lt;br /&gt;
&lt;br /&gt;
Here are the delta E values between BY1 and BY2 under each lighting condition.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ΔE Results&lt;br /&gt;
! Condition&lt;br /&gt;
! ΔE&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Tungsten&#039;&#039;&#039;&lt;br /&gt;
| 4.788&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Fluorescent&#039;&#039;&#039;&lt;br /&gt;
| 11.348&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Since the estimate was better under the tungsten light (lower delta E), I mapped both BY1 and BY2 estimated from the standard tungsten lighting.&lt;br /&gt;
[[File:BY1_BY2_refl_T.png|thumb|500px|center|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
The estimated reflectance spectra for BY1 and BY2 are very similar (with a delta E of less than five under tungsten lighting) so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating my digital simulations exploring the difference in pattern and spatial frequency. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles.&lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
Upload source code, test images, etc, and give a description of each link.  In some cases, your acquired data may be too large to store practically. In this case, use your judgement (or consult one of us) and only link the most relevant data. Be sure to describe the purpose of your code and to edit the code for clarity. The purpose of placing the code online is to allow others to verify your methods and to learn from your ideas.&lt;br /&gt;
&lt;br /&gt;
All digitally created swatches here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145954</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145954"/>
		<updated>2025-12-11T21:53:45Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. Designers often rely on yarn-dyed fabrics—where differently colored yarns are interlaced— as opposed to piece-dyed fabrics- where the whole piece is dyed after weaving- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. These effects stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023). Unlike additive (RGB) or subtractive (CMYK) color mixing, woven color is primarily an optical mixture, shaped by how warp and weft threads share the visible surface. The phenomenon is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In textiles, optical blending arises when warp and weft yarns of different colors interlace at a spatial scale near the eye’s integration limit. The colors mix perceptually rather than physically (Todd-Hooker, 2023).&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on a stimulus’s spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), the opponent-color pathways (red–green, blue–yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
These perceptual principles are essential for understanding woven color. Recent research has begun to address these limitations through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating measured reflectance spectra with physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
This project integrates tools from optical physics, spectral measurement, and digital modeling to evaluate optical blending in a set of woven samples (blue, yellow, BY1, BY2) measured under two lighting conditions. Through these analyses, the project connects physical measurement with perceptual constraints and textile design principles, contributing to ongoing efforts to predict woven color without relying on time-consuming physical prototyping.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In weaving, there are many ways of achieving different colors. One way is in the yarn itself, like using different dyes. Another way is with respect to the piece itself– “piece-dyed” fabric refers to a fabric that is already woven that is then dipped in a dye to achieve a color. The other type of fabric is yarn-dyed fabric: this refers to when different colored yarns are woven together in order to create new colors by means of optical mixing/blending. &lt;br /&gt;
&lt;br /&gt;
Optical blending occurs when the eye combines adjacent colors to create another color– a technique used in the likes of everything from pointillism paintings to pixels. In weaving, optical blending occurs when the eye combines the colors of adjacent threads. Again, there are different ways to achieve this like using multiple wefts. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
The warp and weft can make a whole host of different structures based on the way in which you weave them. &lt;br /&gt;
&lt;br /&gt;
[[File: Warp-weft-red-full-2048x731.jpg | thumb | center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction—exactly the limitation your “diamond-node” modeling seeks to address. However, when using machines like the TC2, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship.&lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the renderable color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance—again aligning with your emphasis on structural control.&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using colorimetry, reflectance modeling, and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series, which report improved reproducibility when objective color measurements are incorporated into weave simulations. The combination of geometrical modeling and measured reflectance is now considered a promising approach, but open challenges remain in accurately capturing yarn cross-sections, shadowing, and inter-yarn scattering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optics, Vision, and Spatial Integration&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Modeling of Weave Appearance&#039;&#039;&#039;&lt;br /&gt;
For &#039;&#039;&#039;Part Three&#039;&#039;&#039;, my work fits into a growing body of recent research exploring how to best model woven structures digitally.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are plots of the reflectances of the BLUE, YELLOW, BY1, and BY2 samples, estimated by their corresponding callibration light for each lighting condition. &lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. &lt;br /&gt;
&lt;br /&gt;
Finally, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions by calculating the ΔE difference between BY1 and BY2. The plot from before was an estimation of the reflectance of BY1 and BY2 for the two lighting conditions using their own calibration plot. See here: &lt;br /&gt;
&lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
&lt;br /&gt;
To move forward in comparind BY1 and BY2, I chose a standard white light for each lighting condition, graphed here:&lt;br /&gt;
[[File:Standard_illuminants.png|thumb|500px|center|Standard light]]&lt;br /&gt;
&lt;br /&gt;
Here are the delta E values between BY1 and BY2 under each lighting condition.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ΔE Results&lt;br /&gt;
! Condition&lt;br /&gt;
! ΔE&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Tungsten&#039;&#039;&#039;&lt;br /&gt;
| 4.788&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Fluorescent&#039;&#039;&#039;&lt;br /&gt;
| 11.348&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Since the estimate was better under the tungsten light (lower delta E), I mapped both BY1 and BY2 estimated from the standard tungsten lighting.&lt;br /&gt;
[[File:BY1_BY2_refl_T.png|thumb|500px|center|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
As warp and weft alternations become finer, the visual system integrates the color patches into a single mixture dominated by the luminance contrast and the relative cone absorptions averaged across space. The blue–yellow mixtures in my samples (BY1 and BY2) behave like Wandell’s squarewaves: coarse alternations remain visibly blue and yellow, while finer or more visually “filtered” patterns blend into a single hue determined by spatial frequency and luminance balance. Past work in color science has studied perceptual integration limits, showing that as spatial elements become small relative to the eye’s resolution, the luminance system dominates and colors visually average (King-Smith &amp;amp; Carden, 1976).&lt;br /&gt;
&lt;br /&gt;
Delta E &amp;lt; 5 between BY1 and BY2 show that the actual color information our eye receives between these two mixtures is quite similar. Therefore, it is the pattern and resulting spatial frequency that causes the difference in optical color blending. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles.&lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
Upload source code, test images, etc, and give a description of each link.  In some cases, your acquired data may be too large to store practically. In this case, use your judgement (or consult one of us) and only link the most relevant data. Be sure to describe the purpose of your code and to edit the code for clarity. The purpose of placing the code online is to allow others to verify your methods and to learn from your ideas.&lt;br /&gt;
&lt;br /&gt;
All digitally created swatches here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145953</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145953"/>
		<updated>2025-12-11T21:47:56Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. Designers often rely on yarn-dyed fabrics—where differently colored yarns are interlaced— as opposed to piece-dyed fabrics- where the whole piece is dyed after weaving- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. These effects stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023). Unlike additive (RGB) or subtractive (CMYK) color mixing, woven color is primarily an optical mixture, shaped by how warp and weft threads share the visible surface. The phenomenon is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In textiles, optical blending arises when warp and weft yarns of different colors interlace at a spatial scale near the eye’s integration limit. The colors mix perceptually rather than physically (Todd-Hooker, 2023).&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on a stimulus’s spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), the opponent-color pathways (red–green, blue–yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
These perceptual principles are essential for understanding woven color. Recent research has begun to address these limitations through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating measured reflectance spectra with physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
This project integrates tools from optical physics, spectral measurement, and digital modeling to evaluate optical blending in a set of woven samples (blue, yellow, BY1, BY2) measured under two lighting conditions. Through these analyses, the project connects physical measurement with perceptual constraints and textile design principles, contributing to ongoing efforts to predict woven color without relying on time-consuming physical prototyping.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In weaving, there are many ways of achieving different colors. One way is in the yarn itself, like using different dyes. Another way is with respect to the piece itself– “piece-dyed” fabric refers to a fabric that is already woven that is then dipped in a dye to achieve a color. The other type of fabric is yarn-dyed fabric: this refers to when different colored yarns are woven together in order to create new colors by means of optical mixing/blending. &lt;br /&gt;
&lt;br /&gt;
Optical blending occurs when the eye combines adjacent colors to create another color– a technique used in the likes of everything from pointillism paintings to pixels. In weaving, optical blending occurs when the eye combines the colors of adjacent threads. Again, there are different ways to achieve this like using multiple wefts. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
The warp and weft can make a whole host of different structures based on the way in which you weave them. &lt;br /&gt;
&lt;br /&gt;
[[File: Warp-weft-red-full-2048x731.jpg | thumb | center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction—exactly the limitation your “diamond-node” modeling seeks to address. However, when using machines like the TC2, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship.&lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the renderable color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance—again aligning with your emphasis on structural control.&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using colorimetry, reflectance modeling, and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series, which report improved reproducibility when objective color measurements are incorporated into weave simulations. The combination of geometrical modeling and measured reflectance is now considered a promising approach, but open challenges remain in accurately capturing yarn cross-sections, shadowing, and inter-yarn scattering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optics, Vision, and Spatial Integration&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Modeling of Weave Appearance&#039;&#039;&#039;&lt;br /&gt;
For &#039;&#039;&#039;Part Three&#039;&#039;&#039;, my work fits into a growing body of recent research exploring how to best model woven structures digitally.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are plots of the reflectances of the BLUE, YELLOW, BY1, and BY2 samples, estimated by their corresponding callibration light for each lighting condition. &lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. &lt;br /&gt;
&lt;br /&gt;
Finally, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions by calculating the ΔE difference between BY1 and BY2. &lt;br /&gt;
&lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
The recovered reflectance spectra for BY1 and BY2 are very similar—especially under tungsten—so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating the next part exploring the difference in pattern. &lt;br /&gt;
&lt;br /&gt;
To compare BY1 and BY2, I chose a standard white light for each lighting condition, graphed here:&lt;br /&gt;
[[File:Standard_illuminants.png|thumb|500px|center|Standard light]]&lt;br /&gt;
&lt;br /&gt;
Then, I mapped both BY1 and BY2 estimated from tungsten lighting.&lt;br /&gt;
[[File:BY1_BY2_refl_T.png|thumb|500px|center|]]&lt;br /&gt;
&lt;br /&gt;
Here are the delta E values between BY1 and BY2 under each lighting condition.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ΔE Results&lt;br /&gt;
! Condition&lt;br /&gt;
! ΔE&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Tungsten&#039;&#039;&#039;&lt;br /&gt;
| 4.788&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Fluorescent&#039;&#039;&#039;&lt;br /&gt;
| 11.348&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
As warp and weft alternations become finer, the visual system integrates the color patches into a single mixture dominated by the luminance contrast and the relative cone absorptions averaged across space. The blue–yellow mixtures in my samples (BY1 and BY2) behave like Wandell’s squarewaves: coarse alternations remain visibly blue and yellow, while finer or more visually “filtered” patterns blend into a single hue determined by spatial frequency and luminance balance. Past work in color science has studied perceptual integration limits, showing that as spatial elements become small relative to the eye’s resolution, the luminance system dominates and colors visually average (King-Smith &amp;amp; Carden, 1976).&lt;br /&gt;
&lt;br /&gt;
Delta E &amp;lt; 5 between BY1 and BY2 show that the actual color information our eye receives between these two mixtures is quite similar. Therefore, it is the pattern and resulting spatial frequency that causes the difference in optical color blending. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles.&lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
Upload source code, test images, etc, and give a description of each link.  In some cases, your acquired data may be too large to store practically. In this case, use your judgement (or consult one of us) and only link the most relevant data. Be sure to describe the purpose of your code and to edit the code for clarity. The purpose of placing the code online is to allow others to verify your methods and to learn from your ideas.&lt;br /&gt;
&lt;br /&gt;
All digitally created swatches here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145952</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145952"/>
		<updated>2025-12-11T21:43:00Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. Designers often rely on yarn-dyed fabrics—where differently colored yarns are interlaced— as opposed to piece-dyed fabrics- where the whole piece is dyed after weaving- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. These effects stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023). Unlike additive (RGB) or subtractive (CMYK) color mixing, woven color is primarily an optical mixture, shaped by how warp and weft threads share the visible surface. The phenomenon is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In textiles, optical blending arises when warp and weft yarns of different colors interlace at a spatial scale near the eye’s integration limit. The colors mix perceptually rather than physically (Todd-Hooker, 2023).&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on a stimulus’s spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), the opponent-color pathways (red–green, blue–yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
These perceptual principles are essential for understanding woven color. Recent research has begun to address these limitations through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating measured reflectance spectra with physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
This project integrates tools from optical physics, spectral measurement, and digital modeling to evaluate optical blending in a set of woven samples (blue, yellow, BY1, BY2) measured under two lighting conditions. Through these analyses, the project connects physical measurement with perceptual constraints and textile design principles, contributing to ongoing efforts to predict woven color without relying on time-consuming physical prototyping.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In weaving, there are many ways of achieving different colors. One way is in the yarn itself, like using different dyes. Another way is with respect to the piece itself– “piece-dyed” fabric refers to a fabric that is already woven that is then dipped in a dye to achieve a color. The other type of fabric is yarn-dyed fabric: this refers to when different colored yarns are woven together in order to create new colors by means of optical mixing/blending. &lt;br /&gt;
&lt;br /&gt;
Optical blending occurs when the eye combines adjacent colors to create another color– a technique used in the likes of everything from pointillism paintings to pixels. In weaving, optical blending occurs when the eye combines the colors of adjacent threads. Again, there are different ways to achieve this like using multiple wefts. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
The warp and weft can make a whole host of different structures based on the way in which you weave them. &lt;br /&gt;
&lt;br /&gt;
[[File: Warp-weft-red-full-2048x731.jpg | thumb | center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction—exactly the limitation your “diamond-node” modeling seeks to address. However, when using machines like the TC2, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship.&lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the renderable color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance—again aligning with your emphasis on structural control.&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using colorimetry, reflectance modeling, and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series, which report improved reproducibility when objective color measurements are incorporated into weave simulations. The combination of geometrical modeling and measured reflectance is now considered a promising approach, but open challenges remain in accurately capturing yarn cross-sections, shadowing, and inter-yarn scattering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optics, Vision, and Spatial Integration&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Modeling of Weave Appearance&#039;&#039;&#039;&lt;br /&gt;
For &#039;&#039;&#039;Part Three&#039;&#039;&#039;, my work fits into a growing body of recent research exploring how to best model woven structures digitally.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;amp;Delta;E Calculation Between BY1 and BY2 &#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
These are the results of calculating the reflectance of each sample for both lighting conditions:&lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. &lt;br /&gt;
&lt;br /&gt;
Finally, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions. &lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
The recovered reflectance spectra for BY1 and BY2 are very similar—especially under tungsten—so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating the next part exploring the difference in pattern. &lt;br /&gt;
&lt;br /&gt;
To compare BY1 and BY2, I chose a standard white light for each lighting condition, graphed here:&lt;br /&gt;
[[File:Standard_illuminants.png|thumb|500px|center|Standard light]]&lt;br /&gt;
&lt;br /&gt;
Then, I mapped both BY1 and BY2 estimated from tungsten lighting.&lt;br /&gt;
[[File:BY1_BY2_refl_T.png|thumb|500px|center|]]&lt;br /&gt;
&lt;br /&gt;
Here are the delta E values between BY1 and BY2 under each lighting condition.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ΔE Results&lt;br /&gt;
! Condition&lt;br /&gt;
! ΔE&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Tungsten&#039;&#039;&#039;&lt;br /&gt;
| 4.788&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Fluorescent&#039;&#039;&#039;&lt;br /&gt;
| 11.348&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
As warp and weft alternations become finer, the visual system integrates the color patches into a single mixture dominated by the luminance contrast and the relative cone absorptions averaged across space. The blue–yellow mixtures in my samples (BY1 and BY2) behave like Wandell’s squarewaves: coarse alternations remain visibly blue and yellow, while finer or more visually “filtered” patterns blend into a single hue determined by spatial frequency and luminance balance. Past work in color science has studied perceptual integration limits, showing that as spatial elements become small relative to the eye’s resolution, the luminance system dominates and colors visually average (King-Smith &amp;amp; Carden, 1976).&lt;br /&gt;
&lt;br /&gt;
Delta E &amp;lt; 5 between BY1 and BY2 show that the actual color information our eye receives between these two mixtures is quite similar. Therefore, it is the pattern and resulting spatial frequency that causes the difference in optical color blending. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles.&lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
Upload source code, test images, etc, and give a description of each link.  In some cases, your acquired data may be too large to store practically. In this case, use your judgement (or consult one of us) and only link the most relevant data. Be sure to describe the purpose of your code and to edit the code for clarity. The purpose of placing the code online is to allow others to verify your methods and to learn from your ideas.&lt;br /&gt;
&lt;br /&gt;
All digitally created swatches here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:BY1_BY2_refl_T.png&amp;diff=145951</id>
		<title>File:BY1 BY2 refl T.png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:BY1_BY2_refl_T.png&amp;diff=145951"/>
		<updated>2025-12-11T21:40:54Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:BY1_refl_T_vs_F.png&amp;diff=145950</id>
		<title>File:BY1 refl T vs F.png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:BY1_refl_T_vs_F.png&amp;diff=145950"/>
		<updated>2025-12-11T21:39:42Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:Standard_illuminants.png&amp;diff=145949</id>
		<title>File:Standard illuminants.png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:Standard_illuminants.png&amp;diff=145949"/>
		<updated>2025-12-11T21:38:22Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145948</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145948"/>
		<updated>2025-12-11T21:36:12Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. Designers often rely on yarn-dyed fabrics—where differently colored yarns are interlaced— as opposed to piece-dyed fabrics- where the whole piece is dyed after weaving- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. These effects stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023). Unlike additive (RGB) or subtractive (CMYK) color mixing, woven color is primarily an optical mixture, shaped by how warp and weft threads share the visible surface. The phenomenon is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In textiles, optical blending arises when warp and weft yarns of different colors interlace at a spatial scale near the eye’s integration limit. The colors mix perceptually rather than physically (Todd-Hooker, 2023).&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on a stimulus’s spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), the opponent-color pathways (red–green, blue–yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
These perceptual principles are essential for understanding woven color. Recent research has begun to address these limitations through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating measured reflectance spectra with physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
This project integrates tools from optical physics, spectral measurement, and digital modeling to evaluate optical blending in a set of woven samples (blue, yellow, BY1, BY2) measured under two lighting conditions. Through these analyses, the project connects physical measurement with perceptual constraints and textile design principles, contributing to ongoing efforts to predict woven color without relying on time-consuming physical prototyping.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In weaving, there are many ways of achieving different colors. One way is in the yarn itself, like using different dyes. Another way is with respect to the piece itself– “piece-dyed” fabric refers to a fabric that is already woven that is then dipped in a dye to achieve a color. The other type of fabric is yarn-dyed fabric: this refers to when different colored yarns are woven together in order to create new colors by means of optical mixing/blending. &lt;br /&gt;
&lt;br /&gt;
Optical blending occurs when the eye combines adjacent colors to create another color– a technique used in the likes of everything from pointillism paintings to pixels. In weaving, optical blending occurs when the eye combines the colors of adjacent threads. Again, there are different ways to achieve this like using multiple wefts. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
The warp and weft can make a whole host of different structures based on the way in which you weave them. &lt;br /&gt;
&lt;br /&gt;
[[File: Warp-weft-red-full-2048x731.jpg | thumb | center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction—exactly the limitation your “diamond-node” modeling seeks to address. However, when using machines like the TC2, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship.&lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the renderable color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance—again aligning with your emphasis on structural control.&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using colorimetry, reflectance modeling, and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series, which report improved reproducibility when objective color measurements are incorporated into weave simulations. The combination of geometrical modeling and measured reflectance is now considered a promising approach, but open challenges remain in accurately capturing yarn cross-sections, shadowing, and inter-yarn scattering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optics, Vision, and Spatial Integration&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Modeling of Weave Appearance&#039;&#039;&#039;&lt;br /&gt;
For &#039;&#039;&#039;Part Three&#039;&#039;&#039;, my work fits into a growing body of recent research exploring how to best model woven structures digitally.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;amp;Delta;E Calculation Between BY1 and BY2 &#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
These are the results of calculating the reflectance of each sample for both lighting conditions:&lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. &lt;br /&gt;
&lt;br /&gt;
Finally, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions. &lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
The recovered reflectance spectra for BY1 and BY2 are very similar—especially under tungsten—so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating the next part exploring the difference in pattern. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ΔE Results&lt;br /&gt;
! Condition&lt;br /&gt;
! ΔE&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Tungsten&#039;&#039;&#039;&lt;br /&gt;
| 4.788&lt;br /&gt;
|-&lt;br /&gt;
| BY1 vs BY2 under &#039;&#039;&#039;Standard Fluorescent&#039;&#039;&#039;&lt;br /&gt;
| 11.348&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
As warp and weft alternations become finer, the visual system integrates the color patches into a single mixture dominated by the luminance contrast and the relative cone absorptions averaged across space. The blue–yellow mixtures in my samples (BY1 and BY2) behave like Wandell’s squarewaves: coarse alternations remain visibly blue and yellow, while finer or more visually “filtered” patterns blend into a single hue determined by spatial frequency and luminance balance. Past work in color science has studied perceptual integration limits, showing that as spatial elements become small relative to the eye’s resolution, the luminance system dominates and colors visually average (King-Smith &amp;amp; Carden, 1976).&lt;br /&gt;
&lt;br /&gt;
Delta E &amp;lt; 5 between BY1 and BY2 show that the actual color information our eye receives between these two mixtures is quite similar. Therefore, it is the pattern and resulting spatial frequency that causes the difference in optical color blending. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles.&lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
Upload source code, test images, etc, and give a description of each link.  In some cases, your acquired data may be too large to store practically. In this case, use your judgement (or consult one of us) and only link the most relevant data. Be sure to describe the purpose of your code and to edit the code for clarity. The purpose of placing the code online is to allow others to verify your methods and to learn from your ideas.&lt;br /&gt;
&lt;br /&gt;
All digitally created swatches here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145947</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145947"/>
		<updated>2025-12-11T21:22:34Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Conclusions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. Designers often rely on yarn-dyed fabrics—where differently colored yarns are interlaced— as opposed to piece-dyed fabrics- where the whole piece is dyed after weaving- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. These effects stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023). Unlike additive (RGB) or subtractive (CMYK) color mixing, woven color is primarily an optical mixture, shaped by how warp and weft threads share the visible surface. The phenomenon is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In textiles, optical blending arises when warp and weft yarns of different colors interlace at a spatial scale near the eye’s integration limit. The colors mix perceptually rather than physically (Todd-Hooker, 2023).&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on a stimulus’s spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), the opponent-color pathways (red–green, blue–yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
These perceptual principles are essential for understanding woven color. Recent research has begun to address these limitations through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating measured reflectance spectra with physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
This project integrates tools from optical physics, spectral measurement, and digital modeling to evaluate optical blending in a set of woven samples (blue, yellow, BY1, BY2) measured under two lighting conditions. Through these analyses, the project connects physical measurement with perceptual constraints and textile design principles, contributing to ongoing efforts to predict woven color without relying on time-consuming physical prototyping.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In weaving, there are many ways of achieving different colors. One way is in the yarn itself, like using different dyes. Another way is with respect to the piece itself– “piece-dyed” fabric refers to a fabric that is already woven that is then dipped in a dye to achieve a color. The other type of fabric is yarn-dyed fabric: this refers to when different colored yarns are woven together in order to create new colors by means of optical mixing/blending. &lt;br /&gt;
&lt;br /&gt;
Optical blending occurs when the eye combines adjacent colors to create another color– a technique used in the likes of everything from pointillism paintings to pixels. In weaving, optical blending occurs when the eye combines the colors of adjacent threads. Again, there are different ways to achieve this like using multiple wefts. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
The warp and weft can make a whole host of different structures based on the way in which you weave them. &lt;br /&gt;
&lt;br /&gt;
[[File: Warp-weft-red-full-2048x731.jpg | thumb | center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction—exactly the limitation your “diamond-node” modeling seeks to address. However, when using machines like the TC2, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship.&lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the renderable color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance—again aligning with your emphasis on structural control.&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using colorimetry, reflectance modeling, and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series, which report improved reproducibility when objective color measurements are incorporated into weave simulations. The combination of geometrical modeling and measured reflectance is now considered a promising approach, but open challenges remain in accurately capturing yarn cross-sections, shadowing, and inter-yarn scattering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optics, Vision, and Spatial Integration&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Modeling of Weave Appearance&#039;&#039;&#039;&lt;br /&gt;
For &#039;&#039;&#039;Part Three&#039;&#039;&#039;, my work fits into a growing body of recent research exploring how to best model woven structures digitally.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;amp;Delta;E Calculation Between BY1 and BY2 &#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
These are the results of calculating the reflectance of each sample for both lighting conditions:&lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. &lt;br /&gt;
&lt;br /&gt;
Finally, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions. &lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
The recovered reflectance spectra for BY1 and BY2 are very similar—especially under tungsten—so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating the next part exploring the difference in pattern. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
As warp and weft alternations become finer, the visual system integrates the color patches into a single mixture dominated by the luminance contrast and the relative cone absorptions averaged across space. The blue–yellow mixtures in my samples (BY1 and BY2) behave like Wandell’s squarewaves: coarse alternations remain visibly blue and yellow, while finer or more visually “filtered” patterns blend into a single hue determined by spatial frequency and luminance balance. Past work in color science has studied perceptual integration limits, showing that as spatial elements become small relative to the eye’s resolution, the luminance system dominates and colors visually average (King-Smith &amp;amp; Carden, 1976).&lt;br /&gt;
&lt;br /&gt;
Delta E &amp;lt; 5 between BY1 and BY2 show that the actual color information our eye receives between these two mixtures is quite similar. Therefore, it is the pattern and resulting spatial frequency that causes the difference in optical color blending. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles.&lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
Upload source code, test images, etc, and give a description of each link.  In some cases, your acquired data may be too large to store practically. In this case, use your judgement (or consult one of us) and only link the most relevant data. Be sure to describe the purpose of your code and to edit the code for clarity. The purpose of placing the code online is to allow others to verify your methods and to learn from your ideas.&lt;br /&gt;
&lt;br /&gt;
All digitally created swatches here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145946</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145946"/>
		<updated>2025-12-11T20:56:21Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Appendix I */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. Designers often rely on yarn-dyed fabrics—where differently colored yarns are interlaced— as opposed to piece-dyed fabrics- where the whole piece is dyed after weaving- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. These effects stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023). Unlike additive (RGB) or subtractive (CMYK) color mixing, woven color is primarily an optical mixture, shaped by how warp and weft threads share the visible surface. The phenomenon is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In textiles, optical blending arises when warp and weft yarns of different colors interlace at a spatial scale near the eye’s integration limit. The colors mix perceptually rather than physically (Todd-Hooker, 2023).&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on a stimulus’s spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), the opponent-color pathways (red–green, blue–yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
These perceptual principles are essential for understanding woven color. Recent research has begun to address these limitations through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating measured reflectance spectra with physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
This project integrates tools from optical physics, spectral measurement, and digital modeling to evaluate optical blending in a set of woven samples (blue, yellow, BY1, BY2) measured under two lighting conditions. Through these analyses, the project connects physical measurement with perceptual constraints and textile design principles, contributing to ongoing efforts to predict woven color without relying on time-consuming physical prototyping.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In weaving, there are many ways of achieving different colors. One way is in the yarn itself, like using different dyes. Another way is with respect to the piece itself– “piece-dyed” fabric refers to a fabric that is already woven that is then dipped in a dye to achieve a color. The other type of fabric is yarn-dyed fabric: this refers to when different colored yarns are woven together in order to create new colors by means of optical mixing/blending. &lt;br /&gt;
&lt;br /&gt;
Optical blending occurs when the eye combines adjacent colors to create another color– a technique used in the likes of everything from pointillism paintings to pixels. In weaving, optical blending occurs when the eye combines the colors of adjacent threads. Again, there are different ways to achieve this like using multiple wefts. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
The warp and weft can make a whole host of different structures based on the way in which you weave them. &lt;br /&gt;
&lt;br /&gt;
[[File: Warp-weft-red-full-2048x731.jpg | thumb | center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction—exactly the limitation your “diamond-node” modeling seeks to address. However, when using machines like the TC2, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship.&lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the renderable color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance—again aligning with your emphasis on structural control.&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using colorimetry, reflectance modeling, and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series, which report improved reproducibility when objective color measurements are incorporated into weave simulations. The combination of geometrical modeling and measured reflectance is now considered a promising approach, but open challenges remain in accurately capturing yarn cross-sections, shadowing, and inter-yarn scattering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optics, Vision, and Spatial Integration&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Modeling of Weave Appearance&#039;&#039;&#039;&lt;br /&gt;
For &#039;&#039;&#039;Part Three&#039;&#039;&#039;, my work fits into a growing body of recent research exploring how to best model woven structures digitally.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;amp;Delta;E Calculation Between BY1 and BY2 &#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
These are the results of calculating the reflectance of each sample for both lighting conditions:&lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. &lt;br /&gt;
&lt;br /&gt;
Finally, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions. &lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
The recovered reflectance spectra for BY1 and BY2 are very similar—especially under tungsten—so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating the next part exploring the difference in pattern. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
As warp and weft alternations become finer, the visual system integrates the color patches into a single mixture dominated by the luminance contrast and the relative cone absorptions averaged across space. The blue–yellow mixtures in my samples (BY1 and BY2) behave like Wandell’s squarewaves: coarse alternations remain visibly blue and yellow, while finer or more visually “filtered” patterns blend into a single hue determined by spatial frequency and luminance balance. Past work in color science has studied perceptual integration limits, showing that as spatial elements become small relative to the eye’s resolution, the luminance system dominates and colors visually average (King-Smith &amp;amp; Carden, 1976).&lt;br /&gt;
&lt;br /&gt;
The low delta e between BY1 and BY2 show that the actual color information our eye receives between these two mixtures is quite similar. Therefore, it is the pattern and resulting spatial frequency that causes the difference in optical color blending. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles.&lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
Upload source code, test images, etc, and give a description of each link.  In some cases, your acquired data may be too large to store practically. In this case, use your judgement (or consult one of us) and only link the most relevant data. Be sure to describe the purpose of your code and to edit the code for clarity. The purpose of placing the code online is to allow others to verify your methods and to learn from your ideas.&lt;br /&gt;
&lt;br /&gt;
All digitally created swatches here: https://docs.google.com/spreadsheets/d/1UGzLjW2LE36Cf1dMbcnvPo3hHoB4vJ5a8YZUJqkNjvk/edit?usp=sharing&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145945</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145945"/>
		<updated>2025-12-11T20:43:50Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Conclusions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. Designers often rely on yarn-dyed fabrics—where differently colored yarns are interlaced— as opposed to piece-dyed fabrics- where the whole piece is dyed after weaving- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. These effects stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023). Unlike additive (RGB) or subtractive (CMYK) color mixing, woven color is primarily an optical mixture, shaped by how warp and weft threads share the visible surface. The phenomenon is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In textiles, optical blending arises when warp and weft yarns of different colors interlace at a spatial scale near the eye’s integration limit. The colors mix perceptually rather than physically (Todd-Hooker, 2023).&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on a stimulus’s spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), the opponent-color pathways (red–green, blue–yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
These perceptual principles are essential for understanding woven color. Recent research has begun to address these limitations through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating measured reflectance spectra with physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
This project integrates tools from optical physics, spectral measurement, and digital modeling to evaluate optical blending in a set of woven samples (blue, yellow, BY1, BY2) measured under two lighting conditions. Through these analyses, the project connects physical measurement with perceptual constraints and textile design principles, contributing to ongoing efforts to predict woven color without relying on time-consuming physical prototyping.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In weaving, there are many ways of achieving different colors. One way is in the yarn itself, like using different dyes. Another way is with respect to the piece itself– “piece-dyed” fabric refers to a fabric that is already woven that is then dipped in a dye to achieve a color. The other type of fabric is yarn-dyed fabric: this refers to when different colored yarns are woven together in order to create new colors by means of optical mixing/blending. &lt;br /&gt;
&lt;br /&gt;
Optical blending occurs when the eye combines adjacent colors to create another color– a technique used in the likes of everything from pointillism paintings to pixels. In weaving, optical blending occurs when the eye combines the colors of adjacent threads. Again, there are different ways to achieve this like using multiple wefts. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
The warp and weft can make a whole host of different structures based on the way in which you weave them. &lt;br /&gt;
&lt;br /&gt;
[[File: Warp-weft-red-full-2048x731.jpg | thumb | center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction—exactly the limitation your “diamond-node” modeling seeks to address. However, when using machines like the TC2, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship.&lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the renderable color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance—again aligning with your emphasis on structural control.&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using colorimetry, reflectance modeling, and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series, which report improved reproducibility when objective color measurements are incorporated into weave simulations. The combination of geometrical modeling and measured reflectance is now considered a promising approach, but open challenges remain in accurately capturing yarn cross-sections, shadowing, and inter-yarn scattering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optics, Vision, and Spatial Integration&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Modeling of Weave Appearance&#039;&#039;&#039;&lt;br /&gt;
For &#039;&#039;&#039;Part Three&#039;&#039;&#039;, my work fits into a growing body of recent research exploring how to best model woven structures digitally.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;amp;Delta;E Calculation Between BY1 and BY2 &#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
These are the results of calculating the reflectance of each sample for both lighting conditions:&lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. &lt;br /&gt;
&lt;br /&gt;
Finally, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions. &lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
The recovered reflectance spectra for BY1 and BY2 are very similar—especially under tungsten—so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating the next part exploring the difference in pattern. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
As warp and weft alternations become finer, the visual system integrates the color patches into a single mixture dominated by the luminance contrast and the relative cone absorptions averaged across space. The blue–yellow mixtures in my samples (BY1 and BY2) behave like Wandell’s squarewaves: coarse alternations remain visibly blue and yellow, while finer or more visually “filtered” patterns blend into a single hue determined by spatial frequency and luminance balance. Past work in color science has studied perceptual integration limits, showing that as spatial elements become small relative to the eye’s resolution, the luminance system dominates and colors visually average (King-Smith &amp;amp; Carden, 1976).&lt;br /&gt;
&lt;br /&gt;
The low delta e between BY1 and BY2 show that the actual color information our eye receives between these two mixtures is quite similar. Therefore, it is the pattern and resulting spatial frequency that causes the difference in optical color blending. &lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]] &lt;br /&gt;
&lt;br /&gt;
Through my exploration of the different ways to manipulate pattern, there are a number of interesting conclusions. First, a simple model of the sample by means of exposing equal warp and weft did not reflect the blend of the compressed samples in real life that showed practically no warp. By reducing the warp in proportion to the weft, you increase the spatial frequency of the yellow and blue horizontally for BY1 because before in any single column, there was not both blue and yellow. Thus, this is why we achieve a better optical mixture for a warp reduction to 1/16 because this actually changes the pattern and resulting spatial frequency. However, this does not reflect the difference in optical mixture between BY1 and BY2 because as you can see at a very low warp exposure, the two samples (BY1 and BY2) look almost the same at a much smaller viewing distance relative to the distance you would need for the actual samples. Further exploration found a different way of reducing the warp while maintaining the original demonstrated spatial frequencies. By changing the node to a diamond as opposed to a rectilinear block, this mimicked the actual observed properties of the yarn that compressed into a diamond shape. Tessellating this diamond node reduced the white warp as observed but preserved the original pattern. &lt;br /&gt;
&lt;br /&gt;
These observations in terms of the effect of pattern and spatial frequency (both horizontally and vertically) have interesting implications for digital representation of physical woven structure. This improvement in 2D simulation of woven fabrics can be beneficial for simple yet more accurate predictions of observed optical mixes. For future projects, it would be interesting to apply this study of pattern to other cases with different elasticities of thread (more/less compression),  weave structure structures (satin, twill, etc), larger number of weft yarns used, and a multi-color warp or multi-layer woven cloth. In terms of color mixing, it would also be interesting to examine different color pairs to test woven techniques like chiné (using opponent colors) vs mélange (similar colors).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles.&lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
Upload source code, test images, etc, and give a description of each link.  In some cases, your acquired data may be too large to store practically. In this case, use your judgement (or consult one of us) and only link the most relevant data. Be sure to describe the purpose of your code and to edit the code for clarity. The purpose of placing the code online is to allow others to verify your methods and to learn from your ideas.&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145944</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145944"/>
		<updated>2025-12-11T20:31:04Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Conclusions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. Designers often rely on yarn-dyed fabrics—where differently colored yarns are interlaced— as opposed to piece-dyed fabrics- where the whole piece is dyed after weaving- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. These effects stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023). Unlike additive (RGB) or subtractive (CMYK) color mixing, woven color is primarily an optical mixture, shaped by how warp and weft threads share the visible surface. The phenomenon is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In textiles, optical blending arises when warp and weft yarns of different colors interlace at a spatial scale near the eye’s integration limit. The colors mix perceptually rather than physically (Todd-Hooker, 2023).&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on a stimulus’s spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), the opponent-color pathways (red–green, blue–yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
These perceptual principles are essential for understanding woven color. Recent research has begun to address these limitations through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating measured reflectance spectra with physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
This project integrates tools from optical physics, spectral measurement, and digital modeling to evaluate optical blending in a set of woven samples (blue, yellow, BY1, BY2) measured under two lighting conditions. Through these analyses, the project connects physical measurement with perceptual constraints and textile design principles, contributing to ongoing efforts to predict woven color without relying on time-consuming physical prototyping.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In weaving, there are many ways of achieving different colors. One way is in the yarn itself, like using different dyes. Another way is with respect to the piece itself– “piece-dyed” fabric refers to a fabric that is already woven that is then dipped in a dye to achieve a color. The other type of fabric is yarn-dyed fabric: this refers to when different colored yarns are woven together in order to create new colors by means of optical mixing/blending. &lt;br /&gt;
&lt;br /&gt;
Optical blending occurs when the eye combines adjacent colors to create another color– a technique used in the likes of everything from pointillism paintings to pixels. In weaving, optical blending occurs when the eye combines the colors of adjacent threads. Again, there are different ways to achieve this like using multiple wefts. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
The warp and weft can make a whole host of different structures based on the way in which you weave them. &lt;br /&gt;
&lt;br /&gt;
[[File: Warp-weft-red-full-2048x731.jpg | thumb | center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction—exactly the limitation your “diamond-node” modeling seeks to address. However, when using machines like the TC2, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship.&lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the renderable color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance—again aligning with your emphasis on structural control.&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using colorimetry, reflectance modeling, and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series, which report improved reproducibility when objective color measurements are incorporated into weave simulations. The combination of geometrical modeling and measured reflectance is now considered a promising approach, but open challenges remain in accurately capturing yarn cross-sections, shadowing, and inter-yarn scattering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optics, Vision, and Spatial Integration&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Modeling of Weave Appearance&#039;&#039;&#039;&lt;br /&gt;
For &#039;&#039;&#039;Part Three&#039;&#039;&#039;, my work fits into a growing body of recent research exploring how to best model woven structures digitally.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;amp;Delta;E Calculation Between BY1 and BY2 &#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
These are the results of calculating the reflectance of each sample for both lighting conditions:&lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. &lt;br /&gt;
&lt;br /&gt;
Finally, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions. &lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
The recovered reflectance spectra for BY1 and BY2 are very similar—especially under tungsten—so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating the next part exploring the difference in pattern. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
Describe what you learned. What worked? What didn&#039;t? Why? What should someone next year try?&lt;br /&gt;
&lt;br /&gt;
As warp and weft alternations become finer, the visual system integrates the color patches into a single mixture dominated by the luminance contrast and the relative cone absorptions averaged across space. The blue–yellow mixtures in my samples (BY1 and BY2) behave like Wandell’s squarewaves: coarse alternations remain visibly blue and yellow, while finer or more visually “filtered” patterns blend into a single hue determined by spatial frequency and luminance balance. Past work in color science has studied perceptual integration limits, showing that as spatial elements become small relative to the eye’s resolution, the luminance system dominates and colors visually average (King-Smith &amp;amp; Carden, 1976).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File: Conclusion_Mixes.png|thumb|500px|center|Summary of warp reduction, warp removal, and final node structure]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles.&lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
Upload source code, test images, etc, and give a description of each link.  In some cases, your acquired data may be too large to store practically. In this case, use your judgement (or consult one of us) and only link the most relevant data. Be sure to describe the purpose of your code and to edit the code for clarity. The purpose of placing the code online is to allow others to verify your methods and to learn from your ideas.&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:Conclusion_Mixes.png&amp;diff=145943</id>
		<title>File:Conclusion Mixes.png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:Conclusion_Mixes.png&amp;diff=145943"/>
		<updated>2025-12-11T20:30:32Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145942</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145942"/>
		<updated>2025-12-11T20:26:06Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. Designers often rely on yarn-dyed fabrics—where differently colored yarns are interlaced— as opposed to piece-dyed fabrics- where the whole piece is dyed after weaving- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. These effects stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023). Unlike additive (RGB) or subtractive (CMYK) color mixing, woven color is primarily an optical mixture, shaped by how warp and weft threads share the visible surface. The phenomenon is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In textiles, optical blending arises when warp and weft yarns of different colors interlace at a spatial scale near the eye’s integration limit. The colors mix perceptually rather than physically (Todd-Hooker, 2023).&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on a stimulus’s spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), the opponent-color pathways (red–green, blue–yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
These perceptual principles are essential for understanding woven color. Recent research has begun to address these limitations through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating measured reflectance spectra with physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
This project integrates tools from optical physics, spectral measurement, and digital modeling to evaluate optical blending in a set of woven samples (blue, yellow, BY1, BY2) measured under two lighting conditions. Through these analyses, the project connects physical measurement with perceptual constraints and textile design principles, contributing to ongoing efforts to predict woven color without relying on time-consuming physical prototyping.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In weaving, there are many ways of achieving different colors. One way is in the yarn itself, like using different dyes. Another way is with respect to the piece itself– “piece-dyed” fabric refers to a fabric that is already woven that is then dipped in a dye to achieve a color. The other type of fabric is yarn-dyed fabric: this refers to when different colored yarns are woven together in order to create new colors by means of optical mixing/blending. &lt;br /&gt;
&lt;br /&gt;
Optical blending occurs when the eye combines adjacent colors to create another color– a technique used in the likes of everything from pointillism paintings to pixels. In weaving, optical blending occurs when the eye combines the colors of adjacent threads. Again, there are different ways to achieve this like using multiple wefts. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
The warp and weft can make a whole host of different structures based on the way in which you weave them. &lt;br /&gt;
&lt;br /&gt;
[[File: Warp-weft-red-full-2048x731.jpg | thumb | center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction—exactly the limitation your “diamond-node” modeling seeks to address. However, when using machines like the TC2, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship.&lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the renderable color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance—again aligning with your emphasis on structural control.&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using colorimetry, reflectance modeling, and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series, which report improved reproducibility when objective color measurements are incorporated into weave simulations. The combination of geometrical modeling and measured reflectance is now considered a promising approach, but open challenges remain in accurately capturing yarn cross-sections, shadowing, and inter-yarn scattering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optics, Vision, and Spatial Integration&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Modeling of Weave Appearance&#039;&#039;&#039;&lt;br /&gt;
For &#039;&#039;&#039;Part Three&#039;&#039;&#039;, my work fits into a growing body of recent research exploring how to best model woven structures digitally.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;amp;Delta;E Calculation Between BY1 and BY2 &#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
These are the results of calculating the reflectance of each sample for both lighting conditions:&lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. &lt;br /&gt;
&lt;br /&gt;
Finally, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions. &lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
The recovered reflectance spectra for BY1 and BY2 are very similar—especially under tungsten—so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating the next part exploring the difference in pattern. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: By1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
Describe what you learned. What worked? What didn&#039;t? Why? What should someone next year try?&lt;br /&gt;
&lt;br /&gt;
As warp and weft alternations become finer, the visual system integrates the color patches into a single mixture dominated by the luminance contrast and the relative cone absorptions averaged across space. The blue–yellow mixtures in my samples (BY1 and BY2) behave like Wandell’s squarewaves: coarse alternations remain visibly blue and yellow, while finer or more visually “filtered” patterns blend into a single hue determined by spatial frequency and luminance balance. Past work in color science has studied perceptual integration limits, showing that as spatial elements become small relative to the eye’s resolution, the luminance system dominates and colors visually average (King-Smith &amp;amp; Carden, 1976).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles.&lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
Upload source code, test images, etc, and give a description of each link.  In some cases, your acquired data may be too large to store practically. In this case, use your judgement (or consult one of us) and only link the most relevant data. Be sure to describe the purpose of your code and to edit the code for clarity. The purpose of placing the code online is to allow others to verify your methods and to learn from your ideas.&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145941</id>
		<title>The Optics of Weaving: Linearity, Reflectance, and Spatial Frequency Simulation</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=The_Optics_of_Weaving:_Linearity,_Reflectance,_and_Spatial_Frequency_Simulation&amp;diff=145941"/>
		<updated>2025-12-11T20:24:05Z</updated>

		<summary type="html">&lt;p&gt;Daschl: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Color in woven textiles arises from a complex interaction between yarn material, weave structure, illumination, and human visual perception. Designers often rely on yarn-dyed fabrics—where differently colored yarns are interlaced— as opposed to piece-dyed fabrics- where the whole piece is dyed after weaving- to create subtle shade variations and striking optical mixtures that cannot be achieved by simply dyeing a finished fabric. These effects stem from optical blending, in which the eye integrates small, adjacent regions of color into a single color (Todd-Hooker, 2023). Unlike additive (RGB) or subtractive (CMYK) color mixing, woven color is primarily an optical mixture, shaped by how warp and weft threads share the visible surface. The phenomenon is also central to pointillism, halftone printing, and digital display pixels—fields historically inspired by Chevreul’s and other 19th-century color theorists. In textiles, optical blending arises when warp and weft yarns of different colors interlace at a spatial scale near the eye’s integration limit. The colors mix perceptually rather than physically (Todd-Hooker, 2023).&lt;br /&gt;
&lt;br /&gt;
Predicting these mixtures remains challenging. Even when the yarn colors are known, the resulting appearance depends on warp/weft dominance, illumination, yarn cross-section, yarn qualities, and the spatial resolution of the human eye. &lt;br /&gt;
&lt;br /&gt;
This project combines spectral measurement, reflectance estimation, and digital modeling to study optical blending in four woven samples (blue, yellow, BY1, BY2) under two illumination conditions. It addresses three main questions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearity:&#039;&#039;&#039; Are spectral radiances of mixed weaves well-approximated by linear combinations of the pure blue and yellow yarns?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reflectance estimation:&#039;&#039;&#039; Can consistent reflectance spectra be recovered from the two lighting conditions, and do they agree across samples?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital simulation:&#039;&#039;&#039; Can 2D structural models—by adjusting warp exposure and the geometry of “color nodes”—capture the perceptual appearance of real woven samples?&lt;br /&gt;
&lt;br /&gt;
By linking physical measurement with vision science and structural modeling, the project contributes to ongoing efforts to predict woven color without relying solely on physical prototyping or 3D modeling.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
A long history of perceptual research explains why woven patterns so often blend into new colors. Chevreul (1860) first documented laws of simultaneous contrast, showing that adjacent colors shift each other’s appearance—sometimes purifying, intensifying, or even shifting hue depending on their pairing (e.g., blue next to orange leaning greenish or violet). He also noted that binary thread mixtures (yellow–red, red–blue, yellow–blue) appear as proportional chromatic blends, while complementary color mixtures tend toward gray—observations that directly anticipate optical mixing in textiles. In the 20th century, Albers’ Interaction of Color demonstrated that even physically identical colors appear different depending on the surrounding context, further emphasizing spatial dependency in color appearance.&lt;br /&gt;
&lt;br /&gt;
Modern vision science refines these ideas. Wandell (1995) showed that color appearance depends on a stimulus’s spatial frequency—the fineness of the pattern—and the way information is processed by different visual pathways. At high spatial frequencies (e.g., narrow alternating bars of blue and yellow), the opponent-color pathways (red–green, blue–yellow), only the luminance pathway, which has much higher spatial resolution, continues to carry fine detail. This means that high-frequency chromatic patterns—like fine woven yarn alternations—tend to blend into a single perceived color whose hue and brightness depend on the spatial arrangement and proportion of the underlying colors. Poirson &amp;amp; Wandell’s square-wave experiments (Color Plate 6) show that two bars printed with the same inks appear as distinct colors at low frequencies but blend when the spatial frequency increases or the viewing distance extends—precisely the effect exploited by weaving.&lt;br /&gt;
&lt;br /&gt;
[[File:Squarewave.png|thumb|center|Poirson &amp;amp; Wandell]]&lt;br /&gt;
&lt;br /&gt;
These perceptual principles are essential for understanding woven color. Recent research has begun to address these limitations through advanced 3D weaving simulations. Tools such as Weavecraft (SIGGRAPH Asia 2020) represent woven structures using tilable weave blocks and employ physically based simulation to model realistic yarn geometry, multilayer constructions, and weave-induced constraints. Similarly, work from TU Dresden simulates 3D woven and spacer fabrics, capturing yarn crimp, thickness, and through-thickness interlacement far beyond the capabilities of traditional 2D CAD. These frameworks point toward future advances in appearance modeling: integrating measured reflectance spectra with physically accurate yarn geometry could enable much more realistic predictions of optical blending in woven textiles. &lt;br /&gt;
&lt;br /&gt;
This project integrates tools from optical physics, spectral measurement, and digital modeling to evaluate optical blending in a set of woven samples (blue, yellow, BY1, BY2) measured under two lighting conditions. Through these analyses, the project connects physical measurement with perceptual constraints and textile design principles, contributing to ongoing efforts to predict woven color without relying on time-consuming physical prototyping.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color–Weave Interaction in the Literature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In weaving, there are many ways of achieving different colors. One way is in the yarn itself, like using different dyes. Another way is with respect to the piece itself– “piece-dyed” fabric refers to a fabric that is already woven that is then dipped in a dye to achieve a color. The other type of fabric is yarn-dyed fabric: this refers to when different colored yarns are woven together in order to create new colors by means of optical mixing/blending. &lt;br /&gt;
&lt;br /&gt;
Optical blending occurs when the eye combines adjacent colors to create another color– a technique used in the likes of everything from pointillism paintings to pixels. In weaving, optical blending occurs when the eye combines the colors of adjacent threads. Again, there are different ways to achieve this like using multiple wefts. For some weaving terminology: the warp are the vertical threads and the weft are the horizontal threads.&lt;br /&gt;
&lt;br /&gt;
[[File:Warp-Weft.png|thumb|center|Warp and Weft in Woven Fabric]]&lt;br /&gt;
&lt;br /&gt;
The warp and weft can make a whole host of different structures based on the way in which you weave them. &lt;br /&gt;
&lt;br /&gt;
[[File: Warp-weft-red-full-2048x731.jpg | thumb | center | Weave Structures https://so-sew-easy.com/what-is-warp-and-weft-the-heart-of-fabric-weaving/]]&lt;br /&gt;
&lt;br /&gt;
Mathur &amp;amp; Seyam’s Color and Weave Relationship in Woven Fabrics provide a foundational treatment of how weave structure governs perceived color through warp/weft interlacement patterns. They describe woven color as emerging from micro-scale regions where either warp or weft is “on top,” creating a binary distribution of the two colors. As the repeat size shrinks, the eye integrates the distribution into an averaged color. They further emphasize that CAD simulations typically flatten the three-dimensional character of yarns and therefore fail to capture true color–texture interaction—exactly the limitation your “diamond-node” modeling seeks to address. However, when using machines like the TC2, it is difficult to change the color of the warp, pursuing me to explore using multiple wefts to affect color as opposed to the warp/weft relationship.&lt;br /&gt;
&lt;br /&gt;
Research in digital Jacquard design highlights similar challenges. Ng et al. (2014) note that CMYK subtractive mixing used in print graphics does not translate directly to woven textiles because yarns are opaque, discrete, and rely on optical rather than pigmentary blending. Their algorithm attempts to align weave patterns with primary/secondary color layers to expand the renderable color gamut, showing that weave structure and spatial segmentation are essential to predicting woven appearance—again aligning with your emphasis on structural control.&lt;br /&gt;
&lt;br /&gt;
Other textile studies investigate the quantitative prediction of woven color mixtures using colorimetry, reflectance modeling, and multi-layer simulation. These include the Dimitrovski &amp;amp; Gabrijelčič series, which report improved reproducibility when objective color measurements are incorporated into weave simulations. The combination of geometrical modeling and measured reflectance is now considered a promising approach, but open challenges remain in accurately capturing yarn cross-sections, shadowing, and inter-yarn scattering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optics, Vision, and Spatial Integration&#039;&#039;&#039;&lt;br /&gt;
From the perspective of human vision, optical blending depends on spatial integration mechanisms within the luminance and chromatic pathways. King-Smith &amp;amp; Carden (1976) show that when spatial detail approaches or falls below the eye’s resolution limit, the luminance system dominates, effectively averaging spectral power across space. Because my woven samples differ structurally—with BY1 using alternating colored picks and BY2 combining two-up/two-down colored wefts—they present distinct spatial frequencies. Investigating when these structures converge perceptually is consistent with decades of work in spatial vision and optical filtering.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Science Applied to Weaving&#039;&#039;&#039;&lt;br /&gt;
My project fills an important gap by leveraging measured spectral radiance under two lighting conditions to test linearity (&#039;&#039;&#039;Part One&#039;&#039;&#039;) and infer reflectance (&#039;&#039;&#039;Part Two&#039;&#039;&#039;)—methods aligned with color science applied directly to weaving.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Modeling of Weave Appearance&#039;&#039;&#039;&lt;br /&gt;
For &#039;&#039;&#039;Part Three&#039;&#039;&#039;, my work fits into a growing body of recent research exploring how to best model woven structures digitally.&lt;br /&gt;
&lt;br /&gt;
== Methods == &lt;br /&gt;
&#039;&#039;&#039;Materials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four woven samples (each ~1.5 × 1.5 in) were analyzed. All were woven with 48 weft picks and 12 warp ends:&lt;br /&gt;
&lt;br /&gt;
Yellow (100% Y): plain weave, yellow weft.&lt;br /&gt;
&lt;br /&gt;
Blue (100% B): plain weave, blue weft.&lt;br /&gt;
&lt;br /&gt;
BY1 (alternating): 50/50 blue–yellow mixture, structure 1 Y up / 1 B down (alternating picks).&lt;br /&gt;
&lt;br /&gt;
BY2 (grouped): 50/50 blue–yellow mixture, structure 1 Y up + 1 B up / 1 Y down + 1 B down (two-up/two-down grouping).&lt;br /&gt;
&lt;br /&gt;
Two illumination conditions were used:&lt;br /&gt;
&lt;br /&gt;
Fluorescent light&lt;br /&gt;
&lt;br /&gt;
Tungsten light&lt;br /&gt;
&lt;br /&gt;
A white reference was used to record the incident spectral power distribution (SPD) for calibration for each condition.&lt;br /&gt;
&lt;br /&gt;
All spectra were captured using a spectrometer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Analysis Software&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The analysis was conducted in MATLAB. The digital simulation was created in Excel. &lt;br /&gt;
&lt;br /&gt;
Custom scripts were used for:&lt;br /&gt;
&lt;br /&gt;
Interpolating all spectra to the same wavelength array&lt;br /&gt;
&lt;br /&gt;
Performing least-squares linearity fits&lt;br /&gt;
&lt;br /&gt;
Calculating reflectance&lt;br /&gt;
&lt;br /&gt;
Generating 2D woven pattern simulations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 — Linearity Analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to test whether the blue–yellow mixtures behave as linear combinations of the pure blue and yellow components. For each wavelength λ, the predicted mixture is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Predicted Mix}(\lambda)&lt;br /&gt;
= w_B \cdot \text{Blue}(\lambda)&lt;br /&gt;
+ w_Y \cdot \text{Yellow}(\lambda)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I compared the actual plots to the 50/50 plot (since the mixtures were actually 50% yellow, 50% blue). Additionally, for each mixture (BY1, BY2), the best-fit weights were found. This allowed evaluation of whether BY1 and BY2 behave linearly at all and whether both weaves use the same weights, indicating structural invariance vs. geometry-dependent color mixing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 — Reflectance Estimation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To convert radiance to reflectance, the sample SPD was divided by the illuminant SPD (white reference corrected):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{Reflectance}(\lambda) = \frac{\mathrm{SPD_{sample}}(\lambda)}{\mathrm{SPD_{callib}}(\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was done twice per sample (once under each light condition) to answer: do the two lights produce the same reflectance?&lt;br /&gt;
&lt;br /&gt;
Procedure:&lt;br /&gt;
&lt;br /&gt;
Align wavelength arrays for sample SPD and illuminant SPD&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under fluorescent&lt;br /&gt;
&lt;br /&gt;
Compute reflectance under tungsten&lt;br /&gt;
&lt;br /&gt;
Compare (difference spectrum, correlation, RMS error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 — Digital Weave Modeling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal was to build a 2D visual simulation that mimics the observed color appearance of the woven samples.&lt;br /&gt;
&lt;br /&gt;
3.1. Encoding Actual Weave Structure&lt;br /&gt;
&lt;br /&gt;
Each row of the weave was encoded as a binary sequence:&lt;br /&gt;
&lt;br /&gt;
1 = yellow on top&lt;br /&gt;
&lt;br /&gt;
3 = blue on top&lt;br /&gt;
&lt;br /&gt;
0 = warp exposure&lt;br /&gt;
&lt;br /&gt;
The real samples used 48 weft rows, encoded exactly as woven (see diagram).&lt;br /&gt;
&lt;br /&gt;
3.2. Reducing Warp Exposure&lt;br /&gt;
&lt;br /&gt;
Because the real fabrics displayed less visible warp than the raw grid simulation, warp coverage was reduced by: replacing long vertical warp stripes with thinner white lines and centering warp exposure only at transition points. This produced simulations that better visually aligned with photographs.&lt;br /&gt;
&lt;br /&gt;
3.3. Changing Node Geometry (“Diamond Nodes”)&lt;br /&gt;
&lt;br /&gt;
Flat rectangular blocks produced unrealistic striping. To match actual cloth sample, I turned each colored cell into a diamond-like shape to mimic the horizontal elongation where the yarn flattened under tension and the vertical tapering produced realistic inter-weft shading. The diamonds were tessellated to form the four samples: the pure yellow pattern, pure blue pattern, alternating BY1 pattern, and grouped BY2 pattern. This 2D geometric simulation captured the warp/weft dominance and the observed yarn behavior of the BY1 vs BY2 stripe differences&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary of Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Measure spectra for blue, yellow, BY1, BY2 under two lights&lt;br /&gt;
&lt;br /&gt;
2. Calibrate using white reference&lt;br /&gt;
&lt;br /&gt;
3. Test linearity using weighted spectral combinations&lt;br /&gt;
&lt;br /&gt;
4. Compute reflectance using dual-illumination division&lt;br /&gt;
&lt;br /&gt;
5. Model weave geometry in 2D:&lt;br /&gt;
&lt;br /&gt;
a. Encode structure&lt;br /&gt;
&lt;br /&gt;
b. Adjust warp exposure&lt;br /&gt;
&lt;br /&gt;
c. Introduce diamond-node geometry&lt;br /&gt;
&lt;br /&gt;
d. Tesselate to create full-swatch simulations&lt;br /&gt;
&lt;br /&gt;
This combined optical measurement + spatial modeling approach allows prediction and visualization of woven color appearance without physical prototyping.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images.  Make sure graph axes are labeled.  Make sure you draw the reader&#039;s attention to the key element of the figure.  The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 1 Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Fluorescent BestFit.png|thumb|500px|center|Fluorescent condition: the actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
[[File:Tungsten BestFit.png|thumb|500px|center|Tungsten condition: The actual plots for BY1 and BY2 vs the best fit weighted sum of blue/yellow sample]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Weighted-Sum Fit Results&lt;br /&gt;
! Light&lt;br /&gt;
! Sample&lt;br /&gt;
! wBlue&lt;br /&gt;
! wYellow&lt;br /&gt;
! R² (best fit)&lt;br /&gt;
! RMSE (best fit)&lt;br /&gt;
! R² (50/50)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3937&lt;br /&gt;
| 0.4919&lt;br /&gt;
| 0.99946&lt;br /&gt;
| 1.9731e-05&lt;br /&gt;
| 0.96539&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tungsten&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3898&lt;br /&gt;
| 0.5339&lt;br /&gt;
| 0.99868&lt;br /&gt;
| 3.2768e-05&lt;br /&gt;
| 0.98634&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY1&lt;br /&gt;
| 0.3840&lt;br /&gt;
| 0.7041&lt;br /&gt;
| 0.9957&lt;br /&gt;
| 6.0207e-06&lt;br /&gt;
| 0.9&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fluorescent&lt;br /&gt;
| BY2&lt;br /&gt;
| 0.3205&lt;br /&gt;
| 0.7139&lt;br /&gt;
| 0.99145&lt;br /&gt;
| 8.1212e-06&lt;br /&gt;
| 0.94268&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In summary, there is not a good linear fit using the weights of 0.5 and 0.5 (which would reflect the actual mix of the yellow and blue threads). However, we observe a good linear fit of representing the mixtures BY1 and BY2 as a weight sum of the blue and yellow samples under both lighting conditions (the R² is very close to 1 and RMSE is small). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weights for BY1 vs BY2&#039;&#039;&#039;&lt;br /&gt;
Tungsten: weights are very close&lt;br /&gt;
The blue difference is almost identical: |0.3937 – 0.3898| = 0.004                    &lt;br /&gt;
The yellow difference is slightly more different: |0.4919 – 0.5339| = 0.042                   &lt;br /&gt;
In conclusion, BY1 and BY2 are pretty much the same in terms of their weighted sum for tungsten lighting. &lt;br /&gt;
&lt;br /&gt;
Fluorescent: weights differ more&lt;br /&gt;
The blue difference diverges more: |0.3840 – 0.3205| = 0.0635                     &lt;br /&gt;
The yellow difference is almost identical: |0.7041 – 0.7139| = 0.0098                 &lt;br /&gt;
In conclusion, BY2 may appear less blue/slightly warmer given the lower weight of blue in the mixture?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;amp;Delta;E Calculation Between BY1 and BY2 &#039;&#039;&#039;&lt;br /&gt;
Here are the plots of the white light used for calibration. &lt;br /&gt;
[[File:Fluorescent_calibration_plot.png|thumb|500px|center|Fluorescent condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
[[File:Tungsten_calibration_plot.png|thumb|500px|center|Tungsten condition: the plot of the white light in the position of each sample]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 2 Results&#039;&#039;&#039;&lt;br /&gt;
These are the results of calculating the reflectance of each sample for both lighting conditions:&lt;br /&gt;
[[File:BLUE_reflectance.png|thumb|500px|center|The reflectance of the blue sample under both lighting conditions]]&lt;br /&gt;
[[File: MUSTARD_reflectance.png|thumb|500px|center|The reflectance of the yellow sample under both lighting conditions]]&lt;br /&gt;
[[File: BY1 reflectance.png|thumb|500px|center|The reflectance of the BY1 mixture under both lighting conditions]]&lt;br /&gt;
[[File: BY2_reflectance.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
 &lt;br /&gt;
As you can see in each plot, the reflectance for each sample has a similar shape under both lighting conditions with larger differences mainly below ~420 nm and above ~750 nm. The relatively low RMSE supports this. &lt;br /&gt;
&lt;br /&gt;
Finally, I wanted to compare the reflectance of BY1 and BY2 under the two lighting conditions. &lt;br /&gt;
[[File: BY1_BY2_reflectance_comparison.png|thumb|500px|center|The reflectance of the BY2 mixture under both lighting conditions]]&lt;br /&gt;
The recovered reflectance spectra for BY1 and BY2 are very similar—especially under tungsten—so their color difference in images is not due to material reflectance but to the spatial patterning of the samples, motivating the next part exploring the difference in pattern. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Part 3 Results&#039;&#039;&#039;&lt;br /&gt;
I wanted to digitally represent my samples. Based on many conventional woven digital simulations, I adopted the rectilinear representation, starting with equal exposure of the warp and the weft: &lt;br /&gt;
[[File: Warp_block_1-2.png|thumb|500px|center|Warp takes up 1/2 of the space]]&lt;br /&gt;
[[File: Warp_1-2.png|thumb|500px|center|Created samples using 1/2 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
However, to mimic the actual sample where there is no warp shown, I reduced the warp exposure by breaking up the blocks into additional columns and having the weft take up more space.&lt;br /&gt;
&lt;br /&gt;
Warp Reduced Exposure&lt;br /&gt;
[[File:Warp_block_1-6.png|thumb|500px|center|Warp takes up 1/6 of the space]]&lt;br /&gt;
[[File: Warp_1-6.png|thumb|500px|center|Created samples using 1/6 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
[[File:Warp_block_1-18.png|thumb|500px|center|Warp takes up 1/18 of the space]]&lt;br /&gt;
[[File: Warp_1-18.png|thumb|500px|center|Created samples using 1/18 warp exposure]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
[[File: Warp_exposure_summary.png|thumb|500px|center|Warp exposure]]&lt;br /&gt;
As you can see, the minimized warp decreases the distance between the yellow and blue. This both increases the amount of blue and yellow on average across the sample but also increases the spatial frequency across all columns. However, we do not observe the striping phenomenon with the reduced warp that we see in the physical sample. This is because this method of reducing the warp exposure actually changes the pattern which thereby changes the optical mixing. &lt;br /&gt;
&lt;br /&gt;
Warp Removal&lt;br /&gt;
In the very first sample, where the warp exposure is 1/2, the blue and yellow stripes are never actually on top of one another. In fact, when you compress them in real life, you do so vertically which causes each pair of rows to appear almost merged. &lt;br /&gt;
[[File: Adding.png|thumb|500px|center|&amp;quot;Adding&amp;quot; two rows togeteher]]&lt;br /&gt;
[[File: Reduced_vs_removed.png|thumb|500px|center|Reduced vs Removed warp representations]]&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
By removing the warp this way, you get a more similar effect to the appearance of the sample in real life because it preserves the pattern particularly with BY1 whereby we don&#039;t get the intermixing of the yellow and blue vertically.&lt;br /&gt;
[[File: By1_matrix.png|thumb|500px|center|Matrix for BY1 using equal yellow and blue]]&lt;br /&gt;
[[File: By1_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By1_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By1_labelled.png|thumb|500px|center|BY1: 1 warp up 1 warp down]]&lt;br /&gt;
[[File: BY1_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
[[File: By2_matrix.png|thumb|500px|center|Matrix for BY2 using equal yellow and blue]]&lt;br /&gt;
[[File: By2_tesselated.png|thumb|500px|center|Tessellation of new unit]]&lt;br /&gt;
[[File: By2_structure.png|thumb|500px|center|Center of the node represents where the warp and weft intersect]]&lt;br /&gt;
[[File: By2_labelled.png|thumb|500px|center|BY2: 2 warp (1 yellow and 1 blue) up, 2 warp (1 yellow and 1 blue) down]]&lt;br /&gt;
[[File: By2_final_actual.png|thumb|500px|center|Making sample into a square]]&lt;br /&gt;
&lt;br /&gt;
== Conclusions == &lt;br /&gt;
Describe what you learned. What worked? What didn&#039;t? Why? What should someone next year try?&lt;br /&gt;
&lt;br /&gt;
As warp and weft alternations become finer, the visual system integrates the color patches into a single mixture dominated by the luminance contrast and the relative cone absorptions averaged across space. The blue–yellow mixtures in my samples (BY1 and BY2) behave like Wandell’s squarewaves: coarse alternations remain visibly blue and yellow, while finer or more visually “filtered” patterns blend into a single hue determined by spatial frequency and luminance balance. Past work in color science has studied perceptual integration limits, showing that as spatial elements become small relative to the eye’s resolution, the luminance system dominates and colors visually average (King-Smith &amp;amp; Carden, 1976).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
Albers, J. Interaction of Color, Yale University Press, 1963.&lt;br /&gt;
&lt;br /&gt;
Chevreul, M. E. (1860). The laws of contrast of colour : and their application to the arts of painting, decoration of buildings, mosaic work, tapestry and carpet weaving, calico printing, dress, paper staining, printing, illumination, landscape, and flower gardening, &amp;amp;c. (New ed., with illustrations printed in colours.). Routledge, Warne, and Routledge.&lt;br /&gt;
Dimitrovski, K., Gabrijelčič, H., and collaborators (2001–2011). Studies on colorimetry and CAD modeling for woven textiles.&lt;br /&gt;
&lt;br /&gt;
Wandell, B. (1995). Foundations of Vision. Chapter: Spatial Pattern and Color.&lt;br /&gt;
&lt;br /&gt;
Poirson, A., &amp;amp; Wandell, B. (1993). “Appearance of colored patterns: Pattern–color separability.” JOSA A.&lt;br /&gt;
&lt;br /&gt;
King-Smith, P. &amp;amp; Carden, D. (1976). “Luminance and opponent-color contributions to spatial integration.” Journal of the Optical Society of America.&lt;br /&gt;
&lt;br /&gt;
Ng, F., Kim, K. R., Zhou, J. (2014). Patterning technique for expanding color variety of Jacquard fabrics in alignment with shaded weave structures. Textile Research Journal, 84(17), 1820–1828.&lt;br /&gt;
&lt;br /&gt;
Mathur, K. &amp;amp; Seyam, A. (2011). Color and Weave Relationship in Woven Fabrics.&lt;br /&gt;
&lt;br /&gt;
Todd-Hooker, K. The Simple, Short Version of Colour Movement in Tapestry. American Tapestry Alliance, 2023.&lt;br /&gt;
&lt;br /&gt;
TU Dresden Institute of Textile Machinery and High-Performance Material Technology (ITM), Simulation-based development of 3D woven fabrics, 2023. https://technical-textiles.textiletechnology.net/news/trendreports/tu-dresden-simulation-based-development-of-3d-woven-fabrics-for-high-tech-applications-34992&lt;br /&gt;
&lt;br /&gt;
Zhang, J. et al., Weavecraft: 3D Spatial Weaving Design and Simulation, SIGGRAPH Asia 2020. https://www.cs.cornell.edu/projects/weavecraft/&lt;br /&gt;
&lt;br /&gt;
== Appendix I ==&lt;br /&gt;
Upload source code, test images, etc, and give a description of each link.  In some cases, your acquired data may be too large to store practically. In this case, use your judgement (or consult one of us) and only link the most relevant data. Be sure to describe the purpose of your code and to edit the code for clarity. The purpose of placing the code online is to allow others to verify your methods and to learn from your ideas.&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:By2_final_actual.png&amp;diff=145940</id>
		<title>File:By2 final actual.png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:By2_final_actual.png&amp;diff=145940"/>
		<updated>2025-12-11T20:18:39Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:By1_final_actual.png&amp;diff=145939</id>
		<title>File:By1 final actual.png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:By1_final_actual.png&amp;diff=145939"/>
		<updated>2025-12-11T20:16:17Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:By1_actual.png&amp;diff=145938</id>
		<title>File:By1 actual.png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:By1_actual.png&amp;diff=145938"/>
		<updated>2025-12-11T20:15:52Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:By2_final.png&amp;diff=145935</id>
		<title>File:By2 final.png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:By2_final.png&amp;diff=145935"/>
		<updated>2025-12-11T20:07:43Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:By2_labelled.png&amp;diff=145934</id>
		<title>File:By2 labelled.png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:By2_labelled.png&amp;diff=145934"/>
		<updated>2025-12-11T20:07:26Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:By2_structure.png&amp;diff=145933</id>
		<title>File:By2 structure.png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:By2_structure.png&amp;diff=145933"/>
		<updated>2025-12-11T20:07:09Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:By2_tesselated.png&amp;diff=145932</id>
		<title>File:By2 tesselated.png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:By2_tesselated.png&amp;diff=145932"/>
		<updated>2025-12-11T20:06:58Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:By2_matrix.png&amp;diff=145931</id>
		<title>File:By2 matrix.png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:By2_matrix.png&amp;diff=145931"/>
		<updated>2025-12-11T20:06:37Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:BY1_final_correct.png&amp;diff=145929</id>
		<title>File:BY1 final correct.png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:BY1_final_correct.png&amp;diff=145929"/>
		<updated>2025-12-11T20:04:43Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:By1_final.png&amp;diff=145928</id>
		<title>File:By1 final.png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:By1_final.png&amp;diff=145928"/>
		<updated>2025-12-11T20:03:25Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:By1_labelled.png&amp;diff=145927</id>
		<title>File:By1 labelled.png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:By1_labelled.png&amp;diff=145927"/>
		<updated>2025-12-11T20:03:11Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:By1_structure.png&amp;diff=145926</id>
		<title>File:By1 structure.png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:By1_structure.png&amp;diff=145926"/>
		<updated>2025-12-11T20:02:53Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:By1_tesselated.png&amp;diff=145925</id>
		<title>File:By1 tesselated.png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:By1_tesselated.png&amp;diff=145925"/>
		<updated>2025-12-11T20:02:39Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:By1_matrix.png&amp;diff=145924</id>
		<title>File:By1 matrix.png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:By1_matrix.png&amp;diff=145924"/>
		<updated>2025-12-11T20:02:23Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:Adding.png&amp;diff=145923</id>
		<title>File:Adding.png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:Adding.png&amp;diff=145923"/>
		<updated>2025-12-11T19:50:25Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:Reduced_vs_removed.png&amp;diff=145922</id>
		<title>File:Reduced vs removed.png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:Reduced_vs_removed.png&amp;diff=145922"/>
		<updated>2025-12-11T19:49:17Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
	<entry>
		<id>http://vista.su.domains/psych221wiki/index.php?title=File:Warp_exposure_summary.png&amp;diff=145921</id>
		<title>File:Warp exposure summary.png</title>
		<link rel="alternate" type="text/html" href="http://vista.su.domains/psych221wiki/index.php?title=File:Warp_exposure_summary.png&amp;diff=145921"/>
		<updated>2025-12-11T19:38:24Z</updated>

		<summary type="html">&lt;p&gt;Daschl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Daschl</name></author>
	</entry>
</feed>