|
|
|
|
|
|
B. Determine probabilities p1, . . ., pn, which are oriented toward the magnitude of T1(B), . . ., Tn(B) referred to B. It holds that p1 + . . . + pn = 1. |
|
|
|
|
|
|
|
|
C. Fix the starting point (x,y) = (0,0). |
|
|
|
|
|
|
|
|
D. Decide on precisely one of the transformations Ti(i = 1, . . ., n) using the probability pi(i = 1, . . ., n). Let i = j have been selected. |
|
|
|
|
|
|
|
|
E. Calculate (xnew,ynew) = Tj(x,y). |
|
|
|
|
|
|
|
|
F. Plot the point (xnew,ynew). |
|
|
|
|
|
|
|
|
G. Set (x,y) = (xnew,ynew) and proceed to D. |
|
|
|
|
|
|
|
|
You can shorten the process as required. It's next to impossible to go wrong regarding the probabilities that arise. If you choose unfavorable values, the process merely lasts longer before the image emerges. However, the points you plot at the beginning are mostly outliersthey actually shouldn't even occur in the graphs at all. You can avoid these exceptions easily: simply start plotting from the point with the number 1000. |
|
|
|
|
|
|
|
|
It is possible for you to grant one transformation absolute authority (selected with the probability of 1) while the other transformations have no say at all. Since the transformation you selected acts in a competing fashion, the preceding algorithm terminates quickly. In other words, you quickly reach a fixed point after which you can't go any further. These images turn out to be rather plain. As soon as a second transformation with a positive probability comes into play, you won't approach any more stable end points. The other transformation shows up occasionally, and as a result, the current point is immediately repositioned. |
|
|
|
|
|
|
|
|
Enough theory; let's take a look at a practical application. Our aim is to go through a complete cycle of coding and decoding using the existing structures of Fig. 6.12. A few auxiliary constructions have already been started in the image; these can be seen in two places. First, at the upper right you see the overall image in a form that is slightly smaller and rotated by several degrees. You can easily determine the corresponding competing affine transformation. Second, with the exception of the lower part just mentioned, you can generate the spiral shape from the overall image information. You can determine the corresponding parameters af by fixing three original points and three image points and noting corresponding systems of equations. |
|
|
|
|
|
|
|
|
These simple transformations allow you to code the spiral object on the basis of 12 individual values (two af data records). In today's world, it's theoretically possible to code any meaningful image like this. You'll end up with a few hundred competing affine transformations that can completely generate the image's content. What's so great about that? Well, imagine that |
|
|
|
|
|