Questão Por que os pixels são quadrados?


Os pixels nas telas são quadrados, mas não sei por quê.

Ambas as imagens pixeladas parecem muito ruins - mas não tenho certeza se há alguma vantagem de quadrados sobre hexágonos aqui.

Os hexágonos também se dividem em 3 cores bem:

Então, qual é a vantagem dos quadrados em um monitor LCD / CRT?


192


origem


Por favor, esclareça sobre o contexto. Você está se referindo a displays, formatos de imagem ou impressões? E mesmo assim, essa questão pode ser muito ampla. - Daniel B
Os pixels são unidades lógicas adimensionais e não são sempre quadrados na realidade, como sugere o @DanielB, cada rasterizador lida com eles de maneira diferente. Imagens do Google de "pixels de tela", por exemplo. - Yorik
Esta questão talvez deva ser migrada para Experiência de usuário ou Engenharia elétrica. - curiousdannii
Pergunta relacionada no Computer Graphics SE. - Martin Ender
Eu não entendo. Por que isso está sendo promovido, e por que ele não foi migrado para um fórum de engenharia mecânica? - Carl Witthoft


Respostas:


Os pixels nas telas são quadrados, mas não sei por quê.

Eles não são (necessariamente) quadrados.

Alguns argumentariam que eles são nunca esquadre ("Um pixel é uma amostra pontual. Existe apenas em um ponto.").


Então, qual é a vantagem dos quadrados em um monitor LCD / CRT?

  • Outros arranjos (como triângulos, hexágonos ou outros polígonos de preenchimento de espaço) são mais computacionalmente caros.

  • Cada formato de imagem é baseado em pixels (qualquer que seja a forma que eles são) dispostos em uma matriz retangular.

  • Se fôssemos escolher alguma outra forma ou layout, muitos softwares teriam que ser reescritos.

  • Todas as fábricas atualmente fabricando displays com um layout de pixels retangular teriam que ser refeitas para algum outro layout.


Práticas de usar um sistema de coordenadas hexagonal

Geralmente, existem quatro considerações principais que devem ser ponderadas   ao usar um sistema de coordenadas hexagonais:

  • Image Conversion - Hardware capaz de capturar imagens do mundo real diretamente em uma rede hexagonal é altamente especializado, e   por isso, geralmente não está disponível para uso. Portanto, meios eficientes de   converter uma imagem quadrada de treliça padrão em uma hexagonal é   necessário antes que qualquer processamento possa ser executado.
  • Endereçamento e Armazenamento - Quaisquer manipulações realizadas em imagens devem ser capazes de indexar e acessar pixels individuais (neste caso, hexágonos   em vez de quadrados), e qualquer imagem em formato hexagonal deve ser   armazenável em formato hexagonal (caso contrário, a conversão da imagem   ser realizada toda vez que a imagem for acessada). Além disso, uma indexação   sistema que é simples de seguir e faz a aritmética de certos   funções mais simples seria muito valioso.
  • Operações de Processamento de Imagens - Para fazer uso efetivo do sistema de coordenadas hexagonais, as operações devem ser projetadas ou   convertidos que são voltados para explorar os pontos fortes do sistema, e   particularmente os pontos fortes do sistema de endereçamento usado para indexação   e armazenamento.
  • Exibição de imagem - Assim como na obtenção da imagem em primeiro lugar, os dispositivos de exibição em geral não usam reticulados hexagonais.   Portanto, a imagem convertida deve ser retornada para um formato que possa ser   enviado para um dispositivo de saída (seja um monitor, uma impressora ou   outra entidade) com a exibição resultante aparecendo em   proporções e escala. A natureza exata dessa conversão é   dependente do método de indexação utilizado. Isto poderia ser um simples   reversão do processo original de conversão, ou seja, um   convolução considerável.

Problemas com sistemas de coordenadas hexagonais

Existem alguns problemas com os sistemas de coordenadas hexagonais. 1   A questão é que as pessoas estão muito acostumadas com a tradicional rede quadrada.

Raciocinar em feitiços pode parecer antinatural e, portanto, um pouco   difícil. Embora possa ser argumentado que as pessoas podem se acostumar com isso   se for necessário, ainda assim será natural   inclinado a raciocinar com a coordenada cartesiana tradicional   sistema por padrão, com sistemas hexagonais apenas uma escolha secundária.

A falta de dispositivos de entrada que mapeiam em redes hexagonais, eo   A falta de dispositivos de saída exibidos como tal também é um obstáculo:

  • A necessidade de converter de quadrados em hexágonos e vice-versa diminui a utilidade de operar em redes hexagonais.

  • Como tais redes são mais densas que as redes quadradas equivalentes com o mesmo tamanho aparente, a menos que as imagens sejam alimentadas deliberadamente   resolução do que deve ser operada, as imagens convertidas devem   extrapolar alguns locais de pixel (o que geralmente é menos desejável   do que ter todos os pixels fornecidos diretamente de uma fonte).

  • A conversão de volta para redes quadradas colapsaria algumas localizações de pixels umas nas outras, o que resulta na perda de detalhes aparentes   (o que poderia resultar em uma imagem de menor qualidade do que aquela que   originalmente alimentado em).

Se alguém procura usar sistemas de coordenadas hexagonais em sua própria visão   trabalho, eles devem primeiro determinar se esses problemas são   superadas pelas vantagens inerentes de operar com hexágonos.

Fonte Sistemas de Coordenadas Hexagonais


Alguma outra forma ou layout foi tentado?

O display do XO-1 fornece uma cor para cada pixel. As cores se alinham ao longo das diagonais que vão do canto superior direito até o inferior esquerdo Para reduzir os artefatos de cor causados ​​por essa geometria de pixel, o componente de cor da imagem é borrado pelo controlador de exibição à medida que a imagem é enviada para a tela.

Comparação do display do XO-1 (esquerda) com um display típico de cristal líquido (LCD). As imagens mostram 1 × 1 mm de cada tela. Um LCD típico endereça grupos de 3 locais como pixels. O LCD OLPC XO endereça cada localização como um pixel separado:

enter image description here

Fonte OLPC XO

Outras exibições (especialmente OLEDs) empregam diferentes layouts - como PenTile:

enter image description here

O layout consiste em um quincunx composto por dois subpixels vermelhos, dois subpixels verdes e um subpixel azul central em cada célula unitária.

Foi inspirado pela biomimética da retina humana, que tem números quase iguais de células cone tipo L e M, mas significativamente menos cones S. Como os cones S são os principais responsáveis ​​por perceber as cores azuis, que não afetam sensivelmente a percepção de luminância, reduzir o número de subpixels azuis em relação aos subpixels vermelho e verde em uma exibição não reduz a qualidade da imagem.

Esse layout é especificamente projetado para trabalhar e depender da renderização de subpixel que usa apenas um e um quarto subpixel por pixel, em média, para renderizar uma imagem. Isto é, que qualquer dado pixel de entrada é mapeado para um pixel lógico centrado no vermelho, ou um pixel lógico centrado no verde.

Fonte Família de matrizes PenTile


Definição simples de pixel

Qualquer um dos muito pequenos pontinhos que juntos formam a imagem em uma tela de televisão, monitor de computador, etc.

Fonte http://www.merriam-webster.com/dictionary/pixel


Pixel

Na imagem digital, um elemento de pixel, pel ou imagem é um ponto em uma imagem rasterizada, ou o menor elemento endereçável em um dispositivo de exibição endereçável de todos os pontos; então é o menor elemento controlável de uma imagem representada na tela.

...

Um pixel não precisa ser renderizado como um pequeno quadrado. Esta imagem mostra formas alternativas de reconstruir uma imagem a partir de um conjunto de valores de pixels, usando pontos, linhas ou filtragem suave.

enter image description here

Fonte Pixel


Proporção de pixel

A maioria dos sistemas de imagens digitais exibe uma imagem como uma grade de pequenos pixels quadrados. Contudo, alguns sistemas de imagemespecialmente aqueles que devem ser compatíveis com filmes de televisão de definição padrão, exibir uma imagem como uma grade de pixels retangulares, em que a largura e a altura do pixel são diferentes. Proporção de pixels descreve essa diferença.

Fonte Proporção de pixel


Um pixel não é um pequeno quadrado!

Um pixel é um exemplo de ponto. Existe apenas em um ponto. 

Para uma imagem colorida, um pixel pode conter três amostras, uma para cada cor primária que contribui para a imagem no ponto de amostragem.   Ainda podemos pensar nisso como uma amostra pontual de uma cor. Mas não podemos pensar em um pixel como um quadrado ou qualquer coisa que não seja um ponto.

Existem casos em que as contribuições    para um pixel pode ser modelado, em um modo de baixa ordem, por um pequeno quadrado, mas nunca o próprio pixel.

Fonte Um pixel não é um pequeno quadrado! (Microsoft Technical Memo 6 Alvy Ray Smith, 17 de julho de 1995)


256



Citação necessária no ponto "computacionalmente caro". O ideal é vincular a um trabalho de pesquisa considerando um mosaico hexagonal, por exemplo, e uma análise computacional. Parece que você está apenas nomeando algumas explicações que parecem plausíveis. - djechlin
Também reescrevemos muito software o tempo todo como parte da melhoria das coisas. Eu não tenho certeza do seu ponto. - djechlin
@djechlin Atualmente, todas as especificações de vídeo / imagem são baseadas em uma matriz retangular de pixels. A exibição de qualquer vídeo ou imagem exigiria a conversão de um sistema de coordenadas retangular (cartesiano) em um sistema de coordenadas hexagonais. Os cálculos para desenhar linhas em um sistema de coordenadas retangulares são mais simples do que desenhar em um sistema de coordenadas hexagonais (isso é matemática básica). Preciso explicar mais? - DavidPostill♦
@djechlin Resposta atualizada e uma citação incluída - DavidPostill♦
+ 1 para o seu Microsoft Tech Memo Source. Resposta incrível em geral. - shock_gone_wild


Eu gostaria de oferecer uma alternativa à resposta bem pensada de David Postill. Em sua resposta, ele abordou a questão dos pixels serem quadrados, exatamente como o título sugeriu. No entanto, ele fez um comentário muito perspicaz em sua resposta:

Alguns argumentam que eles nunca são quadrados ("Um pixel é uma amostra pontual. Existe apenas em um ponto").

Esta posição pode realmente gerar uma resposta totalmente diferente. Em vez de se concentrar no motivo pelo qual cada pixel é um quadrado (ou não), ele pode se concentrar no motivo pelo qual tendemos a organizar essas amostragens de pontos em grades retangulares. Na verdade, nem sempre foi assim!

Para fazer esse argumento, vamos passar entre tratar uma imagem como dados abstratos (como uma grade de pontos) e a implementação dela no hardware. Às vezes, uma visão é mais significativa do que a outra.

Para começar, vamos muito para trás. A fotografia de filme tradicional não tinha nenhuma "grade", o que é uma das razões pelas quais as imagens sempre pareciam tão nítidas em comparação com as digitais modernas. Em vez disso, ele tinha um "grão" que era uma distribuição aleatória de cristais no filme. Era aproximadamente uniforme, mas não era um bom arranjo retilíneo. A organização desses grãos surgiu a partir do processo de produção do filme, utilizando propriedades químicas. Como resultado, o filme realmente não tem uma "direção" para ele. Foi apenas um respingo de informação.

Avanço rápido para a TV, especificamente os antigos CRTs de varredura. Os CRTs precisavam de algo diferente das fotos: precisavam representar seu conteúdo como dados. Em particular, eles precisavam ser dados que pudessem transmitir, de maneira analógica, por um fio (normalmente como um conjunto de tensões em constante mudança). A foto era 2d, mas precisávamos transformá-la em uma estrutura 1d para que ela pudesse variar em apenas uma dimensão (tempo). A solução foi cortar a imagem por linhas (não pixels!). A imagem foi codificada linha por linha. Cada linha era um fluxo analógico de dados, não uma amostragem digital, mas as linhas eram separadas umas das outras. Assim, os dados eram discretos na direção vertical, mas contínuos na direção horizontal.

As TVs tinham que renderizar esses dados usando fósforos físicos, e uma TV colorida exigia uma grade para dividi-los em pixels. Cada TV poderia fazer isso de maneira diferente na direção horizontal, oferecendo mais pixels ou menos pixels, mas eles precisariam ter o mesmo número de linhas. Em teoria, eles poderiam ter compensado todas as outras linhas de pixels, exatamente como você sugere. No entanto, na prática, isso não era necessário. Na verdade, eles foram ainda mais longe. Foi rapidamente percebido que o olho humano lidava com o movimento de uma forma que permitia que eles enviassem apenas metade da imagem em cada quadro! Em um quadro, eles enviavam as linhas ímpares e, no quadro seguinte, enviavam as linhas pares e juntavam as linhas.

Desde então, digitalizar essas imagens entrelaçadas foi um truque. Se eu tivesse uma imagem de 480 linhas, na verdade só tenho metade dos dados em cada quadro devido ao entrelaçamento. O resultado disso é muito visível quando você tenta ver algo se movendo rapidamente pela tela: cada linha é temporalmente deslocou um quadro do outro, criando listras horizontais em coisas que se movem rapidamente. Menciono isto porque é bastante divertido: a sua sugestão compensa todas as outras linhas da grelha em meio pixel à direita, enquanto o entrelaçamento muda todas as outras linhas da grelha pela metade no tempo!

Francamente, é mais fácil fazer essas belas grades retangulares para as coisas. Sem nenhuma razão técnica para fazer melhor do que isso, ficou preso. Então nós atingimos a era do computador. Computadores necessários para gerar esses sinais de vídeo, mas eles não tinham recursos analógicos para escrever uma linha analógica. A solução foi natural, os dados foram divididos em pixels. Agora os dados eram discretos em vertical e horizontal. Tudo o que restou foi escolher como fazer a grade.

Fazer uma grade retangular era extremamente natural. Primeiro, toda TV lá fora já estava fazendo isso! Em segundo lugar, a matemática para desenhar linhas em uma grade retangular é Muito de mais simples do que desenhá-los em um hexagonal. Você pode dizer "mas você pode desenhar linhas suaves em 3 direções em uma grade hexagonal, mas apenas 2 na retangular." No entanto, grades retangulares tornaram fácil desenhar linhas horizontais e verticais. Grades hexagonais só podem ser feitas para desenhar uma ou o outro. Naquela época, muitas pessoas não usavam formas hexagonais para nenhum de seus esforços não computacionais (papel retangular, portas retangulares, casas retangulares ...). A capacidade de fazer horizontal suave e linhas verticais superaram em muito o valor de fazer imagens coloridas suaves ... especialmente considerando que as primeiras exibições eram monocromáticas e seria um longo tempo antes de a suavidade das imagens desempenhar um papel importante no pensamento.

A partir daí, você tem um precedente muito forte para uma grade retangular. O hardware gráfico suportava o que o software estava fazendo (grades retangulares) e o software visava o hardware (grades retangulares). Em teoria, alguns hardwares podem ter tentado fazer uma grade hexagonal, mas o software não recompensou e ninguém queria pagar pelo dobro de hardware!

Esse jejum nos encaminha para hoje. Ainda queremos linhas horizontais e verticais suaves e agradáveis, mas com visores de retina de ponta, está ficando cada vez mais fácil. No entanto, os desenvolvedores ainda são treinados para pensar em termos da grade retangular antiga. Nós estamos vendo alguns novas APIs suportam "coordenadas lógicas" e fazem anti-aliasing para fazer parecer que há um espaço 2d completo contínuo para jogar ao invés de uma grade de 2d pixels rígidos, mas é lento. Eventualmente, podemos ver grades hexagonais.

Nós realmente os vemos, não apenas com telas. Na impressão, é muito comum usar uma grade hexagonal. O olho humano aceita a grade hexagonal muito mais rapidamente do que aceita uma grade retangular. Tem a ver com o caminho das linhas "alias" nos diferentes sistemas. Malhas hexagonais alias de uma maneira menos severa, com as quais o olho está mais confortável (se uma grade hexagonal precisa subir uma linha para cima ou para baixo, elas conseguem fazer isso suavemente durante uma transição diagonal. As grades retangulares precisam pular, criando descontinuidade clara)


68



Ótimo para explicar como a TV veio a ser: um fluxo analógico. Este padrão durou 70 anos e adicionando cor foi feito de uma forma que manteve a compatibilidade com o B / W, tente realizar isso nos dias de hoje! Quantos formatos de vídeo existem agora?
"" "As TVs tinham que renderizar esses dados usando fósforos físicos, com uma grade para dividi-los em pixels." "" - isso era verdade para a TV Black & White? Meu entendimento era que os "fósforos físicos" discretos (que ainda não correspondiam a nenhum item semelhante a um pixel no fluxo de dados) vinham com a TV a cores e que os CRTs monocromáticos tinham apenas uma camada contínua de material fosforescente. - Random832
Assim, os dados foram critério na direção vertical, mas contínua na direção horizontal.  Eu acredito que você quis dizer discreto - isso aparece corretamente, mais tarde. - GalacticCowboy
Em uma TV em preto e branco, por que você simplesmente não passaria manchas de fósforo sobre a superfície e deixaria o fluxo de elétrons mais forte / mais fraco e os faria brilhar mais e menos de uma maneira completamente analógica? Em resumo, por que ter pixels (horizontais)? Depois de ter cor, as coisas ficam mais complicadas; mas, mesmo assim, o sinal de cor não é definido de uma maneira por pixel, se bem me lembro. Quanto às amostras horizontais, o número de amostras necessárias para reconstituir um sinal a partir de amostras de intensidade uniforme é uma função da largura de banda de frequência e as compensações de "amostra" de metade não melhoram isso. - Yakk
@Yakk A maioria dos CRTs preto e branco foram construídos exatamente assim - os primeiros CRTs de TV BW foram derivados de CRTs de Radar / Osciloscópios, que geralmente são controlados em modo analógico X / Y ou polar, sem varredura. As TVs ainda usavam varredura de linha por linha porque isso corresponde a como o sinal é codificado, mas não há pixels nas linhas. Algumas exibições de especialidade (principalmente para cockpits de aeronaves) usavam fósforos que mudavam de cor dependendo da intensidade com que eram atingidos por um feixe de elétrons (esse tipo de exibição é chamado de penetração). - rackandboneman


Duas razões:

  • Uma forma retangular versus circular, triangluar ou mais de 4 lados tem a vantagem de poder ser colocada ao lado de outros retângulos com o mínimo de "espaço desperdiçado". Isso garante que a área total do pixel contribua para a imagem. Outras formas podem existir que "se encaixam", mas elas provavelmente seriam mais complexas de fabricar do que simples quadrados ou retângulos, mas não introduzem nenhuma vantagem adicional.

  • Uma exibição pixelizada de propósito geral - uma que possa ser usada para exibir qualquer tipo de informação precisa ter pixels que não favorecem certos tipos de formas. Assim, os pixels devem ser quadrados em vez de mais longos ou mais largos em uma direção, e não cortados ou girados de qualquer forma.

    • Se os pixels forem mais altos que os mais largos, a espessura mínima de uma linha horizontal será mais larga do que a espessura mínima de uma linha vertical, fazendo com que as linhas horizontais e verticais pareçam diferentes, para o mesmo número de pixels.

    • Se os pixels forem girados, somente as linhas em ângulo que corresponderem ao ângulo de rotação terão uma aparência suave, e todas as outras linhas parecerão irregulares. A maioria dos sistemas operacionais e softwares de produtividade depende de linhas retas, o que seria uma grande quantidade de egdes orlados ou irregulares.

    • Pixels cortados (losangos) seriam os piores dos dois mundos - nem diagonais ou horizontais / verticais seriam suaves.

Se você não está interessado em uma exibição de propósito geral, mas uma voltada para um propósito específico, então você pode ser mais flexível. Um exemplo extremo é o LED de 7 segmentos, se tudo que você precisa fazer é exibir um número, 7 pixels não quadrados dispostos dessa maneira são tudo o que você precisa. Ou LEDs de 15 segmentos que permitem letras.


20



Hmm, não tenho certeza se o argumento de custo funciona para hexágonos (posso estar errado). - Tim
@ Tim - Você deve pesquisar sobre o assunto. Se houvesse uma vantagem técnica para os hexágonos, um fabricante de displays os usaria, o fato de não serem usados, indica que eles não possuem qualquer tipo de vantagem de custo ou vantagem de desempenho. - Ramhound
@Ramhound sim, entendi. Eu preciso pesquisar mais - bem esta questão é minha pesquisa. Estou perguntando por que razões não hexágonos - não porque praças (e um link para alguma comparação de custos seria bom - idk se alguém já fez um) - Tim
@Tim - A maioria das pesquisas seria feita por manufaturas e é improvável que sejam compartilhadas, uma vez que a pesquisa de comparação de custos seria específica da empresa e permitiria que um concorrente conhecesse muitas informações. - Ramhound
"eles provavelmente seriam mais complexos de fabricar do que simples quadrados ou retângulos" - citação necessária. "ainda não introduz quaisquer vantagens adicionais" - citação necessária. - Raphael


Pixels não são necessariamente quadrados!

No passado, os pixels retangular formas. É por isso que em qualquer editor de imagem / vídeo profissional como Photoshop, Premiere, Sony Vegas ... você vê o proporção de pixel opção. Apenas os padrões modernos de monitor de TV e PC têm pixels quadrados.

Photoshop pixel aspect ratio

Exemplos famosos:

  • TV analógica PAL / DVD: 720x576 que obviamente não é 16: 9 ou 4: 3 mas 5: 4. No entanto, ao definir a taxa de proporção de pixels correta, ela produzirá a imagem de saída correta não esticada

  • NTSC TV analógica / DVD: 720 x 480 que é 3: 2. Depois de definir o formato, ele se tornará 16: 9 ou 4: 3 como o PAL acima. A resolução vertical mais baixa também explica porque os DVDs NTSC parecem muito menos nítidos que os PAL

  • VCD: PAL 352x288, NTSC 352x240. Ambos usam proporção de tela de 4: 3
  • SVCD: 480 x 480e, sem surpresa, não produz uma saída quadrada
  • DV: 1440 x 1080 Resolução Full HD de 16: 9
  • CGA: 320 x 200 e 640 x 200 em 4: 3 (sim, telas de computador mais antigas têm pixels retangulares)
  • EGA suporta 640x350 para telas 4: 3, além de 320x200 e 640x200

Adobe Premiere Pro - Trabalhando com proporções


12



Essa resposta poderia ser melhorada explicando um pouco mais sobre a proporção (em oposição a apenas um link). Não é claro, por si só, por que uma determinada resolução de tela não pode ter pixels quadrados. - Jon Bentley
Eu não entendo o link entre os pixels quadrados e a resolução. - A.L
@ A.L como eu já disse acima. 720: 576 é 5: 4 e se os pixels forem quadrados, resultará em uma proporção de 5: 4. No entanto, se a taxa de proporção dos pixels estiver definida como um valor diferente de 1, ela produzirá uma proporção diferente. Mas onde eu disse sobre resolução aqui? Eu acabei de dizer o formato - phuclv
@ A.L: Esta resposta prova que nem todos os pixels nas telas (ou arquivo) são quadrados: alguns são retangulares. - slebetman
Os computadores Atari 8-bit possuíam alguns modos gráficos com uma resolução de 80x192, resultando em pixels não-quadrados, em forma de traço. - DaveP


A resposta é: eles devemos ser hexagonal, porque o revestimento hexagonal fornece ótima qualidade ótica, por isso será o futuro.
Mas acho que existem duas razões principais porque ainda são quadradas:

  • É mais fácil representar dados de imagem de bitmap em uma grade quadrada como uma matriz 2D (tanto para a simplicidade do hardware quanto para o ser humano)
  • Aconteceu historicamente por isso vai ser assim por algum tempo por causa da razão # 1.

Atualizar

Este tópico é um thriller. Quase 10 mil visualizações. As pessoas querem dominar o pixel :) Engraçado como alguém encontra uma relação da pergunta com resolução de tela ou "quadratura" de um quad.
Para mim é: qual bloco de construção, quadrado ou hexágono dá melhores resultados ópticos?

Primeiro, precisamos de um ladrilho simples, mas que cubra melhor uma área personalizada e é de fato uma ladrilho hexagonal. Que pode ser facilmente entendido a partir de testes simples. Um teste forte seria chamado teste de "toque". Por simplicidade aqui faço cor trinária: 0 - fundo, 1 - cinza e 2 - preto.

Olhando com um ponto, vamos tentar expandir o anel, mantendo a aparência contínua assim:

enter image description here

Com certeza eu também quero desenhar linhas horizontais / verticais, para muitas tarefas, como interface do usuário e design de impressão, ou um jogo de plataforma. Vamos chamá-lo de "Bar Test":

enter image description here

Com este teste, posso escolher o estilo de linha que parece melhor em condições reais. Com linhas verticais é ainda mais simples. Para uma exibição de tarefa específica, tudo pode ser codificado, de forma que, para desenhar uma linha com uma função, apenas repetimos seu segmento na direção horizontal. A coisa é, ambos A abordagem de pixels quadrados e hexagonais funciona, mas se você tentar o mesmo teste com azulejos quadrados, notará a diferença rapidamente. Com DPI muito alto, não é tão perceptível, mas por que tentar fazer mais DPI em vez de tentar uma abordagem mais eficaz? Eu não vejo muito sentido.


Para cores RGB, isso provavelmente precisará de estruturas mais complexas. Na realidade, eu gostaria de ter um dispositivo em escala de cinza, como nas imagens acima. Seria legal também ter uma rápida resposta de pixel para fazer animações.

Apenas por diversão eu criei estrutura hexagonal simples, onde os pixels podem ser RGB. Claro que não sei como isso pode parecer em um dispositivo real, mas parece legal mesmo assim.

enter image description here


Uma explicação informal de ilustração que poderia
 ajudar a descrever a situação:
 

enter image description here 


9



Eu discordo parcialmente das duas partes de 1 porque a) 3dmdesign.com/development/hexmap-coordinates-the-easy-way (embora tenha certeza que pode ser um pouco mais difícil de configurar, mas não há dificuldade em mapear coordenadas para eles) eb) Desde quando foram os detalhes dos computadores projetados com os humanos em mente. - Tim
@Tim Detalhes do computador não são, mas o eu humano tende a tratar a informação de maneira "retangular", e isso, por sua vez, leva a designs estranhos. Há muitos exemplos, como este robonauta  Então, por que fazer um robô parecer um humano? Do ponto de vista ergonômico, esse robô deve ser mais parecido com um polvo, mas as pessoas são pessoas. - Mikhail V
@MikhailV fazendo um robô como um humano, permite que ele use coisas feitas para humanos. Caso contrário, tudo tem que ser feito especialmente para o robô. - Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen Sim, como uma camiseta e óculos de sol :) - Mikhail V
Os triângulos não seriam superiores aos hexágonos, pois eles podem fazer tudo o que os hexágonos podem fazer e mais? - Raynet


Algumas das respostas já tocam isso ... acho que matriz não-retangular em termos de armazenamento de dados criaria uma complexidade quase inimaginável e seria extremamente propenso a erros. Eu tive muita experiência com sistemas físicos de modelagem onde a grade não é retangular (grades escalonadas - pontos de dados em meio-arestas e assim por diante). A indexação é um pesadelo.

Primeiro, há o problema de como definir o limite. As imagens geralmente são retangulares (novamente, isso é uma questão de história - se nossas telas fossem hexagonais, as coisas seriam um pouco mais fáceis). Portanto, nem mesmo o limite da imagem é uma linha reta. Você coloca o mesmo número de pixels em cada linha? Você alterna par / ímpar? E ... é o pixel inferior esquerdo para a esquerda para o acima ou para a direita? Você obtém imediatamente quase 10 padrões diferentes, e os programadores precisam se lembrar de cada vez como isso acontece (mesmo a diferença entre as linhas principais e as maiores ou a diferença de indexação de cima para baixo / de baixo para cima está causando erros às vezes). Isso traz consigo o imenso problema da conversão paisagem / retrato (transformação natural, que é trivial na grade retangular, mas requer interpolação e é quase necessariamente um procedimento com perdas em uma grade hexadecimal ou diferente). Este é mesmo um problema para pixels retangulares (relação de aspecto! = 1).

Depois, há o instinto natural que as pessoas têm com layout retangular. Você tem matrizes em matemática, que têm o mesmo layout. Da mesma forma, um quadro de coordenadas cartesiano é mais fácil de usar e entender na maioria dos casos gerais. Obtendo o índice de um pixel em (x, y) é apenas x + largura * y (não o contrário - legado de indexação scanline). Se width é um múltiplo de 2, você nem precisa de multiplicação. Trabalhar com ângulos não-retos traz muitas complicações que derivam da álgebra vetorial, quando os vetores base não são ortogonais: as rotações não são mais superposições simples cos / sin. Tradução se torna estranha. Isso traz muita complexidade computacional (seria um pouco mais caro computar), ecomplexidade de código (eu me lembro de codificar o algoritmo de Bresenham uma vez, e eu realmente não gostaria de tentar fazê-lo em hexadecimal).

Interpolação e antialiasing em geral tem muitos algoritmos que dependem da grade quadrada. Interpolação bilinear, por exemplo. Todos os métodos de processamento baseados em fourier também estão ligados à grade retangular (FFT é muito útil no processamento de imagens) ... bem, a menos que você faça algumas transformações caras e com perdas primeiro.

Isso tudo mostra que dados na memória e formatos de arquivo devem ser armazenados como grade retangular. A forma como você o exibe depende do dispositivo de exibição / impressora, mas esse deve ser o problema do driver. Os dados devem ser independentes do dispositivo e não devem assumir o hardware que você possui. Como mostrado nos posts acima, há muitas vantagens em usar pixels não retangulares, devido à fisiologia do olho humano e outros fatores mais tecnológicos - basta manter os dados na grade quadrada, ou você terá uma horda de programadores neuróticos para responder por: )

Apesar de tudo isso, eu realmente joguei com um pensamento de ter um arranjo circular de pixels para integração em mostradores de relógio (fazendo linhas retas com as mãos). Quando comecei a imaginar o quão difícil isso tornaria o desenho de algo tão simples como uma linha reta que não passa pelo centro, cheguei a muitas das conclusões que menciono acima.


8



"Isso traz consigo o imenso problema da conversão paisagem / retrato" <...> "Isso é até um problema para pixels retangulares" - Oxímoro? Eu pessoalmente não tenho hábito girando meu monitor, então por que girar 90 * imagem. - Mikhail V
Há muitas telas verticais por aí (telas de chegada / partida em algumas estações de trem, vários painéis de propaganda e assim por diante) que você pode ver que são apenas telas regulares giradas em 90 graus. Observar: img.worsethanfailure.com/images/200710/error'd/… - orion
Isso é chamado de "uso inadequado do equipamento". By the way, o algoritmo de desenho de linha para pontos arbitrários na grade hexadecimal provavelmente poderia ser resolvido sem problemas. Eu nunca fiz isso, então eu tento adivinhar, pode ser que seja ainda mais elegante do que para a grade quadrada. - Mikhail V
Outro exemplo são os telefones tablets, que giram a imagem o tempo todo dinamicamente. Ambos os dados (formatos de arquivo) e telas precisam ter logicamente pixels quadrados para isso (não importa o que o hardware faz para exibir isso). O algoritmo de desenho de linha é problemático na definição: Bresenham garante que a linha tenha precisamente um pixel de espessura, horizontal ou verticalmente (dependendo da inclinação). As compensações de meia largura de todas as outras linhas na grade hexagonal tornam ambíguo o que significa "espessura de um pixel". Claro, isso pode ser feito, mas primeiro você precisa definir e derivar o algoritmo novamente. - orion
"precisa ter pixels quadrados" Aqui está o problema. Dispositivo de exibição nunca deve ser produzido com isso em mente, que alguém iria querer rodá-lo. É apenas um conceito errado que também leva a equívocos de software e camadas de abstração redundantes. Quanto aos cálculos: particularmente na visão computacional, muitas soluções eficazes são por natureza tri-direcionais, se você fizer esse tipo de coisa, as coordenadas polares ajudam muito. - Mikhail V


Pixels quadrados eram "a coisa lógica a fazer", diz seu inventor, Russel Kirsch:

“Claro, a coisa lógica não era a única possibilidade… mas nós usamos quadrados. Foi algo muito tolo que todo mundo no mundo tem sofrido desde então. ”

http://www.wired.com/2010/06/smoothing-square-pixels/


8



Sua resposta está em outro castelo: quando uma resposta não é uma resposta?