LegalizeAdulthood / iterated-dynamics

Iterated Dynamics is an open source fractal generator with support for many fractal types.
https://legalizeadulthood.github.io/iterated-dynamics/
GNU General Public License v3.0
21 stars 8 forks source link

Every fractal rendered by Fractint for Windows beta 5 is too wide in the X direction. #29

Closed LegalizeAdulthood closed 9 years ago

LegalizeAdulthood commented 9 years ago

Hal9009[CodePlex]
Every fractal rendered by Fractint for Windows beta 5 is too wide in the X direction

by a factor of 1.3333...

Thus, a reduction of the quotX Magnification Factorquot (ltzgt, ltF6gt) of 0.75 must be entered

for every fractal to have its aspect ratio be correct. Note that even the Mandelbrot

set initially calculated by default has had its quotX Magnification Factorquot set to 0.75

in order to have its appearance correct.

I attempt to calculate every one of Jim Muth's FOTD fractals with beta 5 (except Mandelbrot-BC3 images) and this aspect ratio problem has been present for every fractal calculated.

An apparent side effect of the above problem is that when one rotates an image (with the

aspect ratio set correctly) 90 degrees (without resizing it), is that the aspect ratio

of the rotated image becomes incorrect and must be corrected by again setting an quotX Magnification Factorquot of 0.75.

Also, the dotted quotzoom boxquot rectangle aspect ratio appears to be incorrect during and after

rotations. (This is more noticable when the quotzoom boxquot is smaller than its full size.)

Try rotating the default Mandelbrot set 90 degrees to see the resulting aspect ratio

error in the fractal that's created:

ltPageUpgt ltctrlgt+ltKeypad+gt ltctrlgt+ltKeypad+gt ltctrlgt+ltKeypad+gt etc., ... until your rotate the zoom box 90 degrees. ltEntergt

Hal Lane

LegalizeAdulthood commented 9 years ago

legalize[CodePlex]
Thanks for your continued assistance on helping me diagnose this problem, Hal. I am thinking that when I return to this code that I would like to address this issue and any outstanding crashes and then make that the first release of Iterated Dynamics that is not a beta.

LegalizeAdulthood commented 9 years ago

Hal9009[CodePlex]
...in the (often buggy) v options screen. If this screen appears at all ..., the aspect ratio is 1 rather than 0.75, so changing that value to 0.75 then causes the zoom box to show correctly proportioned when rotated. - [Simon_Snake Oct 1, 2012]

Since the v screen is so buggy, I've always avoided it. If I understood you correctly -- you're saying that the v screen can show a correctly proportioned rotated zoom box (after an initial correction of the X-magnification to 0.75). I've not tried this to verify my understanding of what you said, because I don't enjoy trying to use the v screen. ;-)

To work around the Fint4WinB5 rotated zoom box aspect ratio problem, I:

avoid the v screen, and after rotating a zoom box and hitting Enter I then (on the z screen):

reset X-mag to 0.75, and also reset Skew to 0 I do the immediately preceeding two steps after each rotation -- if I need to see the correct fractal region (and not the distorted one.) Occasionally this isn't recessary, but most of the time it is. I use a low resolution and g[uess] mode for Passes on the x screen to speed up seeing a preview of the just-rotated image to see if I need to make further zoom and/or rotation adjustments.

This gives a correct aspect ratio view of the correct location in the complex plane as far as I can tell.

The above steps are how I calculate around half of my variations on Jim Muth's images I post on my web site: http://www.emarketingiseasy.com/TESTS/FOTD/jim_muths_fotd.html

I use DOS Fractint for the other half. I always check Fint4WinB5's rendering of Jim's FOTD against his version to verify that Fint4WinB5 is doing it correctly. Other than the times when it shows an all single color screen -- fortunately relatively infrequently -- it essentially always gets Jim's images correct.

The only differences I've ever seen between a DOS Fractint image and the same Fint4WinB5 X-magnification-adjusted image was at extremely high magnification images, where some of the single pixels in a grainy area might be slightly different in location and density.

Hal Lane

LegalizeAdulthood commented 9 years ago

Simon_Snake[CodePlex]
I am not sure why but the problem is shown in the (often buggy) v options screen. If this screen appears at all (it often causes a buffer overrun crash), the aspect ratio is 1 rather than 0.75, so changing that value to 0.75 then causes the zoom box to show correctly proportioned when rotated.

Hope that makes some sense.

Simon

LegalizeAdulthood commented 9 years ago

Hal9009[CodePlex]
Re: Every fractal rendered by Fractint for Windows beta 5 is too wide in the X direction by a factor of 1.3333...

It seems that the two potentially most useful observations about the aspect ratio problem

in Fractint for Windows beta 5, are:

that the default M-set image that's created by Fractint for Windows beta 5 when starting up

the program has an X Magnification factor ( z F6 screen ) of 0.75 in order to achieve an

undistorted image, while the DOS version has an X Magnification factor of: 1.0, and

that Fractint for Windows beta 5's zoom box distorts when rotated ( PgUp, CtrlKeypadPlus,

CtrlKeypadPlus, etc. ) and the image specified by the distorted zoom box is distorted. DOS Fractint's zoom box is undistorted while rotated and creates an undistorted rotated image.

I've put screen caps of this behavior onto a web page for a quick overview of the problem: http://www.emarketingiseasy.com/TESTS/FOTD/Rotated_zmBoxes_DOS_Fint4Win_beta5.html or http://tinyurl.com/zoom-boxes

Hal Lane

LegalizeAdulthood commented 9 years ago

Hal9009[CodePlex]
Unfortunately, my carefully spaced table columns were collapsed by the comment system.

Here are the tables again, using non-collapsable periods instead of spaces:

On the properly proportioned Mandelbrot set initially calculated by default at 640x480 -- on the TAB screen (and on the more complete z F6 screen and z F6 F7 screen) are:

....................F4Win-b5 . DOS Fractint ............................X . Y .... X .. Y top-l............... -2.5 1.5 .. -2.5 1.5 bot-r............... 1.5 -1.5 .. 1.5 -1.5 Mag:............... 0.6667 .. 0.6667 X-Mag-Factor: 0.75 ... 1.0

. . .

On the 90 degree rotated 640x480 Mandelbrot's TAB screen (and more complete z F6 screen

and z F6 F7 screen) are:

.........................F4Win-b5 . DOS Fractint ..............................X .. Y ........ X .. Y top-l: ................. 1.5 1.5 ..... 1.0 2.0 bot-r: ................ -2.5 -1.5 .. -2.0 -2.0 bot-l: ................ -2.5 1.5 ... -2.0 2.0 Mag: .................. 0.5 ! .......... 0.6667 X-Mag-Factor: 1.3333 ! .... 1.0

Hal Lane

LegalizeAdulthood commented 9 years ago

Hal9009[CodePlex]
When you say too wide, are you referring to the image dimensions or the region in the complex plane? If the latter, does the TAB screen show the proper region coordinates?

Good questions!

Notes:

All procedures done and data taken while using the default 640x480 GDI video mode (F5). Fractint for Windows beta 5 == F4Win-b5

On the properly proportioned Mandelbrot set initially calculated by default at 640x480 -- on the TAB screen (and on the more complete z F6 screen and z F6 F7 screen) are: F4Win-b5 DOS Fractint X Y X Y top-l -2.5 1.5 -2.5 1.5 bot-r 1.5 -1.5 1.5 -1.5 Mag: 0.6667 0.6667 X-Mag-Factor: 0.75 !!!! 1.0

These values all match -- except the X-Mag-Factor -- and the images are identical in appearance

and pixel size.

Rotating this default Mandelbrot set 90 degrees in Fractint for Windows beta 5 using:

PageUp ctrl+Keypad+ ctrl+Keypad+ ctrl+Keypad+ etc. ... repeat until you rotate the zoom box 90 degrees. Enter

calculates a distorted Mandelbrot set in the same 640x480 pixel window. The largest

circular bulb of the M-set (tangent to the main cardoid area) has become an oval.

This figure should not be distorted (and remains circular in DOS Fractint.)

On the 90 degree rotated 640x480 Mandelbrot's TAB screen (and more complete z F6 screen

and z F6 F7 screen) are: F4Win-b5 DOS Fractint X Y X Y top-l 1.5 1.5 1.0 2.0 bot-r -2.5 -1.5 -2.0 -2.0 bot-l -2.5 1.5 -2.0 2.0 Mag: 0.5 !!!! 0.6667 X-Mag-Factor: 1.3333 !!!! 1.0

It appears that the authors of DOS Fractint have left the Magnification the same during the rotation, whereas F4Win-b5 changes the fractal's Magnification from 0.6667 to 0.5 .

The ratio of two program's extents in the Y-direction in the complex plane for the

rotated M-set is: F4Win-b5 / DOS = (1.5-(-1.5)) / (2.0-(-2.0)) = 3 / 4 = 0.75

The ratio of two program's Magnifications for the rotated M-set is: F4Win-b5 / DOS = 0.5 / 0.6667 = 0.75

So, these ratios correspond as expected.

But the ratio of two program's extents in the X-direction in the complex plane for the

rotated M-set is: F4Win-b5 / DOS = (1.5-(-2.5)) / (1.0-(-2.0)) = 4 / 3 = 1.33333

Note the discrpancy in the ratio of extents in the X-direction between the two programs

when compared to the ratio of Magnifications and ratio of extents in the Y-direction.

Since the ratios of the extents in the complex plane in the X and Y directions for the two programs aren't the same, this means that the fractal calculated by the

two programs will be different.

I believe that the cause of the distortion may be related to where the corners of the

rotated zoom box are located after its rotation. When the 90 degree rotated zoom

boxes of the two programs are compared, the dotted lines' corners are in different places

and the zoom boxes have different aspect ratios.

Assuming that the corners of the zoom box correctly indicate where in the complex

plane the image extent will be calculated corresponding to, I see that the different

locations of the zoom box corners will cause the aspect ratio of the 90 degree rotated image to change from the original in F4Win-b5.

Basically, the aspect ratio of the zoom box in Fractint for Windows beta 5 changes

as it is rotated. This then selects a stretched (squashed) aspect ratio for the calculated rotated fractal. The zoom box in DOS Fractint keeps its aspect ratio during its rotation

and the calculated rotated image maintains its aspect ratio. Additional Factoid If after a 90 degree rotation of the zoom box, I go to the F4Win-b5 Image Coordinates screen with: z F6 and change the X Magnification Factor

from: 1.3333 to: 0.75

the aspect ratio of the M-set is corrected -- the oval is returned to a circle.

However, the overall size of the M-set is reduced. The circular bulb has gone from its original ~80 pixels to ~60 pixels -- that is, the overall (corrected aspect ratio)

M-set is reduced in pixel size by a factor of 0.75 in both X and Y in the

640x480 window from the original size of the unrotated M-set. Presumably this can be

corrected with a compensating increase in the entire fractal's Magnification by 1.333.

LegalizeAdulthood commented 9 years ago

legalize[CodePlex]
When you say too wide, are you referring to the image dimensions or the region in the complex plane?

If the latter, does the TAB screen show the proper region coordinates?

LegalizeAdulthood commented 9 years ago

Duplicate of #19