Changeset 2175
- Timestamp:
- Dec 29, 2007, 11:35:52 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
www/study/part3.html
r2174 r2175 370 370 371 371 <p> Dot diffusion was reinvented 14 years later by Arney, Anderson and Ganawan 372 without crediting Knuth. They call their method <b>omni-directional error 373 diffusion</b>. Instead of using a clustered dot matrix like dot diffusion, 374 they use a dispersed dot matrix. This is a 16×12 portion of that matrix: </p> 372 without even citing Knuth. They call their method <b>omni-directional error 373 diffusion</b>. Instead of using a clustered dot matrix like Knuth recommends 374 for dot diffusion, they use a dispersed dot matrix, which gives far better 375 results on a computer display. This is a 16×12 portion of that matrix: </p> 375 376 376 377 <p style="text-align: center;"> … … 379 380 </p> 380 381 381 <p> The recommended implementation of omni-directional error diffusion uses382 <p> The preferred implementation of omni-directional error diffusion uses 382 383 a slightly different propagation matrix, where top and bottom neighbours get 383 384 more error than the others: </p> … … 395 396 396 397 <p> Small error diffusion matrices usually cause artifacts to appear because 397 the error is not propagated in enough directions. Ostromoukhov suggest error 398 diffusion values that vary according to the input value. The list of 256 399 discrete value triplets for <i>d1</i>, <i>d2</i> and <i>d3</i> he provides 400 give pretty good results with serpentine parsing: </p> 398 the error is not propagated in enough directions. At the same time, such 399 matrices also reduce the sharpened aspect common in error diffusion 400 techniques. </p> 401 402 <p> Ostromoukhov suggests error diffusion values that vary according to the 403 input value. The list of 256 discrete value triplets for <i>d1</i>, <i>d2</i> 404 and <i>d3</i> he provides give pretty good results with serpentine parsing: 405 </p> 401 406 402 407 <p style="text-align: center;">
Note: See TracChangeset
for help on using the changeset viewer.