Maille Home
Jewelry Weaves
Instructions
Inlays
Materials
Links
 


 
Google
Chain Mail - Opacity Equations and Table
Table | Opacity Code | MaxGap Code

Section of 4-in-1 maille

The picture above shows a section of 4-in-1 maille. A glossary of the terms I'm using is listed below.

opaque link area
the gray area of the links inside the yellow square
total link area
the whole yellow square
opacity
the ratio of opaque link area to total link area, expressed as a percentage
gap area
the orange section in the middle
max gap
The approximate length of a side of the gap area. Since the links are pulled as far apart as they can, I am assuming the the gap length is at its maximum. The gap area roughly forms a square turned 45°, and the area of a square is length x length, I took the square root of the gap area to get the max gap.

Opacity / Max Gap Table

SizeOpacityMaxGap
16Gu 3/16"88.0%.06" x .06"
14Gu 1/4"85.9%.09" x .09"
18Gu 3/16"71.8%.10" x .10"
16Gu 1/4"71.0%.13" x .13"
14Gu 5/16"72.5%.16" x .16"
18Gu 1/4"54.2%.17" x .17"
12Gu 3/8"78.5%.17" x .17"
16Gu 5/16"56.8%.21" x .21"
18Gu 5/16"44.7%.23" x .23"
14Gu 3/8"59.5%.24" x .24"
12Gu 7/16"68.5%.25" x .25"
16Gu 3/8"48.2%.27" x .27"
14Gu 7/16"52.3%.30" x .30"
12Gu 1/2"58.7%.32" x .32"
14Gu 1/2"46.6%.37" x .37"
12Gu 3/4"42.1%.57" x .57"

Here is the code used to generate the opacity table. It is written in VBA for Excel:

Function Opacity4in1a(WireDia As Double, RingID As Double) As Double
  Pi = 4 * Atn(1)
  R1 = RingID / Sqr(2)
  r2 = RingID / 2 + WireDia
  
  If R1 / r2 < 1 Then
    theta = Application.WorksheetFunction.Acos(R1 / r2)
    alpha = (Pi / 2#) - 2# * theta
    Pyth1 = Sqr(r2 ^ 2 - R1 ^ 2)
    OpenArea = R1 ^ 2 - 0.5 * alpha * r2 ^ 2 - R1 * Pyth1
    OpenArea = 8 * OpenArea
  Else
    a = RingID / 2
    
    OpenArea = Pi / 4 * a ^ 2
    
    b = a + WireDia
    d = RingID
    g = 0.5 / d * (d ^ 2 - a ^ 2 + b ^ 2)
    e = Sqr(b ^ 2 - g ^ 2)
    
    c = 2 * e 'chord length
    r = a
    h = r - 0.5 * Sqr(4 * r ^ 2 - c ^ 2)
    phi = 2 * Application.WorksheetFunction.Asin(c / (2 * r))
    l = r * phi
    area = 0.5 * (r * l - c * (r - h))
    OpenArea = OpenArea - area
    
    r = b
    h = r - 0.5 * Sqr(4 * r ^ 2 - c ^ 2)
    phi = 2 * Application.WorksheetFunction.Asin(c / (2 * r))
    l = r * phi
    area = 0.5 * (r * l - c * (r - h))
    OpenArea = OpenArea - area
    
    OpenArea = 8 * OpenArea
  End If
  
  ClosedArea = 2 * RingID ^ 2
  Opacity4in1a = 1 - OpenArea / ClosedArea
End Function

Here is the code used to generate the opacity table. It is written in VBA for Excel. A lot of the code is the same as the opacity code.

Function MaxGap(WireDia As Double, RingID As Double) As Double
  Pi = 4 * Atn(1)
  R1 = RingID / Sqr(2)
  r2 = RingID / 2 + WireDia
  
  If R1 / r2 < 1 Then
    theta = Application.WorksheetFunction.Acos(R1 / r2)
    alpha = (Pi / 2#) - 2# * theta
    Pyth1 = Sqr(r2 ^ 2 - R1 ^ 2)
    OpenArea = R1 ^ 2 - 0.5 * alpha * r2 ^ 2 - R1 * Pyth1
    MaxGap = 4 * OpenArea
  Else
    a = RingID / 2
    
    OpenArea = Pi / 4 * a ^ 2
    
    b = a + WireDia
    d = RingID
    g = 0.5 / d * (d ^ 2 - a ^ 2 + b ^ 2)
    e = Sqr(b ^ 2 - g ^ 2)
    
    c = 2 * e 'chord length
    r = a
    h = r - 0.5 * Sqr(4 * r ^ 2 - c ^ 2)
    phi = 2 * Application.WorksheetFunction.Asin(c / (2 * r))
    l = r * phi
    area = 0.5 * (r * l - c * (r - h))
    OpenArea = OpenArea - area
    
    r = b
    h = r - 0.5 * Sqr(4 * r ^ 2 - c ^ 2)
    phi = 2 * Application.WorksheetFunction.Asin(c / (2 * r))
    l = r * phi
    area = 0.5 * (r * l - c * (r - h))
    OpenArea = OpenArea - area
    
    MaxGap = 4 * OpenArea
  End If
  
End Function



Questions or comments? Email me at mailler@zlosk.com.

This page last updated on January 6, 2005.

Valid XHTML 1.0! Valid CSS!