Por que os pixels são quadrados?


207

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

As duas imagens pixeladas parecem muito ruins - mas não tenho certeza de que haja alguma vantagem dos quadrados sobre os hexágonos aqui.

Os hexágonos também se dividem em três cores:

Então, qual é a vantagem dos quadrados em uma tela LCD / CRT?


20
Por favor, esclareça sobre o contexto. Você está se referindo a telas, formatos de imagem ou impressões? E mesmo assim, essa pergunta pode ser muito ampla.
Daniel B

66
Os pixels são unidades lógicas sem dimensão e nem sempre são quadrados na realidade, como sugere @DanielB, todo rasterizador lida com eles de maneira diferente. Imagens do Google de "pixels da tela", por exemplo.
Yorik

5
Talvez essa pergunta deva ser migrada para a Experiência do Usuário ou Engenharia Elétrica .
precisa saber é o seguinte


13
Eu não entendo. Por que isso foi votado e por que não foi migrado para um fórum de engenharia mecânica?
Carl Witthoft

Respostas:


264

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

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

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


Então, qual é a vantagem dos quadrados em uma tela LCD / CRT?

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

  • Todo formato de imagem é baseado em pixels (qualquer que seja a forma) organizados em uma matriz retangular.

  • Se quiséssemos escolher outra forma ou layout, muito software teria que ser reescrito.

  • Todas as fábricas atualmente fabricando telas com um layout retangular de pixels precisariam ser reformuladas para algum outro layout.


Aspectos práticos do uso de um sistema de coordenadas hexagonais

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

  • Conversão de imagem - O hardware capaz de capturar imagens do mundo real diretamente em uma estrutura hexagonal é altamente especializado e, portanto, geralmente não está disponível para uso. Portanto, são necessários meios eficientes de converter uma imagem quadriculada padrão em uma imagem hexagonal antes que qualquer processamento possa ser executado.
  • Endereçamento e armazenamento - Quaisquer manipulações realizadas nas imagens devem ser capazes de indexar e acessar pixels individuais (neste caso, hexágonos em vez de quadrados), e qualquer imagem na forma hexagonal deve ser armazenada na forma hexagonal (caso contrário, a conversão da imagem teria que ser realizada a cada hora em que a imagem foi acessada). Além disso, um sistema de indexação simples de seguir e simplificar a aritmética de certas funções seria muito valioso.
  • Operações de processamento de imagem - Para fazer uso efetivo do sistema de coordenadas hexagonais, é necessário projetar ou converter operações destinadas a explorar os pontos fortes do sistema e, em particular, os pontos fortes do sistema de endereçamento usado para indexação e armazenamento.
  • Exibição de imagem - Como na verdade, para obter a imagem em primeiro lugar, os dispositivos de exibição em geral não usam redes hexagonais. Portanto, a imagem convertida deve ser retornada para um formulário 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 escalas naturais. A natureza exata dessa conversão depende do método de indexação usado. Isso pode ser uma simples reversão do processo de conversão original ou uma convolução mais considerável.

Problemas com sistemas de coordenadas hexagonais

Existem alguns problemas com os sistemas de coordenadas hexagonais. Uma questão é que as pessoas estão muito acostumadas com a treliça quadrada tradicional.

Raciocinar em azarações pode parecer antinatural e, portanto, um pouco difícil. Embora se possa argumentar que as pessoas possam se acostumar com isso, se for necessário, ainda assim elas estarão naturalmente inclinadas a raciocinar com o tradicional sistema de coordenadas cartesianas por padrão, com sistemas hexagonais apenas uma opção secundária.

A falta de dispositivos de entrada mapeados em redes hexagonais e a falta de dispositivos de saída exibidos como tais também são um obstáculo:

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

  • Como essas redes são mais densas que as redes quadradas equivalentes do mesmo tamanho aparente, a menos que as imagens sejam alimentadas com uma resolução deliberadamente mais alta do que a operada, as imagens convertidas deverão extrapolar algumas localizações de pixels (geralmente menos desejável do que ter todos os pixels fornecidos diretamente de uma fonte).

  • A conversão de volta para treliças quadradas entraria em colapso em algumas localizações de pixels, o que resulta em perda de detalhes aparentes (o que poderia resultar em uma imagem de qualidade inferior à que foi originalmente alimentada).

Se alguém procura usar sistemas de coordenadas hexagonais em seu próprio trabalho de visão, deve primeiro determinar se esses problemas são superados pelas vantagens inerentes à operação com hexágonos.

Sistemas de coordenadas hexagonais de origem


Alguma outra forma ou layout foi tentado?

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

Comparação da tela XO-1 (esquerda) com uma tela típica 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 do OLPC XO endereça cada local como um pixel separado:

insira a descrição da imagem aqui

OLPC de origem XO

Outros monitores (especialmente OLEDs) empregam layouts diferentes - como o PenTile :

insira a descrição da imagem aqui

O layout consiste em um quincunce que compreende 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 possui números quase iguais de células cone do tipo L e M, mas significativamente menos cones S. Como os cones S são os principais responsáveis ​​pela percepção das cores azuis, que não afetam sensivelmente a percepção da luminância, a redução do número de subpixels azuis em relação aos subpixels vermelhos e verdes em uma tela não reduz a qualidade da imagem.

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

Família de matrizes PenTile de origem


Definição simples de pixel

Qualquer um dos pontos muito pequenos que juntos formam a imagem na tela da televisão, no monitor do computador etc.

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


Pixel

Na imagem digital, um pixel, pel ou elemento de imagem é um ponto físico em uma imagem raster, ou o menor elemento endereçável em um dispositivo de exibição endereçável em todos os pontos; portanto, é 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 maneiras alternativas de reconstruir uma imagem a partir de um conjunto de valores de pixels, usando pontos, linhas ou filtragem suave.

insira a descrição da imagem aqui

Pixel de origem


Proporção de pixel

A maioria dos sistemas de imagem digital exibe uma imagem como uma grade de pequenos pixels quadrados. No entanto, alguns sistemas de imagem , especialmente aqueles que devem ser compatíveis com os filmes de televisão de definição padrão, exibem uma imagem como uma grade de pixels retangulares, nos quais a largura e a altura dos pixels são diferentes . A proporção de pixels descreve essa diferença.

Proporção do pixel de origem


Um pixel não é um quadrado pequeno!

Um pixel é uma amostra pontual. Existe apenas em um ponto.

Para uma imagem colorida, um pixel pode realmente conter três amostras, uma para cada cor primária, contribuindo 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 outra coisa que não um ponto.

Há casos em que as contribuições para um pixel podem ser modeladas, em ordem baixa, 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)


5
Citação necessária no ponto "mais computacionalmente caro". Idealmente, vincule-se 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 plausíveis.
djechlin

4
Também reescrevemos muito software o tempo todo, como parte da melhoria das coisas. Não tenho certeza do seu ponto.
precisa saber é o seguinte

5
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 melhor?
DavidPostill

2
@djechlin Resposta atualizada e uma citação incluída
DavidPostill

4
+ 1 para o Microsoft Tech Memo Source. Resposta impressionante em geral.
Shock_gone_wild 5/01/16

71

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 sugeria. No entanto, ele fez um comentário muito perspicaz em sua resposta:

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

Essa posição pode realmente gerar uma resposta totalmente diferente. Em vez de focar no motivo de cada pixel ser 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 argumentar, vamos jogar de um lado para o outro entre tratar uma imagem como dados abstratos (como uma grade de pontos) e a implementação dela em hardware. Às vezes, uma visão é mais significativa que a outra.

Para começar, vamos voltar muito longe. As fotografias tradicionais de filmes não tinham "grade", o que é uma das razões pelas quais as fotos sempre pareciam tão nítidas em comparação às fotos digitais modernas. Em vez disso, tinha um "grão", que era uma distribuição aleatória de cristais no filme. Era mais ou menos 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 tinha uma "direção". Foi apenas um 2d respingo de informação.

Avance rapidamente para a TV, especificamente os antigos CRTs de digitalização. Os CRTs precisavam de algo diferente das fotos: eles deveriam poder representar seu conteúdo como dados. Em particular, precisavam ser dados que pudessem transmitir, em analógico, através de um fio (normalmente como um conjunto de tensões que muda constantemente). A foto era 2d, mas precisávamos transformá-la em uma estrutura 1d, para que pudesse variar em uma dimensão (tempo). A solução foi dividir 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 uma da outra. Assim, os dados foram discretos na direção vertical, mas contínuos na direção horizontal.

As TVs precisavam renderizar esses dados usando fósforos físicos, e uma TV colorida exigia uma grade para dividi-los em pixels. Cada TV pode fazer isso de maneira diferente na direção horizontal, oferecendo mais pixels ou menos pixels, mas eles precisam 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. De fato, eles foram ainda mais longe. Percebeu-se rapidamente que o olho humano lidava com o movimento de uma maneira que os deixava enviar apenas metade da imagem a cada quadro! Em um quadro, eles enviavam as linhas numeradas ímpares e, no quadro seguinte, enviavam as linhas numeradas pares e as uniam.

Desde então, digitalizar essas imagens entrelaçadas tem sido um pouco complicado. 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 mover rapidamente pela tela: cada linha é deslocada temporariamente 1 quadro do outro, criando faixas horizontais em objetos em movimento rápido. Menciono isso porque é bastante divertido: sua sugestão compensa todas as outras linhas da grade em meio pixel para a direita, enquanto o entrelaçamento muda todas as outras linhas da grade 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, ele ficou preso. Então chegamos à era do computador. Os computadores precisavam gerar esses sinais de vídeo, mas não tinham capacidade analógica para escrever uma linha analógica. A solução era natural, os dados foram divididos em pixels. Agora, os dados eram discretos tanto na vertical quanto na horizontal. Tudo o que restava era escolher como fazer a grade.

Fazer uma grade retangular era extremamente natural. Primeiro, todas as TVs por aí já estavam fazendo isso! Segundo, a matemática para desenhar linhas em uma grade retangular é muito mais simples do que desenhá-las em uma grade hexagonal. Você pode dizer "mas pode desenhar linhas suaves em 3 direções em uma grade hexagonal, mas apenas 2 na retangular". No entanto, as grades retangulares facilitam o desenho de linhas horizontais e verticais. As grades hexagonais só podem ser feitas para desenhar uma ou outra. Naquela época, poucas pessoas usavam formas hexagonais para qualquer um dos seus esforços não computacionais (papel retangular, portas retangulares, casas retangulares ...). A capacidade de tornar horizontal e horizontalas linhas verticais ultrapassam em muito o valor de criar imagens com cores suaves ... especialmente porque as primeiras telas eram monocromáticas e levaria muito tempo até que a suavidade das imagens tivesse 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 direcionava o hardware (grades retangulares). Em teoria, algum hardware poderia ter tentado criar uma grade hexagonal, mas o software simplesmente não a recompensou, e ninguém queria pagar pelo dobro do hardware!

Este rápido nos encaminha para hoje. Ainda queremos boas linhas horizontais e verticais, mas com telas retinas de ponta, isso fica cada vez mais fácil. No entanto, os desenvolvedores ainda são treinados para pensar em termos da antiga grade retangular. Estamos vendo algumas novas APIs suportando "coordenadas lógicas" e fazendo anti-aliasing para fazer parecer que há um espaço 2D contínuo completo para brincar, em vez de uma grade de pixels 2D rígidos, mas é lento. Eventualmente, podemos ver grades hexagonais.

Na verdade, nós os vemos, mas não com telas. Na impressão, é muito comum usar uma grade hexagonal. O olho humano aceita a grade hexagonal muito mais rapidamente do que uma grade retangular. Tem a ver com a maneira como as linhas "alias" nos diferentes sistemas. As grades hexagonais também apelidam de uma maneira menos agressiva, com a qual os olhos se sentem mais confortáveis ​​(se uma grade hexadecimal precisar subir uma linha para cima ou para baixo, eles o farão suavemente durante uma transição diagonal. As grades retangulares precisam pular, criando um descontinuidade clara)


2
Ótimo para explicar como a TV surgiu: um fluxo analógico. Esse padrão permaneceu por 70 anos e a adição de cores foi feita de maneira a manter a compatibilidade com a preto e branco, tente realizar isso hoje em dia! Quantos formatos de vídeo existem agora?

3
"" "As TVs precisavam renderizar esses dados usando fósforos físicos, com uma grade para dividi-los em pixels." "" - isso era verdade para a TV em preto e branco? Meu entendimento era que "fósforos físicos" discretos (que ainda nunca correspondiam a nenhum item semelhante a pixel no fluxo de dados) vinham com TV em cores, e que os CRTs monocromáticos simplesmente têm um revestimento contínuo de material de fósforo.
precisa saber é o seguinte

Gosto da história, mas discordo da transição para dispositivos modernos. Embora o legado pareça retilíneo, uma TV é realmente analógica na direção horizontal até você observar o fósforo colorido na TV. Na verdade, é hexagonal! Sugiro que a verdadeira razão pela qual temos retilíneo é o layout VLSI, que é mais fácil como retilíneo do que hexagonal.
user3533030

1
Em uma TV em preto e branco, por que você não mancha os fósforos na superfície e deixa o fluxo de elétrons mais forte / mais fraco e os faz brilhar mais / menos de uma maneira completamente analógica? Em resumo, por que ter pixels (horizontais)? Depois de ter cores, as coisas ficam mais complicadas; mas, mesmo assim, o sinal colorido não é definido por pixel, se bem me lembro. Quanto às amostras horizontais, o número de amostras necessárias para reconstituir um sinal de amostras de intensidade uniforme é uma função da largura de banda da frequência, e os desvios de meia "amostra" não melhoram isso.
Yakk

2
@Yakk A maioria dos CRTs em preto e branco foram construídos exatamente assim - os CRTs iniciais da TV BW foram derivados dos CRTs de radar / osciloscópio, que geralmente são controlados na forma analógica X / Y ou polar sem varredura. As TVs ainda usam varredura linha por linha, porque isso corresponde à forma como o sinal é codificado, mas não há pixels nas linhas. Alguns monitores especiais (principalmente para cockpits de aeronaves) até usavam fósforos que mudavam de cor, dependendo da intensidade com que eram atingidos por um feixe de elétrons (esse tipo de monitor é chamado de penetron).
rackandboneman

21

Duas razões:

  • Uma forma retangular versus circular, triangluar ou com mais de quatro 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 toda a área do pixel contribua para a imagem. Podem existir outras formas que "se encaixam", mas provavelmente seriam mais complexas de fabricar do que quadrados ou retângulos simples, mas não apresentariam vantagens adicionais.

  • Uma exibição pixelizada de uso geral - uma que possa ser usada para exibir qualquer tipo de informação precisa ter pixels que não favorecem certos tipos de formas. Portanto, os pixels devem ser quadrados em vez de mais longos ou mais largos em uma direção e não devem ser distorcidos ou rotacionados.

    • Se os pixels forem mais altos que largos, a espessura mínima de uma linha horizontal será maior 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, apenas as linhas angulares que correspondem ao ângulo de rotação parecerão suaves, e as outras linhas parecerão serrilhadas. A maioria dos sistemas operacionais e softwares de produtividade se baseia em linhas retas, de modo que seriam muitos egdes marginais ou irregulares.

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

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


Hmm, não tenho certeza se o argumento de custo funciona com hexágonos (eu posso estar errado).
Tim

@ Tim - Você deve pesquisar sobre o assunto. Se houvesse uma vantagem técnica para os hexágonos que um fabricante de telas os usaria, o fato de não serem usados ​​indica que eles não têm nenhum tipo de vantagem em relação a uma vantagem de custo ou desempenho.
Ramhound

2
@ Ramhound sim, entendi. Eu preciso pesquisar mais - bem, essa pergunta é minha pesquisa. Eu estou pedindo razões pelas quais não hexágonos - não porque quadrados (e um link para alguma comparação de custos seria bom - idk se alguém já fez uma)
Tim

2
"provavelmente seriam mais complexos de fabricar do que simples quadrados ou retângulos" - citação necessária. "ainda não apresenta vantagens adicionais" - citação necessária.
Raphael

1
@ Rafael Bem, você realmente não precisa de uma citação para isso - em um CRT, os "pixels" não eram quadrados ou retângulos. Eles tinham ótima distribuição de cores e exigiam menos "truques" de renderização sub-pixel. Quando os LCDs apareceram, eles simplesmente não conseguiram comparar - a tecnologia era extremamente pró-retângulo, então o layout mais tradicional era mais ou menos impossível. Obviamente, os "LCDs" modernos não são necessariamente realmente LCDs - você não encontrará "cristais líquidos" em um OLED, por exemplo. Finalmente, hexágonos (ou CRTs da velha escola, é semelhante) funcionariam bem para fotos e filmes, mas não para UIs.
Luaan 01/01

15

Pixels não são necessariamente quadrados!

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

Proporção de pixel do Photoshop

Exemplos famosos:

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

  • TV / DVD analógico NTSC: 720x480, que é 3: 2. Depois de definir a proporção, ela se tornará 16: 9 ou 4: 3, como PAL acima. A resolução vertical mais baixa também explica por que os DVDs NTSC parecem muito menos nítidos que os PAL

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

Adobe Premiere Pro - Trabalhando com proporções


7
Essa resposta pode ser melhorada explicando um pouco mais sobre a proporção (em oposição a apenas um link). Não está claro, por si só, por que uma resolução de tela específica não pode ter pixels quadrados.
Jon Bentley

1
Eu não entendo o link entre os pixels quadrados e a resolução.
AL

@AL como já afirmei acima. 720: 576 é 5: 4 e se os pixels forem quadrados, resultará em uma proporção de 5: 4. No entanto, se a proporção de pixels for definida com um valor diferente de 1, ela produzirá uma proporção de aspecto diferente. Mas onde eu disse sobre resolução aqui? Eu apenas disse relação de aspecto
phuclv

3
@AL: Esta resposta prova que nem todos os pixels nas telas (ou arquivo) são quadrados: alguns são retangulares.
slebetman

1
Os computadores Atari de 8 bits tinham alguns modos gráficos com uma resolução de 80x192, resultando em pixels não quadrados, em forma de traço.
DaveP

10

A resposta é: eles devem ser hexagonais, porque o revestimento hexagonal fornece ótima qualidade óptica, portanto será o futuro.
Mas acho que há duas razões principais pelas quais elas ainda são quadradas:

  • É mais fácil representar dados de imagem de bitmap em uma grade quadrada como uma matriz 2D (tanto pela simplicidade do hardware quanto pelo ser humano)
  • Aconteceu historicamente, assim será por algum tempo por causa do motivo # 1.

Atualizar

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

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

Olhando com um ponto, tentaremos expandir o anel, mantendo-o contínuo assim:

insira a descrição da imagem aqui

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

insira a descrição da imagem aqui

Com este teste, posso escolher o estilo da 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, para desenhar uma linha com uma função, basta repetir o segmento na direção horizontal. A coisa é, tanto abordagem pixel quadrado e hexagonal funciona, mas se você tentar mesmo teste com azulejos quadrado, você vai notar a diferença rapidamente. Com um DPI muito alto, isso não é tão perceptível, mas por que tentar criar mais DPI em vez de tentar uma abordagem mais eficaz? Não vejo muito sentido.


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

Apenas por diversão, criei uma 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.

insira a descrição da imagem aqui


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

insira a descrição da imagem aqui


1
Discordo parcialmente das duas partes de 1 porque a) 3dmdesign.com/development/hexmap-coordinates-the-easy-way (embora com certeza possa ser um pouco mais difícil de configurar, mas não há dificuldade em mapear coordenadas para elas) e b) Desde quando os detalhes dos computadores foram projetados tendo em mente os humanos.
Tim

Os detalhes do computador não são, mas o ser humano tende a tratar as informações de maneira "retangular", o que, por sua vez, leva a projetos estranhos. Existem muitos exemplos, como este robonauta. Então, por que fazer um robô parecer humano? Do ponto de vista ergonômico, esse robô deve ser mais um polvo, mas as pessoas são pessoas.
21816 Mikhail V

1
@MikhailV fazendo um robô como um humano, permite que ele use coisas feitas para seres humanos. Caso contrário, tudo terá que ser feito especialmente para o robô.
Thorbjørn Ravn Andersen 02/01

@ ThorbjørnRavnAndersen Sim, como uma t-shirt e óculos de sol :)
Mikhail V

1
Os triângulos não seriam superiores aos hexágonos, pois podem fazer tudo o que os hexágonos podem e muito mais?
Raynet

9

Algumas das respostas já tocam nisso ... Eu acho que uma matriz não retangular em termos de armazenamento de dados criaria uma complexidade quase inimaginável e seria extremamente propensa a erros. Eu tive muita experiência em modelar sistemas físicos em que a grade não é retangular (grades escalonadas - pontos de dados nas meias-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 está à esquerda, acima do pixel acima ou à direita? Você imediatamente obtém quase 10 padrões diferentes, e os programadores precisam se lembrar de cada vez que ocorre (mesmo as diferenças de linha principal e coluna principal ou diferença de indexação de cima para baixo / baixo para cima estão causando erros). Isso traz o imenso problema de conversão paisagem / retrato (transformação natural, que é trivial em grade retangular, mas requer interpolação e é quase necessariamente um procedimento com perdas em uma grade hexagonal ou diferente).

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 cartesianas é praticamente o mais fácil de usar e entender na maioria dos casos gerais. Obter o índice de um pixel em (x, y) é apenas x + width * y (não o contrário - legado da indexação da linha de verificação). Se a largura é um múltiplo de 2, você nem precisa de multiplicação. Trabalhar com ângulos não retos gera muitas complicações decorrentes da álgebra vetorial, quando os vetores básicos não são ortogonais: as rotações não são mais simples superposições cos / sin. A tradução se torna estranha. Isso traz muita complexidade computacional (seria algumas vezes mais caro para calcular) e complexidade do código (lembro-me de codificar o algoritmo de Bresenham uma vez e realmente não gostaria de tentar fazê-lo em hexadecimal).

A interpolação e o antialiasing em geral têm 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 vinculados à grade retangular (a 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 os dados nos formatos de memória e arquivo devem ser armazenados como grade retangular. O modo como você o exibe depende do dispositivo / impressora, mas esse deve ser o problema do driver. Os dados devem ser independentes de dispositivo e não devem assumir o hardware que você possui. Como mostrado nas postagens acima, há muitas vantagens em usar pixels não retangulares, devido à fisiologia do olho humano e outros fatores tecnológicos - basta manter os dados na grade quadrada, ou você terá uma horda de programadores neuróticos para responder: )

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


"Isso traz o imenso problema de conversão paisagem / retrato" <...> "Isso é até um problema para pixels retangulares" - Oxímoro? Pessoalmente, não tenho o hábito de girar meu monitor, por que girar a imagem 90 *.
Mikhail V

Existem muitas telas verticais por aí (telas de chegada / partida em algumas estações de trem, vários painéis de anúncios e assim por diante) que você pode ver, na verdade são apenas telas regulares giradas em 90 graus. Observe: img.worsethanfailure.com/images/200710/error'd/…
orion

Isso é chamado de "uso inadequado do equipamento". A propósito, o algoritmo de desenho de linhas para pontos arbitrários na grade hexadecimal provavelmente poderia ser resolvido sem problemas. Eu nunca fiz isso, então tento adivinhar, pode ser que ele seja ainda mais elegante do que na grade quadrada.
Mikhail V

Outro exemplo são os telefones, tablets, que rodam a imagem dinamicamente. Tanto os dados (formatos de arquivo) quanto as telas precisam ter pixels logicamente quadrados para isso (não importa o que o hardware faça para exibi-lo). O algoritmo de desenho de linha é problemático em definição: Bresenham garante que a linha tenha exatamente um pixel de espessura na horizontal ou na vertical (dependendo da inclinação). Os desvios de meia largura de todas as outras linhas da grade hexadecimal tornam ambíguo o que significa "um pixel de espessura". Claro, isso pode ser feito, mas você primeiro precisa definir e derivar o algoritmo novamente.
orion

"precisa ter pixels quadrados" Aqui está o problema. O dispositivo de exibição nunca deve ser produzido com isso em mente, pois alguém iria querer girá-lo. É apenas um equívoco 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 tridirecionais por natureza; se você faz esse tipo de coisa, as coordenadas polares ajudam muito.
Mikhail V


7

Esta questão é mais sobre organização do que a forma real de um pixel.

O problema dos arranjos hexagonais é que traduzir um local hexagonal em coordenadas cartesianas e vice-versa não é trivial.

Ou você trabalha com um índice de rede Bravais primitivo

https://en.wikipedia.org/wiki/Bravais_lattice

ou você trabalha com uma célula convencional retangular e adiciona vários "vetores básicos" internos. (Você precisa de dois vetores básicos para a menor rede retangular e cerca de 16 para a menor rede quadrada).

No primeiro caso, há uma transformação de ângulo envolvida e no segundo cada pixel precisa x, ye um índice base ja ser especificado.

Portanto, no final, pixels "quadrados" devem ser um subproduto da nossa cultura cartesiana.

A propósito, seria muito legal ter essa tecnologia, mas é muito incompatível com o paradigma atual. De fato, sistemas biológicos, preferem hexágonos ao produzir reticulados para sistemas visuais. Pense nos olhos da mosca. A retina humana também segue algo mais próximo do hexagonal (do que quadrado).

Veja aqui http://www.kybervision.com/resources/Blog/HumanRetinaMosaic.png e volte ao ponto de exibição http://www.kybervision.com/Blog/files/AppleRetinaDisplay.html

Não tenho dúvidas de que uma rede hexagonal seja mais apropriada para visualização. Mas você pode pensar dessa maneira: cada vez que os engenheiros desejam melhorar uma exibição, enfrentam o seguinte dilema: 1) alternam para hexagonal, alteram o paradigma, reescrevem trilhões de linhas de código e hardware 2) fazem "quadrados" menores, adicione memória, aumente dois números para medir as dimensões da tela em pixels. A opção 2) é sempre mais barata.

Finalmente, uma palavra do inventor do pixel quadrado http://www.wired.com/2010/06/smoothing-square-pixels

Russell Kirsch, inventor do pixel quadrado, volta à prancheta. Na década de 1950, ele fazia parte de uma equipe que desenvolveu o pixel quadrado. "Praças era a coisa lógica a se fazer", diz Kirsch. "É claro que a coisa lógica não era a única possibilidade, mas usamos quadrados. Era algo muito tolo que todos no mundo sofrem desde então ." Agora aposentado e morando em Portland, Oregon, Kirsch começou a fazer as pazes.Inspirado pelos construtores de mosaicos da antiguidade que construíram cenas de detalhes impressionantes com pedaços de ladrilho, Kirsch escreveu um programa que transforma os quadrados grossos e desajeitados de uma casa digital. imagem em uma imagem mais suave, feita de pixels de formato variável. '


2
Eu diria o seguinte: 3dmdesign.com/development/hexmap-coordinates-the-easy-way é bastante trivial?
Tim

Sim, (ponto positivo), mas esse sistema de coordenadas ainda não é cartesiano. Por exemplo, a região "hexmap" da superfície de "3x3" não é 9 (nem mesmo aproximadamente). Não é uma questão de ângulo, é uma questão de métrica, uma estrutura hexagonal não é uma estrutura retagular (ou quadrada) girada.
alfC 02/01

Ponto justo - mas o Cartesiano não é necessário, é?
Tim

1
Como eu disse, não em princípio, acho que é mais um problema de paradigma. (A tecnologia de preconceitos culturais e a tecnologia são difíceis, a tecnologia é difícil de mudar isoladamente).
alfC 02/01

Eu não concordaria que é uma grande mudança de paradigmas. Para o caso puramente digital, é bastante simples a mudança de endereço. Praticamente você precisa de um mesmo conjunto discreto, para que a função "blit" saiba onde gravar os dados. Quanto aos dados de imagem de fontes retangulares, sim, existem problemas. E criar uma fonte para exibição hexadecimal será ainda mais simples do que em um quadrado (menos dor de cabeça com declives).
Mikhail V

7

Para entender por que um pixel retilíneo tem valor, você precisa entender o processo de fabricação de sensores e monitores. Ambos são baseados no layout de silício. Ambos são derivados das origens do VLSI.

Para implementar um pixel de sensor não retilíneo , você precisa estar preparado para:

  1. Faça o layout dos elementos sensíveis à luz de maneira não-retilínea (por exemplo, círculos empacotados em hexágono).
  2. Faça o layout dos fios que coletam a carga (por exemplo, CMOS / CCD) de maneira não-retilínea
  3. Escale esse layout para >> 1M x 1M para atender às demandas do mercado
  4. Combine (ou interpole) as informações para uma exibição retilínea

Para implementar um pixel de exibição não-retilíneo , você precisa das mesmas coisas.

Muitas pessoas tentaram fazer câmeras e displays foveal (alta resolução no meio, onde nossos olhos são melhores, baixa resolução na periferia). O resultado é sempre algo que é mais caro e menos capaz do que um sensor retilíneo.

A realidade da eficiência comercial é que você pode sonhar com sensores / displays não retilíneos, mas não é econômico ou escalável no momento.


Um sensor convencional de pixel de aspecto quadrado se transformaria em um com pixels retangulares se usado atrás de uma lente anamórfica. Assim como o bokeh se torna elíptico.
JDługosz

4

Enquanto eles não podem ser fisicamente quadrados. Eles são abstratamente representados como quadrados e, quando mostrados em telas com resoluções mais baixas, são vistos como quadrados. Principalmente devido à preguiça e menos processamento. Escalar formas diferentes, como hexágonos, requer mais processamento, à medida que você cruza a fração de pixels. Enquanto um quadrado está apenas multiplicando cada lado pela constante. Ao tentar plotar uma grade hexadecimal, você não pode simplesmente fazer uma localização fácil de X e Y.


Você plota + x 100% para obter a linha completa. Em seguida, a próxima linha é deslocada em + 50% e movida para baixo em 75%. A terceira linha é deslocada da segunda em -50% (ou 0% da primeira linha). Embora isso seja mais complicado, eu diria que ainda é fácil - e existe um sistema de coordenadas Hex, em oposição ao cartesiano padrão - incline o Y em 30 ° 3dmdesign.com/development/hexmap-coordinates-the-easyway .
Tim

4

Existem duas maneiras de responder a essa pergunta:

  1. No hardware, os pixels não são necessariamente fisicamente quadrados, mas podem ter qualquer forma ou disposição que o fabricante de um dispositivo de exibição considerar apropriado. Na realidade, eles geralmente não são quadrados.
  2. No software, os pixels são considerados "quadrados" na medida em que assumem representar uma área com a mesma largura e altura. Isso não significa que, quando renderizados, por exemplo, se ampliados, eles devem ser desenhados como quadrados, mas devem representar os dados para uma área da imagem que tenha proporções quadradas; caso contrário, a imagem aparecerá esticada de uma maneira ou de outra. Isto é puramente por convenção.

Nos dois casos, os pixels não precisam ser quadrados, mas são assim apenas por convenção. Caso em questão: as telas widescreen anteriores usavam o mesmo número de pixels - tanto em hardware quanto em software - que as telas não widescreen, mas os pixels eram conceitualmente retangulares (o tamanho horizontal era maior que o tamanho vertical) e não conceitualmente quadrado como é o padrão. No entanto, o uso de formas de pixel que não se aproximam de um quadrado não é padrão e provavelmente causará grandes problemas de compatibilidade, pelo menos no uso diário.

RESPOSTA CURTA:

Os pixels são tratados como quadrados por convenção.


-1

Do ponto de vista de um espectador, eu diria que é porque a tela em que você assiste normalmente é retangular. Uma proporção comum é de 1920 por 1080. Após um certo comprimento, como 720, é possível reconhecer a "alta definição". Isso poderia muito bem ser mais difícil de conseguir com pixels circulares ou hexagonais.


3
Bem, a circular não é um mosaico, mas não vejo por que você não pode simplesmente encolher os hexágonos. Veja a imagem que fiz do carro - apenas encaixe mais deles?
Tim

E essas proporções são bem retangulares porque os pixels da forma são dispostos em ... Uma grade.
Tim

1
@ Tim, o mosaico pode não ser tão importante do ponto de vista do "usuário" depois que você renuncia à indexação cartesiana ou regular. A retina não está em mosaico (perfeitamente) e isso pode ser ótimo (por exemplo, para evitar artefatos moiré en.wikipedia.org/wiki/Moir%C3%A9_pattern ou difração de luz).
alfC
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.