Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scale for map #203

Closed
someretical opened this issue Jan 25, 2023 · 4 comments
Closed

Scale for map #203

someretical opened this issue Jan 25, 2023 · 4 comments

Comments

@someretical
Copy link

someretical commented Jan 25, 2023

Hi,

The feature I would like to be added is an adaptive scale for the map. Currently, the closest I can get to this is through Edit > Preferences > Custom grid spacing which is rather inconvenient if I would like to zoom in and out frequently.

The current system is easier to read when the coordinates are smaller, but in my case the coordinates I am working with are 7 digits each which makes it a lot more difficult to discern the difference between neighbouring regions.

@Delvin4519
Copy link

Delvin4519 commented Jan 25, 2023

I also have this problem of the default map grid being too cumbersome to read for 1.18, nether, and end maps.

Perhaps the default grid can be fixed to be double the length interval for 1.18, nether and end?

This is the default grid at 1:1.9999 zoom for 1.18+, nether, and end. Having the default grid at 128 intervals at this zoom, is a bit too much. This is at 0,0, so even worse a million blocks out.

The northwest corner of the grid is unreadable with the negative hundred numbers spilling into the next grid.

I also have a problem where the grid in 1.12/1.17 overworld maps is wider than the screen resolution at 1:4.0001 zoom level. Since my vertical resolution is under 1024px vertically, the vertical grid disappears at that particular zoom level/equivalents.

To my understanding, the grid is constructed directly from what scale the map tiles are being loaded it.
Grid = 1:128 if zoom < 2.0
Grid = 1:512 if zoom < 4.0 (overworld 1.17-), or zoom < 8.0
Grid = 1:2048 if zoom < 16.0 (overworld 1.17-), or zoom < 32.0
Grid = 1:8192 if zoom < 64.0 (overworld 1.17-), or zoom < 128.0
Grid = 132768 if zoom < 256.0 (overworld 1.17-), or zoom < 512.0
Grid = 1:131072 if zoom < 1024.0 (overworld 1.17-), or zoom >= 512.0
Grid = 1:131072 if zoom >=1024.0 (overworld 1.17-),

I wonder if there's a way for the grid to simply round to whatever power of 2 is from the zoom level directly. And if a number is greater than say, 1000000, then display the Z coordinate as a /newline.

Example: Take the blocks per pixel, multiply by 256, then round down to the power of 2 to obtain the grid.

In AMIDST, the grid is simply the blocks per pixel, rounded up to the nearest multiple of 4, then multiplied by 128 to obtain the grid.

image

@Delvin4519
Copy link

Delvin4519 commented Feb 10, 2023

[V3.1.1 ISSUE/BUG] Update:

As of v3.1.1, there is an adaptive custom grid spacing adaptive zoom. One thing of note:

One issue. The adaptive zoom scaling seems to be using a factor of 133.0 to be adjust the grid intervals. I can't seem to identify why it is using a factor of 133.0 to scale the grid under adaptive zoom instead of an expected factor of 128. Generally, it's desirable to have the grid scale at predictable zoom levels.

For example. Use a custom grid interval of 128. The zoom should scale at a zoom level of 1, 2, 4, 8, 16, etc. Instead, it is doing so at 128/133, 2*128/133, 4*128/133, 8*128/133.

I tested this using a zoom scaling of 5, and same issue. Set the grid interval to 128 again, and instead of scaling at 1, 5, 25, etc., it scales at a zoom level 1*128/133, 5*128/133, 25*128/133, etc, etc.

Set grid interval to 128:

Zoom scale: 0.9624, 0.9624 < 1*128/133 = 128 grid spacing. 128/0.9624 = 133.000831
Zoom scale: 0.9625, 0.9625 > 1*128/133 = 256 grid spacing. 256/0.9625 = 265.974026

Expected zoom scaling to adapt at: zoom: 1.0000
Actual zoom scaling adapting at: zoom: 0.9625 -> 1*128/133

If zoom scaling is set to 2, with grid interval of 128, then:

Zoom scale: 1.9248, 1.9248 < 2*128/133 = 256 grid spacing. 256/1.9248 = 133.000831
Zoom scale: 1.9249, 1.9249 > 2*128/133 = 512 grid spacing. 512/1.9249 = 265.987844

Expected zoom scaling to adapt at: zoom: 2.0000
Actual zoom scaling adapting at: zoom: 1.9249 -> 2*128/133

If zoom scaling is set to 5, with grid interval set to 128, then:

Zoom scale: 4.8120, 4.8120 < 5*128/133 = 640 grid spacing. 640/4.8120 = 133.000831
Zoom scale: 4.8121, 4.8121 > 5*128/133 = 3200 grid spacing. 3200/4.8121 = 664.990337

Expected zoom scaling to adapt at: zoom: 5.0000
Actual zoom scaling adapting at: zoom: 4.8121 -> 5*128/133.

Note: This issue of custom grid interval with adaptive zoom scaling was tested with the map view (NOT screen resolution, but the map size itself on screen) of 1024x976 pixels dedicated to the map itself, centered on 0,0. I tried resizing the map and moving the map to a different coordinates, but doesn't seem to have an effect.

I also tried a different grid interval, say, 100, but same issue:

Zoom scale: 0.7518, 0.7518 < 1*(100/128)*128/133 = 100 grid spacing. 100/0.7518 = 133.014099
Zoom scale: 0.7519, 0.7519 > 1*(100/128)*128/133 = 200 grid spacing. 200/0.7519 = 265.992818

Expected zoom scaling to adapt at: zoom: 0.7813 == (2^-7*100)
Actual zoom scaling adapting at: zoom: 0.7519 == 1*(100/128)*128/133

Cubitect added a commit that referenced this issue Feb 18, 2023
* added experimental 1.20 support
* added thread limit option for map view (#207)
* added multithreading support for biome image export
* added no-ocean biome layer for beta 1.7
* changed map scaling to be more consistent across platforms (#203)
* changed scaled biomes for beta 1.7 to be slightly more accurate
* fixed non-overworld voronoi scaling causing the program to crash (#209)
* fixed stronghold biomes for pre-1.13
* fixed a small 80 byte memory leak when switching seeds or version
* fixed tall_birch_hills instead of tall_birch_forest considered non-generating in 1.9 - 1.10 (MC-98995)
* fixed a crash when opening beta 1.7 with height map (still does not work though)
@Delvin4519
Copy link

This functionality is now fully functional as of v3.2.0. This issue may be closed and marked as resolved as such.

@someretical
Copy link
Author

🎉

SunnySlopes pushed a commit to SunnySlopes/cubiomes-viewer that referenced this issue Mar 1, 2023
* added experimental 1.20 support
* added thread limit option for map view (Cubitect#207)
* added multithreading support for biome image export
* added no-ocean biome layer for beta 1.7
* changed map scaling to be more consistent across platforms (Cubitect#203)
* changed scaled biomes for beta 1.7 to be slightly more accurate
* fixed non-overworld voronoi scaling causing the program to crash (Cubitect#209)
* fixed stronghold biomes for pre-1.13
* fixed a small 80 byte memory leak when switching seeds or version
* fixed tall_birch_hills instead of tall_birch_forest considered non-generating in 1.9 - 1.10 (MC-98995)
* fixed a crash when opening beta 1.7 with height map (still does not work though)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants