How would you 30%-dither a 8x9 pixels tileable rectangle?

So far I have something like this:
⬛⬜⬜⬛⬜⬜⬛⬜⬜
⬜⬛⬜⬜⬛⬜⬜⬛⬜
⬜⬜⬛⬜⬜⬛⬜⬜⬛
⬛⬜⬜⬛⬜⬜⬛⬜⬜
⬜⬛⬜⬜⬛⬜⬜⬛⬜
⬛⬜⬜⬛⬜⬜⬛⬜⬜
⬜⬜⬛⬜⬜⬛⬜⬜⬛
⬜⬛⬜⬜⬛⬜⬜⬛⬜

Any other ideas?

In the end I went with a slightly flatter 8x10 pixels and a 25%-dither.

@deshipu isn't the very point of dithering to avoid patterns exactly like the one you posted?

@temporal I'm open to suggestions.

@deshipu if by "tileable" you mean you're going to copy-paste the same pattern across a large surface, I think the problem as stated has no good solutions. No matter what you put on the rectangle, tiling will create some kind of pattern.

I think you need to be able to dither "globally" - replacing random 30% of the pixels, but allowing individual rectangles to each have slightly more or less than 30% pixels flipped.

The above is applicable only if I guessed the problem you're solving correctly.

@isziaui That is amazing, thank you!

@deshipu I wonder if going the other direction from 33% (e.g. 50%) wouldn’t work better due to nonlinearity of perception. Assuming the goal is to get four perceptually evenly spaced levels of gray. But choose whatever looks good on your display.

@isziaui Well, I need 4 levels, 0% and 100%, and then I have 25% and 75% (the 25% but negative). 50% would leave me with one level short.

@deshipu I was thinking something like 0%, 50%, 87.5%, 100% (percentages of black). Assuming gamma 2.2, that would give you “brightnesses” of [1, .5, .125, 0].^(1/2.2) = [1, .73, .39, 0]. (No idea if a power law is a good model here. The power law comes from CRT response but it happens to more or less match perception.)

@isziaui I can't upload photos right now, due to muskxodus, but looking at the LCD screen I'm using, if I changed anything, it would be the other way around: 0%, 25%, 50%, 100%, maybe. The black is pretty dark.

@isziaui Uploading works gain, here's how it works live with 25% and 75%.

@isziaui This is with 25% and 50%, I think it looks better.

@deshipu @isziaui looks good, but imo the colors are not important after the bricks are placed? so you could just have e.g outline and filled, too

@piggo @isziaui well, tetris is only one of the games on this, other games need more than outlines

@deshipu You’re right, this looks best. It’s probably the shadow of the pixels that causes a kind of “dot gain”, reversing the nonlinearity, that I didn’t take into account.

This Mastodon instance is for people interested in technology. Discussions aren't limited to technology, because tech folks shouldn't be limited to technology either!