 Stereogram Algorithms - Smart Links This page shows how to modify the basic stereogram code to incorporate an improved algorithm for creating links (called 'smart links'). Basic Stereogram with Smart Links Source Code: ```1 Dim x As Long, y As Long, maxX As Long, maxY As Long, same() As Long 'basic 2 Dim z() As Single, mu As Single, E As Long, DPI As Long, s As Long 'basic 3 Dim right As Long, left As Long, w As Single 'basic 4 Dim L As Long 'smart links 5 DPI = 72: E = 2.5 * DPI: mu = 0.2: w = 0.5 6 maxX = picDepth.ScaleWidth: maxY = picDepth.ScaleHeight 7 ReDim same(maxX), z(maxX, maxY): Randomize 8 For y = 0 To maxY 9 For x = 0 To maxX - 1 '1 scanline 10 z(x, y) = picDepth.Point(x, y) / 16777215 'initialize 11 same(x) = x 'initialize 12 s = (1 - mu * z(x, y)) * E / (2 - mu * z(x, y)) 'image plane separation 13 left = x - (s / 2) 'left link position 14 right = left + s 'right link position 15 If 0 <= left And right < maxX Then 16 L = same(left) 'begin smart links code 17 While (L <> left) And (L <> right) ' 18 If L < right Then ' 19 left = L ' 20 L = same(left) ' 21 Else ' 22 same(left) = right ' 23 left = right ' 24 L = same(left) ' 25 right = L ' 26 End If ' 27 Wend 28 same(left) = right 'create link 29 End If 30 Next x 31 For x = maxX - 1 To 0 Step -1 'set colors 32 If same(x) = x Then 33 picOut.PSet (x, y), Int(Rnd + w) * vbWhite 'Rnd*vbwhite for color 34 Else 35 picOut.PSet (x, y), picOut.Point(same(x), y) 'use link color 36 End If 37 Next x 38 Next y ``` Code Discussion The smart link code, found in lines 17-28, works in the following way ...