Чому пікселі квадратні?


207

Пікселі на екранах квадратні, але я не знаю чому.

Обидва пікселізовані зображення виглядають досить погано - але я не впевнений, що тут є якась перевага квадратів над шестикутниками.

Шестикутники також добре поділяються на 3 кольори:

Тож яка перевага квадратів у РК / ЕКТ-дисплеї?


20
Будь ласка, уточніть про контекст. Ви маєте на увазі дисплеї, формати зображень чи відбитки? І навіть тоді це питання може бути занадто широким.
Даніель B

66
Пікселі - це безрозмірні логічні одиниці і ніколи не бувають квадратними в дійсності, як підказує @DanielB, кожен растризатор обробляє їх по-різному. Наприклад, зображення Google "пікселів екрана".
Йорик

5
Це питання, можливо, слід перенести на досвід користувачів або електротехніку .
цікаводані


13
Я не розумію. Чому це взагалі схвалено, і чому він не був перенесений на форум машинобудування?
Карл Віттофт

Відповіді:


264

Пікселі на екранах квадратні, але я не знаю чому.

Вони не (обов'язково) квадратні.

Дехто стверджує, що вони ніколи не є квадратними ("Піксель - це точковий зразок. Він існує лише в точці.").


Тож яка перевага квадратів у РК / ЕКТ-дисплеї?

  • Інші композиції (такі як трикутники, шестикутники або інші багатокутники, що заповнюють простір ) є обчислювально більш дорогими.

  • Кожен формат зображення базується на пікселях (незалежно від форми), розташованих у прямокутному масиві.

  • Якби ми вибирали якусь іншу форму чи макет, багато програмного забезпечення довелося б переписати.

  • Усі фабрики, що наразі виготовляють дисплеї з прямокутною піксельною схемою, повинні були бути перероблені для іншого макета.


Практика використання шестикутної системи координат

Загалом є чотири основні міркування, над якими слід замислюватися при використанні шестикутної системи координат:

  • Перетворення зображень - апаратне забезпечення, здатне фіксувати зображення з реального світу безпосередньо на шестикутну решітку, є високоспеціалізованим, і тому загалом не доступне для використання. Тому необхідні ефективні засоби перетворення стандартного зображення з квадратною решіткою в шестикутне перед тим, як проводити будь-яку обробку.
  • Адресація та зберігання - будь-які маніпуляції, що виконуються на зображеннях, повинні мати можливість індексувати та отримувати доступ до окремих пікселів (у цьому випадку шестикутники, а не квадрати), а будь-яке зображення у шестикутній формі має зберігатися у шестикутній формі (інакше перетворення зображення повинно проводитися кожен час доступу до зображення). Більше того, дуже важливою була б система індексації, яку легко простежити та спрощує арифметику певних функцій.
  • Операції з обробки зображень - щоб ефективно використовувати шестикутну систему координат, операції повинні бути спроектовані або перетворені, які спрямовані на використання сильних сторін системи, особливо сильних сторін системи адресації, що використовується для індексації та зберігання.
  • Дисплей зображення - як і в першу чергу отримання зображення, пристрої дисплея взагалі не використовують шестикутні решітки. Тому перетворене зображення потрібно повернути у форму, яку можна надіслати на вихідний пристрій (будь то монітор, принтер чи якусь іншу сутність), при цьому відображається результат у натуральних пропорціях та масштабі. Точний характер цього перетворення залежить від використовуваного методу індексації. Це може бути простою реверсією оригінального процесу перетворення або більш значним згортком.

Проблеми з шестикутними системами координат

Однак з шестикутними системами координат є деякі проблеми. Одне питання полягає в тому, що люди дуже звикли до традиційної квадратної решітки.

Розум у шекспі може здатися неприродним і тому трохи складним. Хоча можна стверджувати, що люди можуть звикнути до цього, якщо їм доведеться, все ж таки справа в тому, що вони за законом будуть схильні до міркувань із традиційною декартовою системою координат, коли шестикутні системи є лише другорядним вибором.

Перешкода також є відсутністю пристроїв введення, які відображаються на гексагональних решітках, і відсутність пристроїв виводу, які відображаються як такі:

  • Необхідність перетворення з квадратів на шестикутники і назад знову зменшує корисність роботи на шестикутних гратах.

  • Оскільки такі ґрати щільніші, ніж еквівалентні квадратні решітки однакового видимого розміру, якщо зображення не подаються у навмисно більшій роздільній здатності, ніж слід працювати, перетворені зображення повинні екстраполювати деякі місця пікселів (що, як правило, менш бажано, ніж усі пікселів, наданих безпосередньо з джерела).

  • Перетворення назад в квадратні решітки призведе до згортання деяких піксельних розташувань одне до одного, що призводить до втрати видимих ​​деталей (що може призвести до отримання зображення нижчої якості, ніж зображення, яке було спочатку подано).

Якщо хтось прагне використовувати шестикутні системи координат у власній роботі із зором, то спочатку слід визначити, чи переважають ці проблеми притаманні переваги роботи з шестикутниками.

Джерело гексагональних систем координат


Чи була випробувана будь-яка інша форма чи макет?

Дисплей XO-1 забезпечує один колір для кожного пікселя. Кольори вирівнюються по діагоналях, які проходять з правого верхнього на нижнє ліве Для зменшення артефактів кольорів, викликаних цією геометрією пікселів, кольоровий компонент зображення розмивається контролером дисплея, коли зображення надсилається на екран.

Порівняння дисплея XO-1 (зліва) із типовим рідкокристалічним дисплеєм (LCD). На зображеннях зображено 1 × 1 мм кожного екрану. Типовий РК-адреси адресує групи з 3-х локацій як пікселів. РК-дисплей OLPC XO розглядає кожне місцеположення як окремий піксель:

введіть тут опис зображення

Джерело OLPC XO

Інші дисплеї (особливо OLED) використовують різні макети - наприклад, PenTile :

введіть тут опис зображення

Макет складається з квінкункса, що складається з двох червоних субпікселів, двох зелених субпікселів та одного центрального синього субпікселя у кожній одиничній комірці.

Він був натхненний біомімікрією сітківки людини, яка має майже рівну кількість конусних клітин типу L і M, але значно менше шишок S. Оскільки шишки S в першу чергу відповідають за сприйняття синіх кольорів, які не впливають помітно на сприйняття яскравості, зменшення кількості синіх субпікселів щодо червоних та зелених субпікселів на дисплеї не знижує якість зображення.

Цей макет спеціально розроблений для роботи із субпікселями та залежати від цього субпікселя, який використовує лише один та чверть субпікселя на піксель у середньому для візуалізації зображення. Тобто, будь-який заданий вхідний піксель відображається або на логічний піксель, орієнтований на червоний колір, або на логічний піксель із зеленим центром.

Джерело сімейства матриць PenTile


Просте визначення пікселя

Будь-яка з дуже маленьких точок, які разом утворюють зображення на екрані телебачення, моніторі комп’ютера тощо.

Джерело http://www.merriam-webster.com/dictionary/pixel


Піксель

У цифрових зображеннях піксель, піль або елемент зображення є фізичною точкою на растровому зображенні або найменшим адресованим елементом у пристрої відображення з усіма точками; тому це найменший керований елемент малюнка, представленого на екрані.

...

Піксель не потрібно відображати як маленький квадрат . Це зображення показує альтернативні способи реконструкції зображення з набору значень пікселів, використовуючи точки, лінії або гладку фільтрацію.

введіть тут опис зображення

Джерело Pixel


Піксельне співвідношення сторін

Більшість систем цифрового зображення відображають зображення у вигляді сітки крихітних квадратних пікселів. Однак деякі системи візуалізації , особливо ті, які повинні бути сумісні з телевізійними кінофільмами стандартної чіткості, відображають зображення у вигляді сітки прямокутних пікселів, у якій ширина та висота пікселів різні . Піксельне співвідношення аспектів описує цю різницю.

Джерело співвідношення піксель аспект


Піксель - не маленька площа!

Піксель - це точковий зразок. Він існує лише в точці.

Для кольорового зображення піксель може фактично містити три зразки, по одному для кожного основного кольору, що сприяє малюнку в точці вибірки. Ми все ще можемо вважати це як точковий зразок кольору. Але ми не можемо думати про піксель як квадрат або щось інше, як крапку.

Бувають випадки, коли внески в піксель можна моделювати в невеликому порядку невеликим квадратом, але ніколи не пікселем.

Джерело Піксель - не маленька площа! (Microsoft Technical Memo 6 Alvy Ray Smith, 17 липня 1995 р.)


5
Цитування потрібне на "більш обчислювально дорогому" пункті. В ідеалі посилання на дослідницький документ, що стосується, наприклад, шестикутної тесселяції та обчислювального аналізу. Це виглядає так, що ви просто називаєте деякі правдоподібні пояснення.
djechlin

4
Крім того, ми постійно переписуємо багато програмного забезпечення як частина вдосконалення речей. Я не впевнений у вашій суті.
djechlin

5
@djechlin В даний час всі характеристики відео / зображень базуються на прямокутному масиві пікселів. Показ будь-якого відео чи зображення вимагає перетворення прямокутної (декартової) системи координат у шестикутну систему координат. Розрахунки для малювання ліній у прямокутній системі координат простіші, ніж малювання на шестикутній системі координат (це основна математика). Потрібно пояснити далі?
DavidPostill

2
@djechlin Відповідь оновлена, і цитата включена
DavidPostill

4
+ 1 для вашого джерела пам’яті Microsoft Tech. Дивовижна відповідь взагалі.
shock_gone_wild

71

Я хотів би запропонувати альтернативу добре продуманій відповіді Девіда Постілла. У своїй відповіді він підійшов до питання про те, як пікселі є квадратними, як саме підказує назва. Однак він зробив дуже проникливий коментар у своїй відповіді:

Дехто стверджує, що вони ніколи не є квадратними ("Піксель - це точковий зразок. Він існує лише в точці.").

Ця позиція насправді може породити зовсім іншу відповідь. Замість того, щоб концентруватися на тому, чому кожен піксель є квадратом (чи ні), він може зосередитись на тому, чому ми схильні організовувати ці точкові вибірки в прямокутні сітки. Насправді це було не завжди так!

Для того, щоб зробити цей аргумент, ми збираємось відтворювати назад і назад між трактуванням зображення як абстрактними даними (наприклад, сіткою точок) та їх реалізацією в апараті. Іноді один погляд є більш значимим, ніж інший.

Для початку давайте повернемося досить далеко назад. Традиційна кінозйомка взагалі не мала «сітки», що є однією з причин, чому фотографії завжди виглядали настільки чіткими порівняно із сучасними цифровими. Натомість у неї було "зерно", яке було випадковим розподілом кристалів на плівці. Це було приблизно рівномірно, але це був не приємний прямолінійний масив. Організація цих зерен виникла в процесі виробництва плівки, використовуючи хімічні властивості. Як результат, фільм насправді не мав до нього «напряму». Це було просто 2-х розбризкування інформації.

Швидкий перехід до телевізора, зокрема старих скануючих ЕПТ. CRT потребували чогось іншого, ніж фотографії: вони повинні були вміти представляти їхній вміст як дані. Зокрема, це повинні бути дані, які можуть передаватись аналогово по дроту (як правило, як постійно змінюється набір напруг). Фото було 2d, але нам потрібно було перетворити його на 1d структуру, щоб вона могла просто змінюватися в одному вимірі (часі). Рішення полягало в тому, щоб нарізати зображення лініями (не пікселями!). Зображення було закодовано рядок за рядком. Кожен рядок являв собою аналоговий потік даних, а не цифровий вибірки, але лінії були відокремлені один від одного. Таким чином, дані були дискретні у вертикальному напрямку, але безперервні в горизонтальному напрямку.

Телевізори повинні були надавати ці дані за допомогою фізичних люмінофорів, а кольоровий телевізор потребував сітки для поділу їх на пікселі. Кожен телевізор міг це робити по-різному в горизонтальному напрямку, пропонуючи більше пікселів або менше пікселів, але вони повинні були мати однакову кількість ліній. Теоретично вони могли б змістити будь-який інший ряд пікселів, саме так, як ви пропонуєте. Однак на практиці це було не потрібно. Насправді вони пішли ще далі. Було швидко зрозуміло, що людське око керує рухом таким чином, щоб вони насправді лише надсилали лише половину зображення на кожен кадр! На одному кадрі вони надсилатимуть непарні нумеровані рядки, а на наступному кадрі - надсилати парні рядки і зшивати їх разом.

З цього часу оцифрування цих переплетених зображень було трохи хитрістю. Якби у мене було 480 лінійних зображень, я фактично маю лише половину даних у кожному кадрі через переплетення. Результат цього дуже помітний, коли ви намагаєтесь побачити, як щось швидко переміщається по екрану: кожен рядок тимчасово зміщується на 1 кадр від іншого, створюючи горизонтальні смуги у швидко рухаються речах. Я згадую про це, тому що це досить кумедно: ваша пропозиція зміщує кожен другий рядок у сітці на половину пікселя вправо, в той час як переплетення змінює кожен другий рядок у сітці вдвічі!

Відверто кажучи, простіше зробити ці приємні прямокутні сітки для речей. Не маючи технічних причин зробити щось краще, ніж це, воно застрягло. Потім ми потрапили в епоху комп’ютера. Комп'ютери, необхідні для генерування цих відеосигналів, але не мали аналогових можливостей виписати аналогову лінію. Рішення було природним, дані були розділені на пікселі. Тепер дані були дискретні як по вертикалі, так і по горизонталі. Залишилося лише вибрати, як зробити сітку.

Виготовлення прямокутної сітки було надзвичайно природним. По-перше, кожен телевізор там уже робив це! По-друге, математика для малювання ліній на прямокутній сітці набагато простіша, ніж малювати їх на шестикутній. Ви можете сказати, "але ви можете намалювати плавні лінії в трьох напрямках на шестикутній сітці, але лише 2 у прямокутній". Однак прямокутні сітки спрощували малювати горизонтальні та вертикальні лінії. Шестикутну сітку можна зробити лише для того, щоб намалювати ту чи іншу. У ту епоху не багато людей використовували гексагональні фігури для будь-яких своїх некомп'ютерних зусиль (прямокутний папір, прямокутні двері, прямокутні будинки ...). Здатність робити плавні горизонтальні тавертикальні лінії значно перевершили значення створення гладких повнокольорових зображень ... особливо якщо врахувати, що перші екрани були однотонними, і пройшло б багато часу, перш ніж гладкість зображень зіграла головну роль у мисленні.

Звідти у вас дуже сильний прецедент прямокутної сітки. Графічне обладнання підтримувало те, що робить програмне забезпечення (прямокутні сітки), а програмне забезпечення орієнтоване на обладнання (прямокутні сітки). Теоретично деякі апаратні засоби, можливо, намагалися скласти шестикутну сітку, але програмне забезпечення просто не винагороджувало її, і ніхто не хотів платити за вдвічі більше апаратного забезпечення!

Цей піст пересилає нас сьогодні. Ми все ще хочемо приємних плавних горизонтальних і вертикальних ліній, але з високими кінцевими екранами сітківки це стає простіше і простіше. Однак розробники все ще навчені мислити з точки зору старої прямокутної сітки. Ми бачимо, що деякі нові API підтримують "логічні координати" і роблять антизшивання, щоб зробити вигляд, що існує повний безперервний 2d простір для гри, а не сітка жорстких 2d пікселів, але це повільно. Зрештою, ми можемо побачити шестикутні сітки.

Ми насправді їх бачимо, тільки не з екранами. У друку дуже часто використовується шестикутна сітка. Людське око сприймає шестикутну сітку набагато швидше, ніж приймає прямокутну сітку. Це пов'язано з тим, як лінії "псевдонім" в різних системах. Шестикутна сітка псевдонімом менш суворим способом, з чим зручніше оці (якщо шестигранної сітці потрібно йти одним рядом вгору або вниз, вони отримують це плавно через діагональний перехід. Прямокутні сітки повинні пропускати, створюючи дуже явна перерваність)


2
Чудово підходить для пояснення того, як з'явилося телебачення: аналоговий потік. Цей стандарт простояв 70 років, і додавання кольору було виконано таким чином, щоб зберегти сумісність з Ч / б, спробуйте досягти цього дня! Скільки зараз існує відеоформатів?

3
"" "Телевізори повинні були рендерувати ці дані за допомогою фізичних люмінофорів з сіткою, щоб розділити їх на пікселі." "" - Це правда для Чорно-білого телебачення? Моє розуміння полягало в тому, що дискретні «фізичні люмінофори» (які досі ніколи не відповідали жодному пікселеподібному елементу в потоці даних) оснащені кольоровим телевізором, і що монохромні ЕЛТ просто мають суцільне покриття люмінофором.
Випадково832

Мені подобається історія, але я не згоден щодо переходу на сучасні пристрої. Хоча спадщина виглядає прямолінійною, телевізор насправді є аналогом у горизонтальному напрямку, поки ви не подивитеся на кольоровий люмінофор на телевізорі. Це насправді шестикутна! Я припускаю, що справжня причина прямолінійного макета VLSI є легшою, ніж прямолінійна, ніж упакована шестикутною.
користувач3533030

1
На чорно-білому телевізорі, чому б ви не намазали люмінофори поверхнею і не дозволили потоку електронів бути сильнішим / слабшим і змусити їх світитися більше / менше абсолютно аналогічно? Словом, навіщо взагалі (горизонтальні) пікселі? Коли у вас є колір, речі стають складнішими; але навіть тоді кольоровий сигнал не визначається в піксельному порядку, якщо я правильно пам'ятаю. Що стосується горизонтальних зразків, то кількість зразків, необхідних для відновлення сигналу із зразків рівномірної інтенсивності, є функцією частотної смуги частот, і половина «зразків» зміщення цього не покращує.
Якк

2
@Yakk Більшість чорно-білих ЕЛТ були побудовані саме так - ранні телевізійні ЕЛТ-телевізори BW були отримані з РТР-радіолокатора / осцилографа, які часто керуються аналоговим X / Y або полярним способом без растру. Телевізори все ще використовуються за допомогою рядкового сканування, оскільки це відповідає тому, як кодується сигнал, але пікселів на лініях немає. У деяких спеціалізованих дисплеях (в основному для кабін літаків) навіть використовували люмінофори, які змінювали колір залежно від того, наскільки сильно вони потрапили в електронний промінь (такий тип дисплея називається пенетрон).
rackandboneman

21

Дві причини:

  • Прямокутна форма порівняно з круглою, трикутною або більше, ніж 4-стороною, має перевагу в тому, що вона може бути розміщена поруч з іншими прямокутниками з мінімальним "витраченим простором". Це гарантує, що повна площа пікселя сприяє образу. Можуть існувати й інші форми, які "підходять один до одного", але вони, ймовірно, більш складні у виготовленні, ніж прості квадрати або прямокутники, але не принесуть додаткових переваг.

  • Пікселізований дисплей загального призначення - той, який може використовуватися для відображення будь-якого типу інформації, повинен мати пікселі, які не надають переваги певним формам. Таким чином, пікселі повинні бути квадратними, а не довшими або ширшими в одному напрямку, а не зрізати і не повертати жодним чином.

    • Якщо пікселі вище, ніж ширші, мінімальна товщина горизонтальної лінії буде ширшою, ніж мінімальна товщина вертикальної лінії, завдяки чому горизонтальні та вертикальні лінії виглядатимуть по-різному, для однакової кількості пікселів.

    • Якщо пікселі обертаються, то лише кутові лінії, які відповідають куту повороту, будуть виглядати гладкими, будь-які інші лінії будуть виглядати зазуброваними. Більшість операційних систем та програмного забезпечення для продуктивності покладаються на прямі лінії, так що буде багато бахромою або нерівним egdes.

    • Зрізані пікселі (ромби) були б найгіршими з обох світів - ні діагоналі, ні горизонталь / вертикаль не були б гладкими.

Якщо вас не цікавить показ загального призначення, але він орієнтований на конкретну мету, тоді ви можете бути більш гнучкими. Надзвичайний приклад - 7-сегментний світлодіод, якщо все, що вам потрібно зробити, це відображення числа, 7 неквадратичних пікселів, розташованих таким чином, - все, що вам потрібно. Або 15-сегментні світлодіоди, які дозволяють використовувати літери.


Гм, я не впевнений, що аргумент вартості працює для шестикутників (я можу помилитися).
Тім

@Tim - Ви повинні провести деякі дослідження з цього питання. Якщо технічна перевага для шестикутників виготовлення дисплея використовувала б їх, то факт, що вони не використовуються, вказує на те, що вони не мають жодної переваги в порівнянні з вартістю або перевагою продуктивності.
Рамхаунд

2
@Ramhound так, зрозумів. Мені потрібно більше досліджувати - ну це питання - це моє дослідження. Я прошу причин, чому б не шестикутники - не чому квадрати (і посилання на порівняння витрат було б непогано - idk, якщо хтось коли-небудь робив це)
Тім

2
"вони, мабуть, більш складні у виготовленні, ніж прості квадрати чи прямокутники", - цитування потрібне. "ще не вносити жодних додаткових переваг" - необхідне цитування.
Рафаель

1
@Raphael Ну, вам не дуже потрібна цитата - для CRT "пікселі" не були квадратами або прямокутниками. Вони мали чудовий розподіл кольорів і вимагали меншої кількості "піктограм" для надання пікселів. Коли РК-дисплеї з'явилися, вони просто не могли порівняти - технологія була надзвичайно прямокутною, тому більш традиційна компонування була більш-менш неможливою. Звичайно, сучасні «РК» насправді не є власне РК-екранами - наприклад, ви не збираєтесь знайти жодних «рідких кристалів» в OLED. Нарешті, шестикутники (або старі шкільні ЕПТ, це схоже) добре підійдуть для фотографій та фільмів, але не для інтерфейсів користувача.
Луаан

15

Пікселі не обов’язково квадратні!

У минулому пікселі мали прямокутні форми. Ось чому в будь-якому професійному редакторі зображень / відео, як Photoshop, Premiere, Sony Vegas ... ви бачите параметр співвідношення пікселів . Тільки сучасні стандарти моніторів на телевізор та ПК мають квадратні пікселі.

Співвідношення сторін пікселя Photoshop

Відомі приклади:

  • PAL Analog TV / DVD: 720x576, що, очевидно, не 16: 9 або 4: 3, а 5: 4. Однак, встановивши правильне співвідношення пікселів, воно створить правильне нерозтягнуте вихідне зображення

  • Аналогове телебачення / DVD NTSC: 720x480, що становить 3: 2. Після встановлення співвідношення сторін воно стане 16: 9 або 4: 3, як PAL вище. Нижня вертикальна роздільна здатність також пояснює, чому DVD-диски NTSC виглядають набагато менш чіткими, ніж PAL

  • VCD : PAL 352x288 , NTSC 352x240 . Обидва використовують співвідношення екрана 4: 3
  • SVCD : 480x480 , і не дивно, що він не дає квадратного виходу
  • DV : 1440x1080 16: 9 повна роздільна здатність HD
  • CGA : 320x200 та 640x200 в 4: 3 (так, екрани старих комп'ютерів мають прямокутні пікселі)
  • EGA підтримує 640x350 для екранів 4: 3 на додаток до 320x200 та 640x200

Adobe Premiere Pro - Робота з пропорціями


7
Цю відповідь можна було б покращити, пояснивши трохи більше про співвідношення сторін (на відміну від просто посилання). Сам по собі не ясно, чому певна роздільна здатність екрана не може мати квадратні пікселі.
Джон Бентлі

1
Я не розумію зв'язку між квадратними пікселями та роздільною здатністю.
AL

@AL, як я вже говорив вище. 720: 576 - це 5: 4, і якщо пікселі квадратні, це призведе до співвідношення сторін 5: 4. Однак якщо для співвідношення сторін пікселів встановлено значення, відмінне від 1, воно призведе до іншого співвідношення сторін. Але де я тут сказав про резолюцію? Я щойно сказав співвідношення сторін
phuclv

3
@AL: Ця відповідь доводить, що не всі пікселі на екранах (або файлах) є квадратними: деякі прямокутні.
slebetman

1
8-бітні комп’ютери Atari мали деякі графічні режими з роздільною здатністю 80x192, в результаті чого з'явилися дуже неквадратичні, штрихові пікселі.
DaveP

10

Відповідь: вони повинні бути шестикутними, оскільки шестикутна черепиця забезпечує оптимальну оптичну якість, тому це буде майбутнє.
Але я думаю, що є дві основні причини, чому вони все ще є квадратними:

  • Простіші зображення представлених растрових зображень на квадратній сітці у вигляді 2-го масиву (як для простоти обладнання, так і для людини)
  • Це сталося історично, так буде деякий час через причину №1.

Оновлення

Ця тема - трилер. Майже 10 к. Переглядів. Люди хочуть освоїти піксель :) Смішно, як хтось знаходить співвідношення питання з роздільною здатністю екрана або "квадратичністю" квадратика.
Для мене це: який будівельний блок, квадрат або шестикутник дає кращі оптичні результати ?

По-перше, нам потрібна проста плитка, але вона краще охоплює власну зону, і це справді шестигранна плитка. Що можна легко зрозуміти з простих тестів. Сильним випробуванням буде так званий "кільцевий" тест. Для простоти тут роблю тризначний колір: 0 - фон, 1 - сірий і 2 - чорний.

Поглянувши на крапку, ми спробуємо розширити кільце, зберігаючи його вигляд безперервно так:

введіть тут опис зображення

Напевно, я також захочу намалювати горизонтальні / вертикальні лінії для багатьох завдань, таких як інтерфейс користувача та дизайн друку, або платформова гра. Назвемо це "Барний тест":

введіть тут опис зображення

За допомогою цього тесту я можу вибрати стиль лінії, який просто виглядає краще в реальних умовах. З вертикальними лініями це ще простіше. Для відображення конкретного завдання все можна зробити жорстко закодованим, тому, щоб намалювати лінію з функцією, ми просто повторимо її відрізок у горизонтальному напрямку. Річ у тому, що як квадратний , так і шестикутний піксельний підхід працює, але якщо ви спробуєте той же тест з квадратними плитками, ви помітите різницю швидко. З дуже високим ІСН це не так помітно, але навіщо намагатися робити більше DPI, а не намагатися більш ефективний підхід? Я не бачу багато сенсу.


Для кольорів RGB для цього, ймовірно, потрібні складніші структури. Насправді, я хотів би мати пристрій сірого масштабу, як на зображеннях вище. Було б також здорово мати швидку відповідь пікселів для створення анімації.

Для розваги я створив просту шестикутну структуру, де пікселі можуть бути RGB. Звичайно, я не знаю, як це могло виглядати на реальному пристрої, але виглядає так круто.

введіть тут опис зображення


Неофіційна пояснення-ілюстрація, яка може
допомогти описати ситуацію:

введіть тут опис зображення


1
Я частково згоден з обома частинами 1 , так як а) 3dmdesign.com/development/hexmap-coordinates-the-easy-way (хоча впевнений , що це може бути трохи складніше налаштувати, але немає ніяких труднощів у відображенні координат до них) і б) з того часу, коли були деталі комп'ютерів, розроблених на увазі людей.
Тім

@ Тим подробиці комп'ютера немає, але людська влада схильна обробляти інформацію «прямокутним» способом, а це в свою чергу призводить до дивних конструкцій. Прикладів дуже багато, як у цього роботовта. Так навіщо робити робота схожим на людину? З ергономічної точки зору цей робот повинен бути більше схожий на восьминога, але люди - це люди.
Михайло V

1
@MikhailV виготовлення робота, як людина, дозволяє йому використовувати речі, створені для людей. Інакше все повинно бути спеціально зроблено для робота.
Thorbjørn Ravn Andersen

@ ThorbjørnRavnAndersen Так, як футболка і сонцезахисні окуляри :)
Михайло V

1
Чи не будуть трикутники перевершувати шестикутники, оскільки вони можуть робити все, що може робити шестикутники та більше?
Рейнет

9

Деякі відповіді вже стосуються цього… Я думаю, що не прямокутний масив з точки зору зберігання даних створив би майже немислиму складність і був би надзвичайно схильний до помилок. Я мав великий досвід моделювання фізичних систем, де сітка не є прямокутною (ступінчасті сітки - точки даних на півкрайках тощо). Індексація - це кошмар.

По-перше, існує проблема, як визначити межу. Зображення зазвичай прямокутні (знову ж, це питання історії - якби наші екрани були шестикутними, все було б трохи простіше). Отже, навіть межа зображення не є прямою лінією. Ви ставите однакову кількість пікселів у кожному рядку? Чи чергуєте ви парне / непарне? І ... чи нижній лівий піксель зліва до тієї, що над ним, або праворуч? Ви одразу отримуєте майже 10 різних стандартів, і програмістам доводиться пам’ятати щоразу, як це відбувається (навіть різниця між рядками-основними та стовпчиками або різниця в індексації зверху вниз / знизу вгору іноді викликає помилки). Це викликає величезну проблему перетворення ландшафту / портрета (природне перетворення, яке є тривіальним на прямокутній сітці, але вимагає інтерполяції і майже обов’язково є програшною програмою на шестигранній або іншій сітці).

Тоді є природний інстинкт у людей з прямокутним розташуванням. У вас є математики з математики, які мають однаковий макет. Аналогічно, декартовий координатний кадр є найбільш простим у використанні та розумінні в більшості загальних випадків. Отримання індексу пікселя при (x, y) - це просто x + ширина * y (не навпаки - спадщина індексації сканування). Якщо ширина кратна 2, вам навіть не потрібно множення. Робота з неправими кутами спричиняє багато ускладнень, пов'язаних з векторною алгеброю, коли базові вектори не є ортогональними: обертання вже не є простими надпозиціями cos / sin. Переклад стає дивним. Це приносить багато обчислювальної складності (було б у кілька разів дорожче обчислити) та складність коду (я пам’ятаю, що кодував алгоритм Брезенама один раз, і мені дуже не хотілося б намагатися робити це в шістнадцятковий).

Інтерполяція та антиаліазія загалом має багато алгоритмів, які залежать від квадратної сітки. Наприклад, білінеарна інтерполяція. Всі способи обробки на основі фур'є також прив’язані до прямокутної сітки (FFT дуже корисний при обробці зображень) ... ну, якщо ви не зробите спочатку дорогі та втратні перетворення.

Це все свідчить про те, що дані в пам'яті та форматах файлів повинні зберігатися як прямокутна сітка. Те, як ви його відображаєте, залежить від пристрою / принтера дисплея, але це має бути проблема драйвера. Дані повинні бути незалежними від пристрою і не повинні припускати, яким обладнанням у вас є. Як показано у публікаціях вище, є багато переваг у використанні непрямокутних пікселів, зумовлених фізіологією очей людини та іншими більш технологічними факторами - просто зберігайте дані на квадратній сітці, інакше у вас з’явиться орда невротичних програмістів, які відповідають за: )

Незважаючи на все це, я насправді грав з думкою про те, щоб мати кругову піксельну композицію для інтеграції в обличчя годинника (робити руки прямими лініями). Коли я почав уявляти, як важко зробити це малювання будь-яким простим, як пряма, що не проходить через центр, я прийшов до багатьох висновків, про які я згадував вище.


"Це приносить величезну проблему перетворення пейзажу / портрета" <...> "Це навіть проблема прямокутних пікселів" - Оксиморон? Я особисто не маю звички обертати монітор, тому навіщо повертати зображення на 90 *.
Михайло V

Там багато вертикальних екранів (екрани прибуття / виїзду на деяких залізничних станціях, різноманітні рекламні панелі тощо), які ви можете побачити - це фактично звичайні екрани, повернені на 90 градусів. Поспостерігайте: img.worsethanfailure.com/images/200710/error'd/…
orion

Це називається "неналежне використання обладнання". До речі, алгоритм малювання ліній для довільних точок на шістнадцятковій сітці, можливо, міг бути вирішений без клопоту. Я ніколи цього не робив, тому намагаюся вгадувати, могло б виявитись, що це буде ще елегантніше, ніж для квадратної сітки.
Михайло V

Іншим прикладом є телефони - планшети, які весь час динамічно обертають зображення. Як дані (формати файлів), так і екрани повинні мати для цього логічно квадратні пікселі (незалежно від того, що робить апаратне забезпечення для їх відображення). Алгоритм малювання ліній є проблематичним у визначенні: Брезенхем забезпечує, що лінія має товщину на один піксель або горизонтально, або вертикально (залежно від схилу). Зсуви в половину ширини для кожного іншого рядка в шістнадцятковій сітці роблять неоднозначним, що означає "товщина одного пікселя". Звичайно, це можна зробити, але спершу потрібно визначити і вивести алгоритм заново.
Оріон

"Потрібно мати квадратні пікселі" Тут криється проблема. Дисплейний пристрій ніколи не повинен вироблятися з огляду на те, що хтось захоче його обертати. Це просто неправильне поняття, яке також призводить до помилок програмного забезпечення та зайвих шарів абстракції. Що стосується розрахунків: особливо в комп'ютерному зорі, багато ефективних рішень за своєю природою є двонаправленими, якщо ви будете робити такі речі, полярні координати дуже допомагають.
Михайло V


7

Це питання стосується скоріше розташування, ніж власне форми пікселя.

Проблема шестикутної схеми полягає в тому, що переклад шестикутної ділянки в декартові координати і навпаки не є тривіальним.

Або ви працюєте з примітивним індексом решітки Bravais

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

або ви працюєте з прямокутною звичайною коміркою і додаєте кілька внутрішніх "векторів бази". (Вам потрібні два базові вектори для найменшої прямокутної решітки і приблизно 16 для найменшої квадратної решітки).

У першому випадку відбувається кутове перетворення, а в другому потрібно кожен піксель x, yі базовий індекс, jякий потрібно вказати.

Таким чином, "квадратні" пікселі повинні бути побічним продуктом нашої декартової культури.

До речі, було б дуже класно мати цю технологію, але це дуже несумісно з нинішньою парадигмою. Насправді біологічні системи віддають перевагу шестикутникам при виготовленні решіток для візуальних систем. Подумайте про очі мухи. Людська сітківка також слід щось ближче до шестикутної (ніж квадратної).

Дивіться тут http://www.kybervision.com/resources/Blog/HumanRetinaMosaic.png і поверніться до точки відображення http://www.kybervision.com/Blog/files/AppleRetinaDisplay.html

Я не сумніваюся, що для візуалізації більше підходить шестикутна решітка. Але ви можете подумати про це таким чином, кожен раз, коли інженери хочуть покращити показ дисплея, перед яким виникає наступна дилема: 1) перейти на шестикутник, змінити парадигму, переписати трильйони рядків коду та обладнання 2) зробити «квадрати» чисельністю, додати пам'ять, збільшити два числа для вимірювання розмірів дисплея в пікселях. Варіант 2) завжди дешевший.

Нарешті слово від винахідника квадратного пікселя http://www.wired.com/2010/06/smoothing-square-pixels

Рассел Кірш, винахідник квадратного пікселя, повертається до креслярської дошки. У 1950-х він був частиною команди, яка розробила квадратний піксель. "" Квадрати були логічною справою ", - говорить Кірш. "Звичайно, логічна річ була не єдиною можливістю, але ми використовували квадрати. Це було щось дуже дурне, що всі люди в світі страждають відтоді ". Зараз пенсіонер і живе в Портленді, штат Орегон, Кірш нещодавно вирішив виправити поправки. Надихнувшись мозаїкою будівельників старовини, які споруджували сцени приголомшливих деталей з шматочками плитки, Кірш написав програму, яка перетворює кучеряві, незграбні квадрати цифрового зображення в плавніше зображення з пікселів змінної форми. '


2
Я б сказав так: 3dmdesign.com/development/hexmap-coordinate-the-easy-way досить тривіальний?
Тим

Так, (гарна точка), але ця система координат досі не є декартовою. Наприклад, область "hexmap" поверхні "3x3" не дорівнює 9 (навіть не приблизно). Це не питання кута, це питання метрики, шестикутна решітка - це не прямокутна (або квадратна) решітка, що обертається.
alfC

Справедливий момент - але декартовий не потрібен?
Тім

1
Як я вже говорив, не в принципі, я думаю, що це більше проблема парадигми. (Культура упереджує технологію і технології - це липкість, технологію важко змінити ізольовано).
alfC

Я не погодився б, що це велика зміна парадигм. Для чисто цифрового випадку це досить проста зміна адреси. Практично вам потрібен такий же дискретний набір, щоб функція "блит" знала, куди записати дані. Що стосується даних зображення з прямокутних джерел, так, є проблеми. А створити шрифт для шестигранного відображення буде навіть простіше, ніж на квадраті (менше головного болю з нахилами).
Михайло V

7

Щоб зрозуміти, чому має значення прямолінійний піксель, потрібно зрозуміти процес виготовлення датчиків та дисплеїв. Вони базуються на кремнієвій схемі. Обидва є похідними від джерел VLSI.

Щоб ви реалізували непрямолінійний піксель датчика , вам потрібно бути готовим до:

  1. Розміщення чутливих до світла елементів непрямолінійним способом (наприклад, коломи з шестигранною формою).
  2. Макет проводів, які збирають заряд (наприклад, CMOS / CCD) непрямолінійним способом
  3. Масштабуйте цей макет до >> 1М х 1М для задоволення потреб ринку
  4. Зіставте (або інтерполюйте) інформацію на прямолінійний дисплей

Щоб ви реалізували не прямолінійний піксель дисплея , вам потрібні всі ті ж речі.

Багато людей намагалися зробити ямки камер і дисплеї ( з високою роздільною здатністю в середині , де наші очі найкраще, з низьким дозволом на периферії). Результат - це завжди щось дорожче і менш здатне, ніж прямолінійний датчик.

Реальність комерційної ефективності полягає в тому, що ви можете мріяти про непрямолінійних датчиках / дисплеях, але це не рентабельно або масштабується на даний момент.


Звичайний датчик пікселів квадратного аспекту перетвориться на такий, що має прямокутні пікселі, якщо його використовувати за анаморфною лінзою. Так само, як боке стає еліпсичним.
JDługosz

4

Хоча вони фізично можуть не бути квадратними. Вони абстрактно представлені у вигляді квадратів, а при відображенні на дисплеях зі зниженою роздільною здатністю вони розглядаються як квадрати. Переважно через лінь і менше обробку. Масштабування різних форм, таких як шестикутники, потребує більшої обробки, оскільки ви перекреслюєте частину пікселів. У той час як Квадрат просто множує кожну сторону на постійну. Також, намагаючись побудувати шістнадцяткову сітку, ви не можете просто зробити легке розташування X, Y.


Ви плануєте + x 100%, щоб отримати повний рядок. Потім наступний ряд зміщується на + 50% і переміщується на 75%. Третій ряд зміщений від другого на -50% (або 0% від першого ряду). Хоча це складніше, я можу стверджувати, що це все ще просто - і існує система шестинадцяткових координат, на відміну від стандартної декартової - нахилу Y на 30 ° 3dmdesign.com/development/hexmap-coordinate-the-easy-way .
Тім

4

Є два способи відповісти на це питання:

  1. В апаратному відношенні пікселі не обов'язково є фізично квадратними, але можуть бути будь-якої форми або розташування, які виробник пристрою відображення вважав доцільним. Насправді вони часто не є квадратними.
  2. У програмному забезпеченні пікселі вважаються «квадратними», оскільки передбачається, що вони представляють область, яка однакова по ширині та висоті. Це не означає, що при візуалізації, наприклад, якщо вони збільшені, вони повинні бути намальовані у вигляді квадратів, але вони повинні представляти дані для площі зображення, яка має квадратні пропорції, інакше зображення буде витягнуто так чи інакше. Це суто умовно.

В обох випадках пікселі не повинні бути квадратними, але вони подібні виключно за домовленістю. Справа в тому: ранні широкоекранні дисплеї використовували таку ж кількість пікселів - як в апаратному, так і в програмному забезпеченні - як неширокі екрани, але пікселі були концептуально прямокутними (розмір горизонталі був більшим за вертикальний розмір), а не концептуально квадратний стандартний. Тим не менш, використання піксельних форм, які не наближають квадрат, є нестандартним та може викликати великі проблеми сумісності, принаймні, у щоденному використанні.

КОРОТКА ВІДПОВІДЬ:

Пікселі умовно розглядаються як квадратні.


-1

З боку POV-учасника, я повинен сказати, що це тому, що екран, на який ви дивитесь це, так чи інакше, прямокутний. Поширене співвідношення сторін - 1920 по 1080 р. За минулою певною довжиною, наприклад 720, можна розпізнати "високу чіткість". Це може бути важче досягти круговими або шестикутними пікселями.


3
Добре круговий не є тесельковим, але я не бачу, чому ви не можете просто зменшити шестикутники. Побачте зображення, яке я зробив із машини - просто більше їх помістив?
Тім

І ці співвідношення сторін добре прямокутні, тому що пікселі форми викладені у ... сітці.
Тим

1
@ Тим, tessellation може бути не таким важливим з точки зору "користувача", як тільки ви відмовитесь від декартової або регулярної індексації. Сітківка не є тілесною (ідеально), і це може бути навіть оптимальним (наприклад, щоб уникнути артефактів moiré en.wikipedia.org/wiki/Moir%C3%A9_pattern або світлодифракційних).
alfC
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.