Skip to content

Commit 4d85ca6

Browse files
committed
fixing fixing...
1 parent bc81ba7 commit 4d85ca6

4 files changed

Lines changed: 36 additions & 47 deletions

File tree

L8_case-study_mandelbrot/Fractal_tier1.sac

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,16 @@ export all;
1212
*
1313
* @brief generates an array of complex numbers with shape "shp" and
1414
* linearly increasing/decreasing values between "cmin" and "cmax".
15-
* The element at index [0,0] should be "cmin".
15+
* The element at index [0,0] should be "cmin". Increases in the
16+
* 2nd index (!) should reflect increases in the real values!
1617
*
1718
*****************************************************************************/
1819
inline
1920
complex[.,.] genComplexArray( int[2] shp, complex cmin, complex cmax)
2021
{
2122
res = with {
22-
( . <= iv <= .) : cmin + toc( (tod(iv) / tod(shp)) * todv(cmax-cmin));
23+
( . <= iv <= .) : cmin + toc( reverse( (tod(iv) / tod(shp))
24+
* reverse( todv(cmax-cmin))));
2325
} : genarray( shp, toc( 0,0));
2426
return( res);
2527
}

L8_case-study_mandelbrot/Fractal_tier1_empty.sac

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ export all;
1212
*
1313
* @brief generates an array of complex numbers with shape "shp" and
1414
* linearly increasing/decreasing values between "cmin" and "cmax".
15-
* The element at index [0,0] should be "cmin".
15+
* The element at index [0,0] should be "cmin". Increases in the
16+
* 2nd index (!) should reflect increases in the real values!
1617
*
1718
*****************************************************************************/
1819
inline

L8_case-study_mandelbrot/mandelbrot.sac

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
#define XRES 3
2-
#define YRES 3
3-
#define EXPAND 128
4-
5-
#define INTERACTIVE_ZOOM
1+
#define XRES 6
2+
#define YRES 4
3+
#define EXPAND 64
64

75
#define DEPTH 1024
86

@@ -31,23 +29,16 @@ color[.,.] stretchRgb( color[.,.] pic, int stretch)
3129

3230
int main()
3331
{
34-
35-
xc = -0.87591d;
36-
yc = 0.20464d;
37-
d = 0.53184d;
38-
3932
expand = EXPAND;
4033
max_shape = [YRES,XRES] * expand;
4134

4235
disp = initMultiDisplay( [2,2], max_shape);
4336

44-
cmin = toc( xc - 0.5d * d, yc - 0.5d * d);
45-
cmax = toc( xc + 0.5d * d, yc + 0.5d * d);
37+
cmin = toc( -2.2, 1.0);
38+
cmax = toc( 0.8, -1.0);
4639

4740

48-
#ifdef INTERACTIVE_ZOOM
4941
while( true) {
50-
#endif /* INTERACTIVE_ZOOM */
5142
plane = genComplexArray( [YRES,XRES], cmin, cmax);
5243

5344
while( expand >= 1) {
@@ -63,13 +54,13 @@ int main()
6354
nvs = normalizedIterationCount( ts, vs);
6455
rgbs = doubleArrayToRGB( nvs);
6556

66-
drawArrayMulti( disp, stretchRgb( rgbs, expand), [1,0]);
57+
drawArrayMulti( disp, stretchRgb( rgbs, expand), [0,1]);
6758

6859
#if TIER >= 3
6960

7061
rgbs = gaussBlur( gaussBlur25( rgbs));
7162

72-
drawArrayMulti( disp, stretchRgb( rgbs, expand), [0,1]);
63+
drawArrayMulti( disp, stretchRgb( rgbs, expand), [1,0]);
7364

7465
rgbs = sobelEdges( rgbs);
7566

@@ -81,15 +72,11 @@ int main()
8172
plane = genComplexArray( 2*shape(plane), cmin, cmax);
8273
}
8374

84-
#ifdef INTERACTIVE_ZOOM
8575
q, zoom_coords = getSelectionMulti( disp, [2,2]);
8676
cmin = plane[ reverse( 2 * zoom_coords[[0]])];
8777
cmax = plane[ reverse( 2 * zoom_coords[[1]])];
8878
expand = EXPAND;
8979
}
90-
#else /* INTERACTIVE_ZOOM */
91-
wait = StdIO::fgetc( StdIO::stdin);
92-
#endif /* INTERACTIVE_ZOOM */
9380

9481
destroyDisplay( disp);
9582

L8_case-study_mandelbrot/mandelbrot_start.sac

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
#define XRES 400
2-
#define YRES 400
1+
#define XRES 384
2+
#define YRES 256
33

4-
#define DEPTH 256
4+
#define DEPTH 1024
55

66
#ifndef TIER
77
#define TIER 1
@@ -19,46 +19,45 @@ use Stencil_tier3 : all;
1919

2020
int main()
2121
{
22-
23-
xc = -0.87591d;
24-
yc = 0.20464d;
25-
d = 0.53184d;
26-
2722
disp = initMultiDisplay( [2,2], [YRES,XRES]);
2823

29-
cmin = toc( xc - 0.5d * d, yc - 0.5d * d);
30-
cmax = toc( xc + 0.5d * d, yc + 0.5d * d);
24+
cmin = toc( -2.2, 1.0);
25+
cmax = toc( 0.8, -1.0);
3126

32-
plane = genComplexArray( [YRES,XRES], cmin, cmax);
33-
27+
while( true) {
28+
plane = genComplexArray( [YRES,XRES], cmin, cmax);
3429

35-
ts = escapeTime( plane, DEPTH);
30+
ts = escapeTime( plane, DEPTH);
3631

37-
rgbs = intArrayToMonochrome( ts);
32+
rgbs = intArrayToMonochrome( ts);
3833

39-
drawArrayMulti( disp, rgbs, [0,0]);
34+
drawArrayMulti( disp, rgbs, [0,0]);
4035

4136
#if TIER >= 2
42-
ts, vs = escapeTimeAndValue( plane, DEPTH);
37+
ts, vs = escapeTimeAndValue( plane, DEPTH);
4338

44-
nvs = normalizedIterationCount( ts, vs);
45-
rgbs = doubleArrayToRGB( nvs);
39+
nvs = normalizedIterationCount( ts, vs);
40+
rgbs = doubleArrayToRGB( nvs);
4641

47-
drawArrayMulti( disp, rgbs, [1,0]);
42+
drawArrayMulti( disp, rgbs, [0,1]);
4843

4944
#if TIER >= 3
5045

51-
rgbs = gaussBlur( gaussBlur25( rgbs));
46+
rgbs = gaussBlur( gaussBlur25( rgbs));
5247

53-
drawArrayMulti( disp, stretchRgb( rgbs, expand), [0,1]);
48+
drawArrayMulti( disp, stretchRgb( rgbs, expand), [1,0]);
5449

55-
rgbs = sobelEdges( rgbs);
50+
rgbs = sobelEdges( rgbs);
5651

57-
drawArrayMulti( disp, rgbs, [1,1]);
52+
drawArrayMulti( disp, rgbs, [1,1]);
5853
#endif
5954
#endif
6055

61-
wait = StdIO::fgetc( StdIO::stdin);
56+
q, zoom_coords = getSelectionMulti( disp, [2,2]);
57+
cmin = plane[ reverse( 2 * zoom_coords[[0]])];
58+
cmax = plane[ reverse( 2 * zoom_coords[[1]])];
59+
expand = EXPAND;
60+
}
6261

6362
destroyDisplay( disp);
6463

0 commit comments

Comments
 (0)