Fractal Dimension of Julia Sets

Size: px
Start display at page:

Download "Fractal Dimension of Julia Sets"

Transcription

1 Fractal Dimension of Julia Sets Claude Heiland-Allen March 6, 2015

2 Fractal Dimension of Julia Sets Fractal Dimension How Long is a Coast? Box-Counting Dimension Examples

3 Fractal Dimension of Julia Sets Fractal Dimension How Long is a Coast? Box-Counting Dimension Examples Julia Sets Complex Dynamics Image Generation Examples

4 Fractal Dimension of Julia Sets Fractal Dimension How Long is a Coast? Box-Counting Dimension Examples Julia Sets Complex Dynamics Image Generation Examples Fractal Dimension of Julia Sets Concept Implementation Results

5 Fractal Dimension Fractal Dimension How Long is a Coast? Box-Counting Dimension Examples Julia Sets Complex Dynamics Image Generation Examples Fractal Dimension of Julia Sets Concept Implementation Results

6 How Long is a Coast? Fractal Dimension How Long is a Coast? Box-Counting Dimension Examples Julia Sets Complex Dynamics Image Generation Examples Fractal Dimension of Julia Sets Concept Implementation Results

7 How Long is a Coast? How long is a coast?

8 How Long is a Coast? It looks this long.

9 How Long is a Coast? But as you look closer,

10 How Long is a Coast? more details appear,

11 How Long is a Coast? giving a longer length,

12 How Long is a Coast? so when do you stop?

13 How Long is a Coast? How long is a coast?

14 How Long is a Coast? It gets longer the closer you look.

15 How Long is a Coast? The concept of length is usually meaningless for geographical curves. They can be considered superpositions of features of widely scattered characteristic sizes; as even finer features are taken into account, the total measured length increases, and there is usually no clearcut gap or crossover, between the realm of geography and details with which geography need not be concerned. B. B. Mandelbrot How long is the coast of Britain? Science: 156, 1967,

16 How Long is a Coast? A better question:

17 How Long is a Coast? A better question: How much longer does a coast get the closer you look?

18 Box-Counting Dimension Fractal Dimension How Long is a Coast? Box-Counting Dimension Examples Julia Sets Complex Dynamics Image Generation Examples Fractal Dimension of Julia Sets Concept Implementation Results

19 Box-Counting Dimension The idea:

20 Box-Counting Dimension The idea: Pick a box size r.

21 Box-Counting Dimension The idea: Pick a box size r. Cover the boundary with boxes of size r.

22 Box-Counting Dimension The idea: Pick a box size r. Cover the boundary with boxes of size r. Count how many boxes are needed N r.

23 Box-Counting Dimension The idea: Pick a box size r. Cover the boundary with boxes of size r. Count how many boxes are needed N r. See how quickly N r increases as r gets smaller.

24 Box-Counting Dimension The formal definition: dim = lim r 0 log N r log r

25 Box-Counting Dimension The formal definition: dim = lim r 0 log N r log r Converges very slowly, not practical.

26 Box-Counting Dimension A more practical definition: dim = lim r 0 log 2 N r N 2r

27 Box-Counting Dimension A more practical definition: dim = lim r 0 log 2 N r N 2r But finite computers have issues with infinite limits.

28 Box-Counting Dimension The formula I actually use: dim = 1 2 log N 2r0 2 N 8r0 r 0 = pixel size

29 Box-Counting Dimension The formula I actually use: dim = 1 2 log N 2r0 2 N 8r0 r 0 = pixel size More on the trade-offs involved later...

30 Examples Fractal Dimension How Long is a Coast? Box-Counting Dimension Examples Julia Sets Complex Dynamics Image Generation Examples Fractal Dimension of Julia Sets Concept Implementation Results

31 Example: circle circle

32 Example: circle r = 2 1 N = 4

33 Example: circle r = 2 2 N = 12

34 Example: circle r = 2 3 N = 28

35 Example: circle r = 2 4 N = 52

36 Example: circle r = 2 5 N = 116

37 Example: circle r = 2 6 N = 244

38 Example: circle r = 2 7 N = 444

39 Example: circle r = 2 8 N = 860

40 Example: circle r = 2 9 N = 1412

41 Example: circle dim

42 Example: circle dim = 1 (limit as r 0)

43 Example: Ireland Ireland

44 Example: Ireland r = 2 1 N = 7

45 Example: Ireland r = 2 2 N = 18

46 Example: Ireland r = 2 3 N = 44

47 Example: Ireland r = 2 4 N = 94

48 Example: Ireland r = 2 5 N = 217

49 Example: Ireland r = 2 6 N = 485

50 Example: Ireland r = 2 7 N = 1033

51 Example: Ireland r = 2 8 N = 2021

52 Example: Ireland r = 2 9 N = 3520

53 Example: Ireland dim

54 Example: Norway Norway

55 Example: Norway r = 2 1 N = 9

56 Example: Norway r = 2 2 N = 25

57 Example: Norway r = 2 3 N = 68

58 Example: Norway r = 2 4 N = 180

59 Example: Norway r = 2 5 N = 488

60 Example: Norway r = 2 6 N = 1310

61 Example: Norway r = 2 7 N = 3333

62 Example: Norway r = 2 8 N = 7641

63 Example: Norway r = 2 9 N = 13070

64 Example: Norway dim

65 Example: carpet carpet

66 Example: carpet r = 2 1 N = 16

67 Example: carpet r = 2 2 N = 36

68 Example: carpet r = 2 3 N = 140

69 Example: carpet r = 2 4 N = 528

70 Example: carpet r = 2 5 N = 1771

71 Example: carpet r = 2 6 N = 6418

72 Example: carpet r = 2 7 N = 23340

73 Example: carpet r = 2 8 N = 82680

74 Example: carpet r = 2 9 N =

75 Example: carpet dim

76 Example: carpet dim = log 8 log (limit as r 0)

77 Example: dust dust

78 Example: dust r = 2 1 N = 16

79 Example: dust r = 2 2 N = 36

80 Example: dust r = 2 3 N = 100

81 Example: dust r = 2 4 N = 256

82 Example: dust r = 2 5 N = 441

83 Example: dust r = 2 6 N = 1024

84 Example: dust r = 2 7 N = 2304

85 Example: dust r = 2 8 N = 4096

86 Example: dust r = 2 9 N = 4096

87 Example: dust dim

88 Example: dust dim = log 4 log (limit as r 0)

89 Julia Sets Fractal Dimension How Long is a Coast? Box-Counting Dimension Examples Julia Sets Complex Dynamics Image Generation Examples Fractal Dimension of Julia Sets Concept Implementation Results

90 Complex Dynamics Fractal Dimension How Long is a Coast? Box-Counting Dimension Examples Julia Sets Complex Dynamics Image Generation Examples Fractal Dimension of Julia Sets Concept Implementation Results

91 Complex Dynamics Consider the quadratic polynomial: f c (z) = z 2 + c

92 Complex Dynamics Consider the quadratic polynomial: Here z, c C, complex numbers. f c (z) = z 2 + c

93 Complex Dynamics The quadratic polynomial can be iterated: f n c = f c (f c (... (f c (f c (z)))...)) }{{} n times

94 Complex Dynamics The quadratic polynomial can be iterated: f n c = f c (f c (... (f c (f c (z)))...)) }{{} n times Or in more manageable notation: f 0 c (z) = z fc n+1 (z) = fc n (f c (z))

95 Complex Dynamics What is the behaviour of f n c (z) as n?

96 Complex Dynamics When c = 2 there are 2 distinct cases:

97 Complex Dynamics When c = 2 there are 2 distinct cases: f n c (z) as n

98 Complex Dynamics When c = 2 there are 2 distinct cases: f n c (z) as n none of the above

99 Complex Dynamics When c = 0 there are 3 distinct cases:

100 Complex Dynamics When c = 0 there are 3 distinct cases: f n c (z) as n

101 Complex Dynamics When c = 0 there are 3 distinct cases: f n c (z) as n f n c (z) 0 as n

102 Complex Dynamics When c = 0 there are 3 distinct cases: fc n (z) as n fc n (z) 0 as n none of the above

103 Complex Dynamics When c = 0 there are 3 distinct cases: fc n (z) as n fc n (z) 0 as n none of the above z > 1

104 Complex Dynamics When c = 0 there are 3 distinct cases: fc n (z) as n fc n (z) 0 as n none of the above z > 1 z < 1

105 Complex Dynamics When c = 0 there are 3 distinct cases: fc n (z) as n fc n (z) 0 as n none of the above z > 1 z < 1 z = 1

106 Complex Dynamics When c = 1 there are 4 distinct cases:

107 Complex Dynamics When c = 1 there are 4 distinct cases: f n c (z) as n

108 Complex Dynamics When c = 1 there are 4 distinct cases: f n c (z) as n fc 2n (z) 0 as n

109 Complex Dynamics When c = 1 there are 4 distinct cases: f n c (z) as n fc 2n (z) 0 as n (z) 1 as n f 2n c

110 Complex Dynamics When c = 1 there are 4 distinct cases: f n c (z) as n fc 2n (z) 0 as n (z) 1 as n f 2n c none of the above

111 Complex Dynamics The initial cases are Fatou components F m (f c ).

112 Complex Dynamics The initial cases are Fatou components F m (f c ). Within each Fatou component the behaviour is the same.

113 Complex Dynamics The initial cases are Fatou components F m (f c ). Within each Fatou component the behaviour is the same. Moreover, nearby points stay nearby under iteration.

114 Complex Dynamics The initial cases are Fatou components F m (f c ). Within each Fatou component the behaviour is the same. Moreover, nearby points stay nearby under iteration. (In fact, they usually get closer.)

115 Complex Dynamics The last case (none of the above) is the Julia set J(f c ).

116 Complex Dynamics The last case (none of the above) is the Julia set J(f c ). Nearby points get further apart under iteration.

117 Complex Dynamics The last case (none of the above) is the Julia set J(f c ). Nearby points get further apart under iteration. But they stay within the Julia set.

118 Complex Dynamics The last case (none of the above) is the Julia set J(f c ). Nearby points get further apart under iteration. But they stay within the Julia set. The Julia set is the boundary of the Fatou components.

119 Image Generation Fractal Dimension How Long is a Coast? Box-Counting Dimension Examples Julia Sets Complex Dynamics Image Generation Examples Fractal Dimension of Julia Sets Concept Implementation Results

120 Image Generation What do Julia sets look like?

121 Image Generation The first step is to determine the number of Fatou components.

122 Image Generation The first step is to determine the number of Fatou components. There is always one component F 1 with f n c (z).

123 Image Generation The first step is to determine the number of Fatou components. There is always one component F 1 with f n c (z). Call the number of other components p.

124 Image Generation The first step is to determine the number of Fatou components. There is always one component F 1 with f n c (z). Call the number of other components p. Then there are components F m, 0 m < p with f pn c (z) z m.

125 Image Generation The first step is to determine the number of Fatou components. There is always one component F 1 with f n c (z). Call the number of other components p. Then there are components F m, 0 m < p with f pn c (z) z m. The algorithm for determining p from c is quite involved, so I won t go into it now.

126 Image Generation The second step is to determine the attractor of F 0 : (if p = 0, skip this step)

127 Image Generation The second step is to determine the attractor of F 0 : (if p = 0, skip this step) Define z 0 = lim n f pn c (0).

128 Image Generation The second step is to determine the attractor of F 0 : (if p = 0, skip this step) Define z 0 = lim n f pn c (0). z 0 satisfies f p c (z 0 ) = z 0.

129 Image Generation The second step is to determine the attractor of F 0 : (if p = 0, skip this step) Define z 0 = lim n f pn c (0). z 0 satisfies f p c (z 0 ) = z 0. The solution can be found using Newton s method.

130 Image Generation Now we can iterate f c (z) with z set by the coordinates of the pixel within the image, to determine which Fatou component z is in:

131 Image Generation Now we can iterate f c (z) with z set by the coordinates of the pixel within the image, to determine which Fatou component z is in: We need two numbers, a large E for detecting attraction to and a small e for detecting attraction to z 0.

132 Image Generation Now we can iterate f c (z) with z set by the coordinates of the pixel within the image, to determine which Fatou component z is in: We need two numbers, a large E for detecting attraction to and a small e for detecting attraction to z 0. If f n c (z) > E, then z F 1.

133 Image Generation Now we can iterate f c (z) with z set by the coordinates of the pixel within the image, to determine which Fatou component z is in: We need two numbers, a large E for detecting attraction to and a small e for detecting attraction to z 0. If f n c (z) > E, then z F 1. If f n c (z) z 0 < e, then z F n mod p.

134 Image Generation Now we can iterate f c (z) with z set by the coordinates of the pixel within the image, to determine which Fatou component z is in: We need two numbers, a large E for detecting attraction to and a small e for detecting attraction to z 0. If f n c (z) > E, then z F 1. If f n c (z) z 0 < e, then z F n mod p. If n > N, where N is a maximum iteration count necessary for finite computers, then we give up, and don t know much about z.

135 Image Generation While iterating, keep track of the derivative:

136 Image Generation While iterating, keep track of the derivative: z f 0 c (z) = 1

137 Image Generation While iterating, keep track of the derivative: z f 0 c (z) = 1 z f c n+1 (z) = 2fc n (z) z f c n (z)

138 Image Generation While iterating, keep track of the derivative: z f 0 c (z) = 1 z f n+1 c (z) = 2f n c (z) z f n c (z) In imperative programming language pseudo-code: z := pixel coordinates d := 1 for n := 0 to N d := 2 * z * d z := z * z + c

139 Image Generation Why do we need the derivative?

140 Image Generation Why do we need the derivative? The Julia set is the boundary of the Fatou components.

141 Image Generation Why do we need the derivative? The Julia set is the boundary of the Fatou components. How to detect the boundary, if there is only one Fatou component?

142 Image Generation Why do we need the derivative? The Julia set is the boundary of the Fatou components. How to detect the boundary, if there is only one Fatou component? Even if there are more components, the boundary might be very thin in places.

143 Image Generation The derivative provides an estimate of the distance to the Julia set:

144 Image Generation The derivative provides an estimate of the distance to the Julia set: d = f c n (z) log fc n (z) z f c n (z)

145 Image Generation The derivative provides an estimate of the distance to the Julia set: d = f c n (z) log fc n (z) z f c n (z) If d is small compared to the pixel size, the Julia set passes through the pixel.

146 Image Generation The derivative provides an estimate of the distance to the Julia set: d = f c n (z) log fc n (z) z f c n (z) If d is small compared to the pixel size, the Julia set passes through the pixel. This formula is only valid for F 1 with f n c (z), so it s best to make E as large as reasonably possible.

147 Image Generation The derivative provides an estimate of the distance to the Julia set: d = f c n (z) log fc n (z) z f c n (z) If d is small compared to the pixel size, the Julia set passes through the pixel. This formula is only valid for F 1 with f n c (z), so it s best to make E as large as reasonably possible. (There are other formulae for the other cases, but I couldn t get them to work reliably.)

148 Image Generation Now we know the Fatou component F m for each pixel, and for m = 1 we also have a distance estimate d. This is enough to generate an image:

149 Image Generation Now we know the Fatou component F m for each pixel, and for m = 1 we also have a distance estimate d. This is enough to generate an image: If m = 1 and d is small, then colour the pixel black.

150 Image Generation Now we know the Fatou component F m for each pixel, and for m = 1 we also have a distance estimate d. This is enough to generate an image: If m = 1 and d is small, then colour the pixel black. If m = 1 and d is large, then colour the pixel white.

151 Image Generation Now we know the Fatou component F m for each pixel, and for m = 1 we also have a distance estimate d. This is enough to generate an image: If m = 1 and d is small, then colour the pixel black. If m = 1 and d is large, then colour the pixel white. Compare our m with the m for neighbouring pixels:

152 Image Generation Now we know the Fatou component F m for each pixel, and for m = 1 we also have a distance estimate d. This is enough to generate an image: If m = 1 and d is small, then colour the pixel black. If m = 1 and d is large, then colour the pixel white. Compare our m with the m for neighbouring pixels: If any are different, then colour the pixel black.

153 Image Generation Now we know the Fatou component F m for each pixel, and for m = 1 we also have a distance estimate d. This is enough to generate an image: If m = 1 and d is small, then colour the pixel black. If m = 1 and d is large, then colour the pixel white. Compare our m with the m for neighbouring pixels: If any are different, then colour the pixel black. If all are the same, then colour the pixel white.

154 Image Generation Now we know the Fatou component F m for each pixel, and for m = 1 we also have a distance estimate d. This is enough to generate an image: If m = 1 and d is small, then colour the pixel black. If m = 1 and d is large, then colour the pixel white. Compare our m with the m for neighbouring pixels: If any are different, then colour the pixel black. If all are the same, then colour the pixel white. This image has black pixels near the Julia set, and white pixels elsewhere.

155 Image Generation Now we know the Fatou component F m for each pixel, and for m = 1 we also have a distance estimate d. This is enough to generate an image: If m = 1 and d is small, then colour the pixel black. If m = 1 and d is large, then colour the pixel white. Compare our m with the m for neighbouring pixels: If any are different, then colour the pixel black. If all are the same, then colour the pixel white. This image has black pixels near the Julia set, and white pixels elsewhere. An extension is to colour pixels by the value of m, instead of white, as in the following examples.

156 Examples Fractal Dimension How Long is a Coast? Box-Counting Dimension Examples Julia Sets Complex Dynamics Image Generation Examples Fractal Dimension of Julia Sets Concept Implementation Results

157 Example: needle dust c = i dim

158 Example: elephant dust c = i dim

159 Example: seahorse dust c = i dim

160 Example: needle tip dendrite c = 2 + 0i dim

161 Example: 2-way hub dendrite c = i dim

162 Example: 3-way hub dendrite c = i dim

163 Example: period 1 c = i dim

164 Example: period 2 c = 1 + 0i dim

165 Example: period 3 c = i dim

166 Example: period 1 near 2 over 5 c = i dim

167 Example: period 5 near 2 over 5 c = i dim

168 Example: period 5 c = i dim

169 Example: period 3 island c = i dim

170 Example: period 3 island 1 over 3 bulb c = i dim

171 Example: period 4 island c = i dim

172 Fractal Dimension of Julia Sets Fractal Dimension How Long is a Coast? Box-Counting Dimension Examples Julia Sets Complex Dynamics Image Generation Examples Fractal Dimension of Julia Sets Concept Implementation Results

173 Concept Fractal Dimension How Long is a Coast? Box-Counting Dimension Examples Julia Sets Complex Dynamics Image Generation Examples Fractal Dimension of Julia Sets Concept Implementation Results

174 Concept The Mandelbrot set is a c-plane plot of whether J(f c ) is connected.

175 Concept The Mandelbrot set is a c-plane plot of whether J(f c ) is connected. Some visualisations of the Mandelbrot set use psychedelic colours, but the mathematical object is binary.

176 Concept The Mandelbrot set

177 Concept What would a c-plane plot of dim J(f c ) look like?

178 Concept What would a c-plane plot of dim J(f c ) look like? 0 dim J(f c ) 2, so a spectrum of colours would be necessary.

179 Implementation Fractal Dimension How Long is a Coast? Box-Counting Dimension Examples Julia Sets Complex Dynamics Image Generation Examples Fractal Dimension of Julia Sets Concept Implementation Results

180 Implementation The implementation is written in C99:

181 Implementation The implementation is written in C99: C99 supports complex numbers.

182 Implementation The implementation is written in C99: C99 supports complex numbers. Low-level and efficient.

183 Implementation The implementation is written in C99: C99 supports complex numbers. Low-level and efficient. Most libraries have C interfaces.

184 Implementation The implementation uses OpenGL for graphics:

185 Implementation The implementation uses OpenGL for graphics: OpenGL supports programmable graphics hardware (GPUs).

186 Implementation The implementation uses OpenGL for graphics: OpenGL supports programmable graphics hardware (GPUs). GPUs are very good at parallel number-crunching tasks, like rendering a Julia set.

187 Implementation The implementation uses OpenGL for graphics: OpenGL supports programmable graphics hardware (GPUs). GPUs are very good at parallel number-crunching tasks, like rendering a Julia set. Mipmap generation reduces images to progressively coarser pixel resolutions.

188 Implementation The implementation uses OpenGL for graphics: OpenGL supports programmable graphics hardware (GPUs). GPUs are very good at parallel number-crunching tasks, like rendering a Julia set. Mipmap generation reduces images to progressively coarser pixel resolutions. Occlusion queries can be used for counting pixels.

189 Implementation The implementation uses a few fragment shaders:

190 Implementation The implementation uses a few fragment shaders: to compute Fatou components and distance estimates;

191 Implementation The implementation uses a few fragment shaders: to compute Fatou components and distance estimates; to post-process the Fatou component index and distance estimate into a black and white image of the Julia set;

192 Implementation The implementation uses a few fragment shaders: to compute Fatou components and distance estimates; to post-process the Fatou component index and distance estimate into a black and white image of the Julia set; to discard pixels below a threshold.

193 Implementation Mipmap reduction averages groups of pixels:

194 Implementation Mipmap reduction averages groups of pixels:

195 Implementation Mipmap reduction averages groups of pixels: Box-counting should count if any subpixel was black.

196 Implementation Mipmap reduction averages groups of pixels: Box-counting should count if any subpixel was black. The solution is to threshold the grey level in each mipmap level.

197 Implementation Mipmap reduction averages groups of pixels: Box-counting should count if any subpixel was black. The solution is to threshold the grey level in each mipmap level. The threshold should between the lightest grey and white.

198 Implementation Box-counting is performed with occlusion queries:

199 Implementation Box-counting is performed with occlusion queries: First clear the depth buffer.

200 Implementation Box-counting is performed with occlusion queries: First clear the depth buffer. Then draw the Julia set, discarding pixels below a threshold.

201 Implementation Box-counting is performed with occlusion queries: First clear the depth buffer. Then draw the Julia set, discarding pixels below a threshold. Then draw again, but further away.

202 Implementation Box-counting is performed with occlusion queries: First clear the depth buffer. Then draw the Julia set, discarding pixels below a threshold. Then draw again, but further away. The depth test prevents pixels that were rendered the first time from being drawn, so only the previously discarded pixels pass.

203 Implementation Box-counting is performed with occlusion queries: First clear the depth buffer. Then draw the Julia set, discarding pixels below a threshold. Then draw again, but further away. The depth test prevents pixels that were rendered the first time from being drawn, so only the previously discarded pixels pass. The occlusion query counts the number of passed pixels in the second draw.

204 Implementation Performance:

205 Implementation Performance: Faster than a CPU-based implementation.

206 Implementation Performance: Faster than a CPU-based implementation. But it s still time-consuming.

207 Implementation Performance: Faster than a CPU-based implementation. But it s still time-consuming. The final image took over 5 hours to render.

208 Implementation Performance: Faster than a CPU-based implementation. But it s still time-consuming. The final image took over 5 hours to render. Watching the image appear pixel-by-pixel brings back memories of rendering fractals a couple of decades ago...

209 Results Fractal Dimension How Long is a Coast? Box-Counting Dimension Examples Julia Sets Complex Dynamics Image Generation Examples Fractal Dimension of Julia Sets Concept Implementation Results

210 Results dim

211 Results But is it accurate?

212 Results But is it accurate? No.

213 Results But is it accurate? No. But it s pretty close.

214 Results Recall the formula I actually used: dim = 1 2 log N 2r0 2 N 8r0 r 0 = pixel size

215 Results Recall the formula I actually used: dim = 1 2 log N 2r0 2 N 8r0 r 0 = pixel size This formula is based on simple linear regression of log N against log r.

216 Results Recall the formula I actually used: dim = 1 2 log N 2r0 2 N 8r0 r 0 = pixel size This formula is based on simple linear regression of log N against log r. I tried all possibilities of 0 s < t 12 for a regression range between 2 s r 0 and 2 t r 0.

217 Results t s When s = 0 and t is small, the dimension calculated is wrong because the Julia set is too inexact at the resolution of the pixel grid

218 Results t s Increasing s a little reduces this artifact of pixel resolution, but t needs to stay small or the results go bad again

219 Results t s When both s and t are large, the results are nonsense

220 Results t s The best trade-off seems to be at s = 1 and t = 3, which gives the formula I actually used

221 The End The End.

222

On Fractal Colouring Algorithms

On Fractal Colouring Algorithms 5 10 July 2004, Antalya, Turkey Dynamical Systems and Applications, Proceedings, pp. 706 711 On Fractal Colouring Algorithms Nergiz Yaz Department of Mathematics, Faculty of Sciences Ankara University,

More information

6. The Mandelbrot Set

6. The Mandelbrot Set 1 The Mandelbrot Set King of mathematical monsters Im 0-1 -2-1 0 Re Christoph Traxler Fractals-Mandelbrot 1 Christoph Traxler Fractals-Mandelbrot 2 6.1 Christoph Traxler Fractals-Mandelbrot 3 Christoph

More information

Fractals exercise. Investigating task farms and load imbalance

Fractals exercise. Investigating task farms and load imbalance Fractals exercise Investigating task farms and load imbalance Reusing this material This work is licensed under a Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International License. http://creativecommons.org/licenses/by-nc-sa/4.0/deed.en_us

More information

6.094 Introduction to MATLAB January (IAP) 2009

6.094 Introduction to MATLAB January (IAP) 2009 MIT OpenCourseWare http://ocw.mit.edu 6.094 Introduction to MATLAB January (IAP) 009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 6.094: Introduction

More information

THE DEGREE OF POLYNOMIAL CURVES WITH A FRACTAL GEOMETRIC VIEW

THE DEGREE OF POLYNOMIAL CURVES WITH A FRACTAL GEOMETRIC VIEW 225 THE DEGREE OF POLYNOMIAL CURVES WITH A FRACTAL GEOMETRIC VIEW S. Mohanty 1 and A. Misra 2 1 Department of Computer Science and Applications, Utkal University, Bhubaneswar-751004, INDIA. 2 Silicon Institute

More information

Fractals. Investigating task farms and load imbalance

Fractals. Investigating task farms and load imbalance Fractals Investigating task farms and load imbalance Reusing this material This work is licensed under a Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International License. http://creativecommons.org/licenses/by-nc-sa/4.0/deed.en_us

More information

TSBK03 Screen-Space Ambient Occlusion

TSBK03 Screen-Space Ambient Occlusion TSBK03 Screen-Space Ambient Occlusion Joakim Gebart, Jimmy Liikala December 15, 2013 Contents 1 Abstract 1 2 History 2 2.1 Crysis method..................................... 2 3 Chosen method 2 3.1 Algorithm

More information

Lecture 3: Some Strange Properties of Fractal Curves

Lecture 3: Some Strange Properties of Fractal Curves Lecture 3: Some Strange Properties of Fractal Curves I have been a stranger in a strange land. Exodus 2:22 1. Fractal Strangeness Fractals have a look and feel that is very different from ordinary curves.

More information

CS179: GPU Programming Recitation 5: Rendering Fractals

CS179: GPU Programming Recitation 5: Rendering Fractals CS179: GPU Programming Recitation 5: Rendering Fractals Rendering Fractals Volume data vs. texture memory Creating and using CUDA arrays Using PBOs for screen output Quaternion Julia Sets Rendering volume

More information

Hopalong Fractals. Linear complex. Quadratic complex

Hopalong Fractals. Linear complex. Quadratic complex Hopalong Fractals Hopalong fractals are created by iterating a more or less simple formula in x and y over and over again. In general three types of behaviour can be distinguished. Often the series will

More information

Escape-Time Fractals

Escape-Time Fractals Escape-Time Fractals Main Concept Fractals are geometric shapes that exhibit self-similarity. That is, they have the same pattern at different scales. In fact, fractals continue to show intricate details

More information

28 SAMPLING. ALIASING AND ANTI-ALIASING

28 SAMPLING. ALIASING AND ANTI-ALIASING 28 SAMPLING. ALIASING AND ANTI-ALIASING Textbook: 16 UGRAD.CS.UBC.CA/~CS314 Alla Sheffer, 2016 ALIASING & ANTI-ALIASING Adobe, inc., https://helpx.adobe.com/photoshop/key concepts/aliasing anti aliasing.html

More information

1

1 Zeros&asymptotes Example 1 In an early version of this activity I began with a sequence of simple examples (parabolas and cubics) working gradually up to the main idea. But now I think the best strategy

More information

Screen Space Ambient Occlusion TSBK03: Advanced Game Programming

Screen Space Ambient Occlusion TSBK03: Advanced Game Programming Screen Space Ambient Occlusion TSBK03: Advanced Game Programming August Nam-Ki Ek, Oscar Johnson and Ramin Assadi March 5, 2015 This project report discusses our approach of implementing Screen Space Ambient

More information

Images of Julia sets that you can trust

Images of Julia sets that you can trust Images of Julia sets that you can trust Luiz Henrique de Figueiredo with Diego Nehab (IMPA) Jorge Stolfi (UNICAMP) João Batista Oliveira (PUCRS) Can we trust this beautiful image? Curtis McMullen Julia

More information

Gentle Introduction to Fractals

Gentle Introduction to Fractals Gentle Introduction to Fractals www.nclab.com Contents 1 Fractals Basics 1 1.1 Concept................................................ 1 1.2 History................................................ 2 1.3

More information

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 CSE 167: Introduction to Computer Graphics Lecture #9: Visibility Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 Announcements Midterm Scores are on TritonEd Exams to be

More information

Here s the general problem we want to solve efficiently: Given a light and a set of pixels in view space, resolve occlusion between each pixel and

Here s the general problem we want to solve efficiently: Given a light and a set of pixels in view space, resolve occlusion between each pixel and 1 Here s the general problem we want to solve efficiently: Given a light and a set of pixels in view space, resolve occlusion between each pixel and the light. 2 To visualize this problem, consider the

More information

Clustering Color/Intensity. Group together pixels of similar color/intensity.

Clustering Color/Intensity. Group together pixels of similar color/intensity. Clustering Color/Intensity Group together pixels of similar color/intensity. Agglomerative Clustering Cluster = connected pixels with similar color. Optimal decomposition may be hard. For example, find

More information

Shadows in the graphics pipeline

Shadows in the graphics pipeline Shadows in the graphics pipeline Steve Marschner Cornell University CS 569 Spring 2008, 19 February There are a number of visual cues that help let the viewer know about the 3D relationships between objects

More information

Generation of 3D Fractal Images for Mandelbrot and Julia Sets

Generation of 3D Fractal Images for Mandelbrot and Julia Sets 178 Generation of 3D Fractal Images for Mandelbrot and Julia Sets Bulusu Rama #, Jibitesh Mishra * # Department of Computer Science and Engineering, MLR Institute of Technology Hyderabad, India 1 rama_bulusu@yahoo.com

More information

Session 27: Fractals - Handout

Session 27: Fractals - Handout Session 27: Fractals - Handout Clouds are not spheres, mountains are not cones, coastlines are not circles, and bark is not smooth, nor does lightning travel in a straight line. Benoit Mandelbrot (1924-2010)

More information

Mathematical Tools in Computer Graphics with C# Implementations Table of Contents

Mathematical Tools in Computer Graphics with C# Implementations Table of Contents Mathematical Tools in Computer Graphics with C# Implementations by Hardy Alexandre, Willi-Hans Steeb, World Scientific Publishing Company, Incorporated, 2008 Table of Contents List of Figures Notation

More information

Direct Rendering of Trimmed NURBS Surfaces

Direct Rendering of Trimmed NURBS Surfaces Direct Rendering of Trimmed NURBS Surfaces Hardware Graphics Pipeline 2/ 81 Hardware Graphics Pipeline GPU Video Memory CPU Vertex Processor Raster Unit Fragment Processor Render Target Screen Extended

More information

Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters.

Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters. 1 2 Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters. Crowd rendering in large environments presents a number of challenges,

More information

ITERATIVE OPERATIONS IN CONSTRUCTION CIRCULAR AND SQUARE FRACTAL CARPETS

ITERATIVE OPERATIONS IN CONSTRUCTION CIRCULAR AND SQUARE FRACTAL CARPETS ITERATIVE OPERATIONS IN CONSTRUCTION CIRCULAR AND SQUARE FRACTAL CARPETS Dr. Yusra Faisal Al-Irhaim, Marah Mohamed Taha University of Mosul, Iraq ABSTRACT: Carpet designing is not only a fascinating activity

More information

Exploring Fractals through Geometry and Algebra. Kelly Deckelman Ben Eggleston Laura Mckenzie Patricia Parker-Davis Deanna Voss

Exploring Fractals through Geometry and Algebra. Kelly Deckelman Ben Eggleston Laura Mckenzie Patricia Parker-Davis Deanna Voss Exploring Fractals through Geometry and Algebra Kelly Deckelman Ben Eggleston Laura Mckenzie Patricia Parker-Davis Deanna Voss Learning Objective and skills practiced Students will: Learn the three criteria

More information

Continuity and Tangent Lines for functions of two variables

Continuity and Tangent Lines for functions of two variables Continuity and Tangent Lines for functions of two variables James K. Peterson Department of Biological Sciences and Department of Mathematical Sciences Clemson University April 4, 2014 Outline 1 Continuity

More information

Soft shadows. Steve Marschner Cornell University CS 569 Spring 2008, 21 February

Soft shadows. Steve Marschner Cornell University CS 569 Spring 2008, 21 February Soft shadows Steve Marschner Cornell University CS 569 Spring 2008, 21 February Soft shadows are what we normally see in the real world. If you are near a bare halogen bulb, a stage spotlight, or other

More information

INF3320 Computer Graphics and Discrete Geometry

INF3320 Computer Graphics and Discrete Geometry INF3320 Computer Graphics and Discrete Geometry Texturing Christopher Dyken Martin Reimers 06.10.2010 Page 1 Texturing Linear interpolation Real Time Rendering: Chapter 5: Visual Appearance Chapter 6:

More information

Hidden-Surface Removal.

Hidden-Surface Removal. Hidden-Surface emoval. Here we need to discover whether an object is visible or another one obscures it. here are two fundamental approaches to remove the hidden surfaces: ) he object-space approach )

More information

SYSTEMS OF NONLINEAR EQUATIONS

SYSTEMS OF NONLINEAR EQUATIONS SYSTEMS OF NONLINEAR EQUATIONS Widely used in the mathematical modeling of real world phenomena. We introduce some numerical methods for their solution. For better intuition, we examine systems of two

More information

ENGG1811: Data Analysis using Spreadsheets Part 1 1

ENGG1811: Data Analysis using Spreadsheets Part 1 1 ENGG1811 Computing for Engineers Data Analysis using Spreadsheets 1 I Data Analysis Pivot Tables Simple Statistics Histogram Correlation Fitting Equations to Data Presenting Charts Solving Single-Variable

More information

LPGPU2 Font Renderer App

LPGPU2 Font Renderer App LPGPU2 Font Renderer App Performance Analysis 2 Introduction As part of LPGPU2 Work Package 3, a font rendering app was developed to research the profiling characteristics of different font rendering algorithms.

More information

FRACTALS, FUNCTIONS, and FEEDBACK SYSTEMS

FRACTALS, FUNCTIONS, and FEEDBACK SYSTEMS FRACTALS, FUNCTIONS, and FEEDBACK SYSTEMS Summary: This article describes an investigation into fractals, the methods of creating them, as well as some mathematical considerations about their nature. This

More information

THE GRAPH OF FRACTAL DIMENSIONS OF JULIA SETS Bünyamin Demir 1, Yunus Özdemir2, Mustafa Saltan 3. Anadolu University Eskişehir, TURKEY

THE GRAPH OF FRACTAL DIMENSIONS OF JULIA SETS Bünyamin Demir 1, Yunus Özdemir2, Mustafa Saltan 3. Anadolu University Eskişehir, TURKEY International Journal of Pure and Applied Mathematics Volume 70 No. 3 2011, 401-409 THE GRAPH OF FRACTAL DIMENSIONS OF JULIA SETS Bünyamin Demir 1, Yunus Özdemir2, Mustafa Saltan 3 1,2,3 Department of

More information

Performance Analysis and Culling Algorithms

Performance Analysis and Culling Algorithms Performance Analysis and Culling Algorithms Michael Doggett Department of Computer Science Lund University 2009 Tomas Akenine-Möller and Michael Doggett 1 Assignment 2 Sign up for Pluto labs on the web

More information

Shadows for Many Lights sounds like it might mean something, but In fact it can mean very different things, that require very different solutions.

Shadows for Many Lights sounds like it might mean something, but In fact it can mean very different things, that require very different solutions. 1 2 Shadows for Many Lights sounds like it might mean something, but In fact it can mean very different things, that require very different solutions. 3 We aim for something like the numbers of lights

More information

Module Contact: Dr Stephen Laycock, CMP Copyright of the University of East Anglia Version 1

Module Contact: Dr Stephen Laycock, CMP Copyright of the University of East Anglia Version 1 UNIVERSITY OF EAST ANGLIA School of Computing Sciences Main Series PG Examination 2013-14 COMPUTER GAMES DEVELOPMENT CMPSME27 Time allowed: 2 hours Answer any THREE questions. (40 marks each) Notes are

More information

Computer Graphics Fundamentals. Jon Macey

Computer Graphics Fundamentals. Jon Macey Computer Graphics Fundamentals Jon Macey jmacey@bournemouth.ac.uk http://nccastaff.bournemouth.ac.uk/jmacey/ 1 1 What is CG Fundamentals Looking at how Images (and Animations) are actually produced in

More information

Robust Stencil Shadow Volumes. CEDEC 2001 Tokyo, Japan

Robust Stencil Shadow Volumes. CEDEC 2001 Tokyo, Japan Robust Stencil Shadow Volumes CEDEC 2001 Tokyo, Japan Mark J. Kilgard Graphics Software Engineer NVIDIA Corporation 2 Games Begin to Embrace Robust Shadows 3 John Carmack s new Doom engine leads the way

More information

Space Filling Curves and Hierarchical Basis. Klaus Speer

Space Filling Curves and Hierarchical Basis. Klaus Speer Space Filling Curves and Hierarchical Basis Klaus Speer Abstract Real world phenomena can be best described using differential equations. After linearisation we have to deal with huge linear systems of

More information

CS 463 Project 1 Imperative/OOP Fractals

CS 463 Project 1 Imperative/OOP Fractals CS 463 Project 1 Imperative/OOP Fractals The goal of a couple of our projects is to compare a simple project across different programming paradigms. This semester, we will calculate the Mandelbrot Set

More information

CS 179 GPU Programming

CS 179 GPU Programming CS179: GPU Programming Lecture 7: Render to Texture Lecture originally by Luke Durant, Russell McClellan, Tamas Szalay 1 Today: Render to Texture Render to texture in OpenGL Framebuffers and renderbuffers

More information

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015 Orthogonal Projection Matrices 1 Objectives Derive the projection matrices used for standard orthogonal projections Introduce oblique projections Introduce projection normalization 2 Normalization Rather

More information

Lecture 4: examples of topological spaces, coarser and finer topologies, bases and closed sets

Lecture 4: examples of topological spaces, coarser and finer topologies, bases and closed sets Lecture 4: examples of topological spaces, coarser and finer topologies, bases and closed sets Saul Glasman 14 September 2016 Let s give the definition of an open subset of R. Definition 1. Let U R. We

More information

Morphological: Sub-pixel Morhpological Anti-Aliasing [Jimenez 11] Fast AproXimatte Anti Aliasing [Lottes 09]

Morphological: Sub-pixel Morhpological Anti-Aliasing [Jimenez 11] Fast AproXimatte Anti Aliasing [Lottes 09] 1 2 3 Morphological: Sub-pixel Morhpological Anti-Aliasing [Jimenez 11] Fast AproXimatte Anti Aliasing [Lottes 09] Analytical: Geometric Buffer Anti Aliasing [Persson 11] Distance to Edge Anti Aliasing

More information

From Vertices to Fragments: Rasterization. Reading Assignment: Chapter 7. Special memory where pixel colors are stored.

From Vertices to Fragments: Rasterization. Reading Assignment: Chapter 7. Special memory where pixel colors are stored. From Vertices to Fragments: Rasterization Reading Assignment: Chapter 7 Frame Buffer Special memory where pixel colors are stored. System Bus CPU Main Memory Graphics Card -- Graphics Processing Unit (GPU)

More information

Shadow Techniques. Sim Dietrich NVIDIA Corporation

Shadow Techniques. Sim Dietrich NVIDIA Corporation Shadow Techniques Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com Lighting & Shadows The shadowing solution you choose can greatly influence the engine decisions you make This talk will outline

More information

Real Time Rendering of Complex Height Maps Walking an infinite realistic landscape By: Jeffrey Riaboy Written 9/7/03

Real Time Rendering of Complex Height Maps Walking an infinite realistic landscape By: Jeffrey Riaboy Written 9/7/03 1 Real Time Rendering of Complex Height Maps Walking an infinite realistic landscape By: Jeffrey Riaboy Written 9/7/03 Table of Contents 1 I. Overview 2 II. Creation of the landscape using fractals 3 A.

More information

Projective Shadows. D. Sim Dietrich Jr.

Projective Shadows. D. Sim Dietrich Jr. Projective Shadows D. Sim Dietrich Jr. Topics Projective Shadow Types Implementation on DirectX 7 HW Implementation on DirectX8 HW Integrating Shadows into an engine Types of Projective Shadows Static

More information

Fractals and the Chaos Game

Fractals and the Chaos Game Math: Outside the box! Fractals and the Chaos Game Monday February 23, 2009 3:30-4:20 IRMACS theatre, ASB 10900 Randall Pyke Senior Lecturer Department of Mathematics, SFU A Game. Is this a random walk?

More information

The Bisection Method versus Newton s Method in Maple (Classic Version for Windows)

The Bisection Method versus Newton s Method in Maple (Classic Version for Windows) The Bisection Method versus (Classic Version for Windows) Author: Barbara Forrest Contact: baforres@uwaterloo.ca Copyrighted/NOT FOR RESALE version 1.1 Contents 1 Objectives for this Lab i 2 Approximate

More information

Discussion 3. PPM loading Texture rendering in OpenGL

Discussion 3. PPM loading Texture rendering in OpenGL Discussion 3 PPM loading Texture rendering in OpenGL PPM Loading - Portable PixMap format 1. 2. Code for loadppm(): http://ivl.calit2.net/wiki/images/0/09/loadppm.txt ppm file format: Header: 1. P6: byte

More information

Fractals and Multi-Layer Coloring Algorithms

Fractals and Multi-Layer Coloring Algorithms Fractals and Multi-Layer Coloring Algorithms Javier Barrallo and Santiago Sanchez Mathematics, Physics and Computer Science The University of the Basque Country School of Architecture. Plaza Onati, 2.

More information

About Phoenix FD PLUGIN FOR 3DS MAX AND MAYA. SIMULATING AND RENDERING BOTH LIQUIDS AND FIRE/SMOKE. USED IN MOVIES, GAMES AND COMMERCIALS.

About Phoenix FD PLUGIN FOR 3DS MAX AND MAYA. SIMULATING AND RENDERING BOTH LIQUIDS AND FIRE/SMOKE. USED IN MOVIES, GAMES AND COMMERCIALS. About Phoenix FD PLUGIN FOR 3DS MAX AND MAYA. SIMULATING AND RENDERING BOTH LIQUIDS AND FIRE/SMOKE. USED IN MOVIES, GAMES AND COMMERCIALS. Phoenix FD core SIMULATION & RENDERING. SIMULATION CORE - GRID-BASED

More information

Advanced Real- Time Cel Shading Techniques in OpenGL Adam Hutchins Sean Kim

Advanced Real- Time Cel Shading Techniques in OpenGL Adam Hutchins Sean Kim Advanced Real- Time Cel Shading Techniques in OpenGL Adam Hutchins Sean Kim Cel shading, also known as toon shading, is a non- photorealistic rending technique that has been used in many animations and

More information

Raytracing 4D fractals, visualizing the four dimensional properties of the Julia set

Raytracing 4D fractals, visualizing the four dimensional properties of the Julia set Raytracing 4D fractals, visualizing the four dimensional properties of the Julia set Torkel Ödegaard Institute of Computer Science Mälardalen University Vitmårargatan 5c 722 26 Västerås, Sweden tod00001@student.mdh.se

More information

White Paper. Soft Shadows. February 2007 WP _v01

White Paper. Soft Shadows. February 2007 WP _v01 White Paper Soft Shadows February 2007 WP-03016-001_v01 White Paper Document Change History Version Date Responsible Reason for Change 01 KD, SM Initial release Go to sdkfeedback@nvidia.com to provide

More information

THE UNIVERSITY OF MANITOBA

THE UNIVERSITY OF MANITOBA THE UNIVERSITY OF MANITOBA MATHEMATICS 3400 (Combinatorics I) March 4, 2011 MIDTERM EAM 2 hours (6-8 PM) EAMINER: R. Craigen Total Marks: 100 NAME: STUDENT NUMBER: INSTRUCTIONS Write your name and student

More information

Gaël Guennebaud Loïc Barthe, Mathias Paulin IRIT UPS CNRS TOULOUSE FRANCE Gaël Guennebaud Cyprus June 2006

Gaël Guennebaud Loïc Barthe, Mathias Paulin IRIT UPS CNRS TOULOUSE FRANCE  Gaël Guennebaud Cyprus June 2006 Real-time Soft Shadow Mapping by back-projection Gaël Guennebaud Loïc Barthe, Mathias Paulin IRIT UPS CNRS TOULOUSE FRANCE http://www.irit.fr/~gael.guennebaud/ 1 Hard Shadows light source Is the light

More information

Universiteit Leiden Computer Science

Universiteit Leiden Computer Science Universiteit Leiden Computer Science Optimizing octree updates for visibility determination on dynamic scenes Name: Hans Wortel Student-no: 0607940 Date: 28/07/2011 1st supervisor: Dr. Michael Lew 2nd

More information

XaoS Notes. That means that I can give you a copy as long as I tell you the following:

XaoS Notes. That means that I can give you a copy as long as I tell you the following: Contents: Autopilot... 4 Basic controls... 3 Filters... 5 Installing XaoS... 1 Iterations... 4 Load random example... 4 Tutorials... 5 Theory: XaoS is a free program that generates fractals. Fractals are

More information

1) Accessing subarrays: make a square subwindow clearer (closer to white) in an image that you have; animation: move the window arround your image.

1) Accessing subarrays: make a square subwindow clearer (closer to white) in an image that you have; animation: move the window arround your image. Exercises: session 1 Accessing subarrays: make a square subwindow clearer (closer to white) in an image that you have; animation: move the window arround your image. Memory management: increasing the size

More information

WXML Final Report: Shapes of Julia Sets

WXML Final Report: Shapes of Julia Sets WXML Final Report: Shapes of Julia Sets Malik Younsi, Peter Lin, Chi-Yu Cheng, Siyuan Ni, Ryan Pachauri and Xiao Li Spring 2017 Abstract In general, the complex graphical representation of Julia set is

More information

1-Nearest Neighbor Boundary

1-Nearest Neighbor Boundary Linear Models Bankruptcy example R is the ratio of earnings to expenses L is the number of late payments on credit cards over the past year. We would like here to draw a linear separator, and get so a

More information

Boundary scanning and complex dynamics

Boundary scanning and complex dynamics BoundaryScanPP.nb 1 Boundary scanning and complex dynamics A preprint version of a Mathematical graphics column from Mathematica in Education and Research. Mark McClure mcmcclur@unca.edu Department of

More information

Let s start with occluding contours (or interior and exterior silhouettes), and look at image-space algorithms. A very simple technique is to render

Let s start with occluding contours (or interior and exterior silhouettes), and look at image-space algorithms. A very simple technique is to render 1 There are two major classes of algorithms for extracting most kinds of lines from 3D meshes. First, there are image-space algorithms that render something (such as a depth map or cosine-shaded model),

More information

CS451Real-time Rendering Pipeline

CS451Real-time Rendering Pipeline 1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does

More information

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo Computer Graphics Bing-Yu Chen National Taiwan University The University of Tokyo Hidden-Surface Removal Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm

More information

Soft Particles. Tristan Lorach

Soft Particles. Tristan Lorach Soft Particles Tristan Lorach tlorach@nvidia.com January 2007 Document Change History Version Date Responsible Reason for Change 1 01/17/07 Tristan Lorach Initial release January 2007 ii Abstract Before:

More information

Edge Detection. Whitepaper

Edge Detection. Whitepaper Public Imagination Technologies Edge Detection Copyright Imagination Technologies Limited. All Rights Reserved. This publication contains proprietary information which is subject to change without notice

More information

OpenGL Graphics System. 2D Graphics Primitives. Drawing 2D Graphics Primitives. 2D Graphics Primitives. Mathematical 2D Primitives.

OpenGL Graphics System. 2D Graphics Primitives. Drawing 2D Graphics Primitives. 2D Graphics Primitives. Mathematical 2D Primitives. D Graphics Primitives Eye sees Displays - CRT/LCD Frame buffer - Addressable pixel array (D) Graphics processor s main function is to map application model (D) by projection on to D primitives: points,

More information

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into 2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel

More information

CHARACTERIZATION OF THE POWDER PARTICLES SHAPES AND PROPERTIES USING THE FRACTAL THEORY

CHARACTERIZATION OF THE POWDER PARTICLES SHAPES AND PROPERTIES USING THE FRACTAL THEORY CHARACTERIZATION OF THE POWDER PARTICLES SHAPES AND PROPERTIES USING THE FRACTAL THEORY *M.Bodea, *N.Jumate, **M.Danca * Technical University of Cluj, ** Department of Mathematics Tehnofrig Technical College

More information

Intro to OpenGL III. Don Fussell Computer Science Department The University of Texas at Austin

Intro to OpenGL III. Don Fussell Computer Science Department The University of Texas at Austin Intro to OpenGL III Don Fussell Computer Science Department The University of Texas at Austin University of Texas at Austin CS354 - Computer Graphics Don Fussell Where are we? Continuing the OpenGL basic

More information

Vector Addition on the Device: main()

Vector Addition on the Device: main() Vector Addition on the Device: main() #define N 512 int main(void) { int *a, *b, *c; // host copies of a, b, c int *d_a, *d_b, *d_c; // device copies of a, b, c int size = N * sizeof(int); // Alloc space

More information

Line Drawing. Foundations of Computer Graphics Torsten Möller

Line Drawing. Foundations of Computer Graphics Torsten Möller Line Drawing Foundations of Computer Graphics Torsten Möller Rendering Pipeline Hardware Modelling Transform Visibility Illumination + Shading Perception, Interaction Color Texture/ Realism Reading Angel

More information

Image Precision Silhouette Edges

Image Precision Silhouette Edges Image Precision Silhouette Edges by Ramesh Raskar and Michael Cohen Presented at I3D 1999 Presented by Melanie Coggan Outline Motivation Previous Work Method Results Conclusions Outline Motivation Previous

More information

INF3320 Computer Graphics and Discrete Geometry

INF3320 Computer Graphics and Discrete Geometry INF3320 Computer Graphics and Discrete Geometry More smooth Curves and Surfaces Christopher Dyken, Michael Floater and Martin Reimers 10.11.2010 Page 1 More smooth Curves and Surfaces Akenine-Möller, Haines

More information

EXAMINATIONS 2017 TRIMESTER 2

EXAMINATIONS 2017 TRIMESTER 2 EXAMINATIONS 2017 TRIMESTER 2 CGRA 151 INTRODUCTION TO COMPUTER GRAPHICS Time Allowed: TWO HOURS CLOSED BOOK Permitted materials: Silent non-programmable calculators or silent programmable calculators

More information

Pipeline Operations. CS 4620 Lecture 14

Pipeline Operations. CS 4620 Lecture 14 Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives

More information

Some geometries to describe nature

Some geometries to describe nature Some geometries to describe nature Christiane Rousseau Since ancient times, the development of mathematics has been inspired, at least in part, by the need to provide models in other sciences, and that

More information

Models and Architectures

Models and Architectures Models and Architectures Objectives Learn the basic design of a graphics system Introduce graphics pipeline architecture Examine software components for an interactive graphics system 1 Image Formation

More information

Getting fancy with texture mapping (Part 2) CS559 Spring Apr 2017

Getting fancy with texture mapping (Part 2) CS559 Spring Apr 2017 Getting fancy with texture mapping (Part 2) CS559 Spring 2017 6 Apr 2017 Review Skyboxes as backdrops Credits : Flipmode 3D Review Reflection maps Credits : NVidia Review Decal textures Credits : andreucabre.com

More information

Per-pixel Rendering of Terrain Data

Per-pixel Rendering of Terrain Data Per-pixel Rendering of Terrain Data Taek Sang Jeong and JungHyun Han Department of Computer Science and Engineering, Korea University, Korea Abstract. This paper presents a novel approach to terrain rendering,

More information

Conemarching in VR. Johannes Saam Mariano Merchante FRAMESTORE. Developing a Fractal experience at 90 FPS. / Framestore

Conemarching in VR. Johannes Saam Mariano Merchante FRAMESTORE. Developing a Fractal experience at 90 FPS. / Framestore Conemarching in VR Developing a Fractal experience at 90 FPS Johannes Saam Mariano Merchante FRAMESTORE / Framestore THE CONCEPT THE CONCEPT FRACTALS AND COLLISIONS THE CONCEPT RAYMARCHING AND VR FRACTALS

More information

EE 4702 GPU Programming

EE 4702 GPU Programming fr 1 Final Exam Review When / Where EE 4702 GPU Programming fr 1 Tuesday, 4 December 2018, 12:30-14:30 (12:30 PM - 2:30 PM) CST Room 226 Tureaud Hall (Here) Conditions Closed Book, Closed Notes Bring one

More information

Line Drawing. Introduction to Computer Graphics Torsten Möller / Mike Phillips. Machiraju/Zhang/Möller

Line Drawing. Introduction to Computer Graphics Torsten Möller / Mike Phillips. Machiraju/Zhang/Möller Line Drawing Introduction to Computer Graphics Torsten Möller / Mike Phillips Rendering Pipeline Hardware Modelling Transform Visibility Illumination + Shading Perception, Color Interaction Texture/ Realism

More information

Praktikum 2014 Parallele Programmierung Universität Hamburg Dept. Informatics / Scientific Computing. October 23, FluidSim.

Praktikum 2014 Parallele Programmierung Universität Hamburg Dept. Informatics / Scientific Computing. October 23, FluidSim. Praktikum 2014 Parallele Programmierung Universität Hamburg Dept. Informatics / Scientific Computing October 23, 2014 Paul Bienkowski Author 2bienkow@informatik.uni-hamburg.de Dr. Julian Kunkel Supervisor

More information

Real Time Atmosphere Rendering for the Space Simulators

Real Time Atmosphere Rendering for the Space Simulators Real Time Atmosphere Rendering for the Space Simulators Radovan Josth Department of Computer Graphics and Multimedia FIT BUT Faculty of Information Technology Brno University of Technology Brno / Czech

More information

CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008.

CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008. CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions The Midterm Exam was given in class on Thursday, October 23, 2008. 1. [4 pts] Drawing Where? Your instructor says that objects should always be

More information

Adaptive Point Cloud Rendering

Adaptive Point Cloud Rendering 1 Adaptive Point Cloud Rendering Project Plan Final Group: May13-11 Christopher Jeffers Eric Jensen Joel Rausch Client: Siemens PLM Software Client Contact: Michael Carter Adviser: Simanta Mitra 4/29/13

More information

Advanced Shading I: Shadow Rasterization Techniques

Advanced Shading I: Shadow Rasterization Techniques Advanced Shading I: Shadow Rasterization Techniques Shadow Terminology umbra: light totally blocked penumbra: light partially blocked occluder: object blocking light Shadow Terminology umbra: light totally

More information

Could you make the XNA functions yourself?

Could you make the XNA functions yourself? 1 Could you make the XNA functions yourself? For the second and especially the third assignment, you need to globally understand what s going on inside the graphics hardware. You will write shaders, which

More information

Streaming Massive Environments From Zero to 200MPH

Streaming Massive Environments From Zero to 200MPH FORZA MOTORSPORT From Zero to 200MPH Chris Tector (Software Architect Turn 10 Studios) Turn 10 Internal studio at Microsoft Game Studios - we make Forza Motorsport Around 70 full time staff 2 Why am I

More information

Definition. Blending & Compositing. Front & Back Buffers. Left & Right Buffers. Blending combines geometric objects. e.g.

Definition. Blending & Compositing. Front & Back Buffers. Left & Right Buffers. Blending combines geometric objects. e.g. Blending & Compositing COMP 3003 Autumn 2005 Definition Blending combines geometric objects e.g. transparency Compositing combines entire images multi-pass textures accumulating results Both depend on

More information

EE795: Computer Vision and Intelligent Systems

EE795: Computer Vision and Intelligent Systems EE795: Computer Vision and Intelligent Systems Spring 2012 TTh 17:30-18:45 FDH 204 Lecture 14 130307 http://www.ee.unlv.edu/~b1morris/ecg795/ 2 Outline Review Stereo Dense Motion Estimation Translational

More information

CS 381 Computer Graphics, Fall 2012 Midterm Exam Solutions. The Midterm Exam was given in class on Tuesday, October 16, 2012.

CS 381 Computer Graphics, Fall 2012 Midterm Exam Solutions. The Midterm Exam was given in class on Tuesday, October 16, 2012. CS 381 Computer Graphics, Fall 2012 Midterm Exam Solutions The Midterm Exam was given in class on Tuesday, October 16, 2012. 1. [7 pts] Synthetic-Camera Model. Describe the Synthetic-Camera Model : how

More information

CS 325 Computer Graphics

CS 325 Computer Graphics CS 325 Computer Graphics 02 / 06 / 2012 Instructor: Michael Eckmann Today s Topics Questions? Comments? Antialiasing Polygons Interior points Fill areas tiling halftoning dithering Antialiasing Aliasing

More information