in reply to Re^5: Threads From Hell #3: Missing Some Basic Prerequisites
in thread Threads From Hell #3: Missing Some Basic Prerequisites [Solved]

## draw the line segment $i->line( $x, $y, $x + $count, $y, $color ); ## accumulating your current x position as you go.

Very cool, but doesn't this close the door to images with colour gradients?

Ok, the beautiful example zooms also, but this is another problem.

Edit: Corrected bad copy&paste.

Regards, Karl

«The Crux of the Biscuit is the Apostrophe»

Replies are listed 'Best First'.
Re^7: Threads From Hell #3: Missing Some Basic Prerequisites
by BrowserUk (Patriarch) on Jun 03, 2015 at 17:40 UTC
    but doesn't this close the door to images with colour gradients?

    First, and take this with a pinch of salt but I concluded a long time ago that interpolating gradients between calculated points on the Mandelbrot Set was cheating, and unnecessary.

    (To me) The interesting bits of the MS, are the details that are too fine to interpolate -- ie. the adjacent individual pixels all have different values -- not the interstigal bits which tend to fade away to blandness at higher rep counts and resolutions. As such interpolating those bland spaces detracts from the good bits, and is really only used to distract from the low resolution of the pretty bits.

    That said, interpolation does make for some very pretty pictures without having to wait hours for the render.

    And good news: no, the run length encoding scheme doesn't mean you have to give it up. In fact, it has done half the work you would need to do anyway.

    Given the run sequence (count/color): [10,100], [10,200], [10,300] then you want to get to a pixel color sequence something like:

    100, 107, 113, 120, 127, 133, 140, 147, 153, 160, 167, 173, 180, 187, +193, 200, 207, 213, 200, 227, 233, 240, 247, 253, 260, 267, 273, 280, + 287, 293, 300

    Note: Those are really pre color mapping iteration counts rather than colors.

    Of course, if your graphics library doesn't provide an interpolate line draw, then you're back to drawing individual pixels; but the run-length encoding tells you how many pixels and between what range of "colors" you need to interpolate.

    And if your GL does do interpolated line drawing then you have the information to set the color end points and lines lengths to hand.


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority". I'm with torvalds on this
    In the absence of evidence, opinion is indistinguishable from prejudice. Agile (and TDD) debunked