題 為什麼像素是方形的?


屏幕上的像素是方形的,但我不確定為什麼。

兩個像素化的圖像看起來都很糟糕 - 但我不確定這裡有六邊形正方形的優勢。

六邊形也很好地分為3種顏色:

那麼LCD / CRT顯示器中正方形的優勢是什麼?


195
2017-12-30 17:16


起源


請澄清上下文。你指的是顯示器,圖像格式還是打印件?即便如此,這個問題可能過於寬泛。 - Daniel B
像素是無量綱的邏輯單位,實際上並不是正方形,正如@DanielB所暗示的,每個光柵化器都以不同的方式處理它們。谷歌的“屏幕像素”圖像,例如。 - Yorik
或許應該將這個問題遷移到 用戶體驗 要么 電氣工程。 - curiousdannii
關於Computer Graphics SE的相關問題。 - Martin Ender
我不明白。為什麼這個被投票,為什麼沒有被移植到機械工程論壇? - Carl Witthoft


答案:


屏幕上的像素是方形的,但我不確定為什麼。

它們不一定是方形的。

有些人會說他們是 永遠不會 (“像素是點樣本。它只存在於某一點。”)。


那麼LCD / CRT顯示器中正方形的優勢是什麼?

  • 其他安排(如三角形,六邊形或其他 空間填充多邊形)計算成本更高。

  • 每種圖像格式都基於以矩形陣列排列的像素(無論它們是什麼形狀)。

  • 如果我們要選擇其他形狀或佈局,則必須重新編寫許多軟件。

  • 目前製造的具有矩形像素佈局的顯示器的所有工廠都必須針對其他佈局進行重組。


使用六邊形坐標系的實用性

通常有四個主要考慮因素需要考慮   當使用六邊形坐標係時:

  • 圖像轉換 - 能夠將現實世界中的圖像直接捕捉到六邊形網格上的硬件非常專業,而且非常專業   因此通常不可用。因此,有效的手段   將標準的方形網格圖像轉換為六邊形圖像   在執行任何處理之前需要。
  • 尋址和存儲 - 對圖像執行的任何操作都必須能夠索引和訪問單個像素(在本例中為六邊形)   而不是正方形),任何六邊形的圖像都應該是   可以六邊形存儲(否則圖像轉換必須   每次訪問圖像時都要執行)。而且,索引   系統易於遵循並使算術成為一定的   功能更簡單將是非常有價值的。
  • 圖像處理操作 - 為了有效地使用六邊形坐標系,必須設計或操作操作   轉換,旨在利用系統的優勢,和   特別是用於索引的尋址系統的優勢   和存儲。
  • 圖像顯示 - 與實際獲得圖像一樣,顯示設備通常不使用六邊形格子。   因此,轉換後的圖像必須返回到可以的形式   發送到輸出設備(無論是顯示器,打印機還是其他設備)   其他實體),結果顯示自然   比例和規模。這種轉換的確切性質是   取決於使用的​​索引方法。這可能很簡單   原始轉換過程的逆轉,或者更多   相當大的捲積。

六邊形坐標系的問題

然而,六邊形坐標系存在一些問題。一   問題是人們很習慣傳統的方格。

以十六進制推理似乎不自然,因此有點   難。雖然可以說人們可以習慣它   如果必須的話,它們仍然會是自然的   傾向於用傳統的笛卡爾坐標推理   系統默認情況下,六邊形系統只是次要選擇。

沒有輸入設備映射到六邊形格子,和   缺乏顯示的輸出設備也是一個障礙:

  • 從正方形轉換為六邊形再向後轉換的必要性削弱了在六邊形網格上操作的有用性。

  • 因為這樣的晶格比具有相同表觀尺寸的等效方晶格更密集,除非圖像以有意的更高的方式進給   除了要操作的分辨率,轉換後的圖像必須   推斷一些像素位置(通常不太理想   而不是直接從源提供所有像素)。

  • 轉換回方格將使一些像素位置彼此折疊,這導致明顯細節的損失   (這可能會導致圖像質量低於   最初餵食)。

如果一個人試圖在他們自己的視野中使用六邊形坐標系   工作,然後他們應該首先確定這些問題是否存在   被六邊形操作的固有優勢所抵消。

資源 六角坐標系


是否嘗試過其他形狀或佈局?

XO-1顯示器為每個像素提供一種顏色。顏色沿著從右上角到左下角的對角線對齊為了減少由此像素幾何體引起的顏色偽影,當圖像被發送到屏幕時,圖像的顏色分量被顯示控制器模糊。

XO-1顯示器(左)與典型液晶顯示器(LCD)的比較。圖像顯示每個屏幕1×1毫米。典型的LCD將3個位置的組稱為像素。 OLPC XO LCD將每個位置作為單獨的像素進行尋址:

enter image description here

資源 OLPC XO

其他顯示器(尤其是OLED)採用不同的佈局 - 例如 了Pentile

enter image description here

該佈局包括梅花形,其包括兩個紅色子像素,兩個綠色子像素,以及每個單元格中的一個中心藍色子像素。

它受到人類視網膜的仿生學的啟發,其具有幾乎相等數量的L和M型錐形細胞,但是顯著更少的S錐形細胞。由於S錐體主要負責感知藍色,其不會明顯影響亮度感知,因此相對於顯示器中的紅色和綠色子像素減少藍色子像素的數量不會降低圖像質量。

該佈局專門設計用於並依賴於子像素渲染,其平均每像素僅使用一個和四分之一子像素來渲染圖像。也就是說,任何給定的輸入像素被映射到以紅色為中心的邏輯像素或以綠色為中心的邏輯像素。

資源 PenTile矩陣族


像素的簡單定義

任何一個非常小的  它們共同構成了電視屏幕,電腦顯示器等的圖像。

資源 http://www.merriam-webster.com/dictionary/pixel


像素

在數字成像中,像素,像素或像素是物理的  在光柵圖像中,或在全點可尋址顯示設備中的最小可尋址元素;所以它是屏幕上顯示的圖片的最小可控元素。

...

像素不需要渲染為小方塊。該圖像示出了使用點,線或平滑濾波從一組像素值重建圖像的替代方式。

enter image description here

資源 像素


像素寬高比

大多數數字成像系統將圖像顯示為微小的方形像素網格。然而, 一些成像系統,尤其是必須與標準清晰度電視電影兼容的那些, 將圖像顯示為矩形像素的網格,其中像素寬度和高度不同。像素寬高比描述了這種差異。

資源 像素寬高比


像素不是一個小廣場!

像素是點樣本。它只存在於某一點。 

對於彩色圖片,像素實際上可能包含三個樣本,每個樣本對應於採樣點處的圖片的每個主要顏色。   我們仍然可以將其視為顏色的點樣本。但我們不能將像素視為正方形或其他任何點。

有些情況下的貢獻    像素可以以低階方式通過小方塊建模,但不是像素本身。

資源 像素不是一個小廣場! (Microsoft技術備忘錄6 Alvy Ray Smith,1995年7月17日)


258
2017-12-30 17:30



需要引用“計算成本更高”的觀點。理想情況下,考慮到例如六邊形鑲嵌和計算分析,可以鏈接到研究論文。聽起來有點像你只是在命名一些看似合理的解釋。 - djechlin
我們也一直在重寫很多軟件,作為改進事物的一部分。我不確定你的觀點。 - djechlin
@djechlin目前,所有視頻/圖像規格都基於矩形像素陣列。任何視頻或圖像的顯示都需要從矩形(笛卡爾)坐標系轉換為六邊形坐標系。在直角坐標系上繪製線條的計算比在六邊形坐標系上繪製簡單(這是基本數學)。需要我進一步解釋嗎? - DavidPostill♦
@djechlin答案更新,包含引文 - DavidPostill♦
您的Microsoft技術備忘錄源+1。一般來說很棒的答案。 - shock_gone_wild


我想提供一個替代David Postill深思熟慮的答案。在他的回答中,他接近像素為正方形的問題,正如標題所暗示的那樣。但是,他在回答中做了非常有見地的評論:

有些人認為它們永遠不是正方形(“像素是點樣本。它只存在於某一點。”)。

這個位置實際上可以產生一個完全不同的答案。它不是關注為什麼每個像素是正方形(或不是正方形),而是關注為什麼我們傾向於將這些點採樣組織成矩形網格。實際上並非總是如此!

為了做出這個論點,我們將在將圖像視為抽像數據(例如點網格)和在硬件中實現它之間來回播放。有時一個視圖比另一個視圖更有意義。

首先,讓我們走得很遠。傳統的電影攝影根本沒有“網格”,這就是為什麼與現代數字相比,圖片總是看起來如此清晰的一個原因。相反,它有一個“顆粒”,它是膠片上隨機分佈的晶體。它大致是一致的,但它不是一個很好的直線陣列。這些顆粒的組織起因於使用化學性質的薄膜的生產過程。結果,電影真的沒有“方向”。這只是一個2d飛濺的信息。

快進到電視,特別是舊的掃描CRT。 CRT需要與照片不同的東西:他們需要能夠將其內容表示為數據。特別地,它需要是可以通過線路以模擬方式流傳輸的數據(通常作為連續變化的電壓組)。照片是2d,但我們需要把它變成1d結構,這樣它可以在一個維度(時間)上變化。解決方案是按行(而不是像素!)對圖像進行切片。圖像是逐行編碼的。每條線都是模擬數據流,而不是數字採樣,但線路彼此分開。因此,數據在垂直方向上是離散的,但在水平方向上是連續的。

電視必須使用物理熒光粉渲染這些數據,而彩色電視需要網格將它們分成像素。每個電視可以在水平方向上做不同的事情,提供更多像素或更少像素,但它們必須具有相同數量的線。從理論上講,它們可以完全按照您的建議偏移每隔一行像素。但是,實際上並不需要這樣做。事實上,他們走得更遠了。人們很快就意識到人眼以一種讓他們每幀只發送一半圖像的方式處理動作!在一幀上,他們發送奇數行,在下一幀,他們發送偶數行,並將它們拼接在一起。

從那時起,將這些交錯圖像數字化已經成為一種技巧。如果我有480行圖像,由於隔行掃描,實際上每幀只有一半的數據。當您嘗試在屏幕上快速移動時,結果非常明顯:每條線都是 時間 從另一幀移動了1幀,在快速移動的東西中產生水平條紋。我之所以提到這一點,是因為它很有趣:你的建議將網格中的每一行都偏移了右半個像素,而隔行掃描則將網格中的每隔一行移動一半!

坦率地說,為這些東西製作這些漂亮的矩形網格更容易。沒有任何技術理由可以做得更好,它堅持下去。然後我們進入了計算機時代。計算機需要生成這些視頻信號,但它們沒有模擬能力來寫出模擬線路。解決方案很自然,數據被分成像素。現在數據在垂直和水平方向都是離散的。剩下的就是選擇如何製作網格。

製作矩形網格非常自然。首先,那裡的每台電視都已經在做了!其次,在矩形網格上繪製線條的數學是 許多 比在六邊形上繪製它們更簡單。您可能會說“但您可以在六邊形網格上的3個方向上繪製平滑線條,但在矩形網格中只能繪製2條線條。”但是,矩形網格可以輕鬆繪製水平和垂直線條。六角形網格只能繪製一個 要么 另一個。在那個時代,沒有多少人使用六邊形形狀進行任何非計算工作(矩形紙,矩形門,矩形房屋......)。能夠平滑水平  垂直線遠遠超過了製作流暢的全彩色圖像的價值......特別是考慮到第一個顯示器是單色的,它將是一個  在圖像平滑之前的時間在思考中發揮了重要作用。

從那裡開始,你有一個非常強大的矩形網格先例。圖形硬件支持軟件正在做的事情(矩形網格),軟件針對硬件(矩形網格)。從理論上講,一些硬件可能試圖製作一個六邊形網格,但該軟件並沒有獎勵它,沒有人願意支付兩倍的硬件費用!

這快速將我們推向今天。我們仍然需要漂亮的水平和垂直線條,但是使用高端視網膜顯示器,這將變得更容易和更容易。但是,開發人員仍然需要接受舊矩形網格的思考。我們看到了 一些 新的API支持“邏輯坐標”並進行抗鋸齒處理,使其看起來像是一個完整的連續2d空間,而不是剛性2d像素的網格,但它的速度很慢。最終,我們可能會看到六邊形網格。

我們確實看到了它們,而不是屏幕。在印刷中,使用六邊形網格是很常見的。人眼接受六邊形網格要比接受矩形網格快得多。它與不同系統中“別名”的方式有關。六角形網格以不太苛刻的方式混淆,眼睛更舒適(如果六角形網格需要向上或向下一行,它們可以在對角線過渡中平滑地進行。矩形網格必須跳過,創建一個非常明確的不連續性)


69
2017-12-31 20:05



非常適合解釋電視是如何形成的:模擬流。這個標準代表了70年,並且以與B / W兼容的方式添加了顏色,這些天嘗試完成!現在有多少種視頻格式?
“”電視必須使用物理熒光粉渲染這些數據,並用網格將它們分成像素。“”“ - 黑白電視真的如此嗎?我的理解是,離散的“物理熒光粉”(它仍然與數據流中的任何類似像素的項目相對應)都帶有彩色電視,而單色CRT只是連續塗有熒光粉。 - Random832
我喜歡歷史,但我不同意過渡到現代設備。雖然傳統看起來是直線的,但電視實際上是水平方向的模擬,直到你看到電視上的彩色熒光粉。它實際上是六角形的!我認為我們有直線性的真正原因是VLSI佈局比直線而不是六邊形更容易。 - user3533030
在黑白電視中,你為什麼不在表面塗抹熒光粉,讓電子流更強/更弱,讓它們以完全模擬的方式發出更多/更少的光?簡而言之,為什麼有(水平)像素呢?一旦你有了顏色,事情會變得棘手;但即便如此,如果我沒記錯的話,顏色信號也不是按像素方式定義的。對於水平樣本,重建來自均勻強度樣本的信號所需的樣本數量是頻率帶寬的函數,而半“樣本”偏移量不會改善這一點。 - Yakk
@Yakk大多數黑白CRT都是這樣構建的 - 早期的BW TV CRT來自雷達/示波器CRT,它們通常以模擬X / Y或極地方式控制,沒有光柵。電視仍然使用逐行掃描,因​​為這與信號的編碼方式相對應,但線路上沒有像素。一些專業顯示器(主要用於飛機駕駛艙)甚至使用改變顏色的磷光體,這取決於它們被電子束擊中的強度(這種顯示器被稱為penetron)。 - rackandboneman


兩個原因:

  • 矩形形狀與圓形,三角形或多於4邊形的優點在於它可以放置在具有最小“浪費空間”的其他矩形旁邊。這確保了像素的整個區域對圖像有貢獻。可以存在“合在一起”的其他形狀,但是它們可能比簡單的正方形或矩形更複雜,但是沒有引入任何額外的優點。

  • 通用像素化顯示器 - 可用於顯示任何類型的信息的顯示器需要具有不支持某些類型的形狀的像素。因此像素應該是方形而不是在一個方向上更長或更寬,而不是以任何方式剪切或旋轉。

    • 如果像素高於寬度,則水平線的最小厚度將比垂直線的最小厚度寬,使得水平線和垂直線看起來不同,對於相同數量的像素。

    • 如果旋轉像素,則只有與旋轉角度匹配的成角度的線條看起來很平滑,任何其他線條看起來都是鋸齒狀的。大多數操作系統和生產力軟件依賴於直線,因此會出現許多邊緣或鋸齒狀的egdes。

    • 剪切像素(菱形)將是兩個世界中最差的 - 對角線或水平/垂直都不會平滑。

如果您對通用顯示器不感興趣,但是針對特定目的,那麼您可以更靈活。一個極端的例子是7段LED,如果你需要做的就是顯示一個數字,就可以得到7個以這種方式排列的非方形像素。或15段LED允許字母。


20
2017-12-30 19:55



嗯,我不確定費用參數適用於六邊形(我可能是錯的)。 - Tim
@Tim - 你應該對這個問題進行一些研究。如果六邊形技術具有技術優勢,顯示器製造商將使用它們,事實上它們沒有被使用,表明它們不具有成本或性能優勢的任何優勢。 - Ramhound
@Ramhound是的,得到了​​它。我需要研究更多 - 這個問題 是 我的研究。我問原因 不 六邊形 - 不是 為什麼 正方形(和一些成本比較的鏈接會很好 - 如果有人曾經做過一個idk) - Tim
“它們可能比簡單的正方形或矩形更複雜” - 需要引用。 “但沒有引入任何額外的優勢” - 需要引用。 - Raphael
@Raphael嗯,你真的不需要引用 - 在CRT上,“像素”不是正方形或矩形。它們具有很好的顏色分佈,並且需要更少的子像素渲染“技巧”。當液晶顯示器出現時,他們根本無法比較 - 這項技術非常偏長,因此更傳統的佈局或多或少是不可能的。當然,現代“液晶顯示器”並不一定是液晶顯示器 - 例如,你不會在OLED中找到任何“液晶”。最後,六邊形(或舊式CRT,它類似)適用於圖片和電影,但不適用於UI。 - Luaan


像素不一定是正方形!

在過去像素有 長方形 形狀。這就是為什麼在任何專業的圖像/視頻編輯器,如Photoshop,Premiere,索尼維加斯...你看到了 像素長寬比 選項。只有現代電視和PC顯示器標準具有方形像素。

Photoshop pixel aspect ratio

著名的例子:

  • PAL模擬電視/ DVD: 720×576 這顯然不是16:9或4:3而是5:4。但是,在設置正確的像素長寬比時,它將生成正確的未拉伸輸出圖像

  • NTSC模擬電視/ DVD: 720×480 這是3:2。設置寬高比後,它將變為16:9或4:3,如上面的PAL。較低的垂直分辨率也解釋了為什麼NTSC DVD看起來比PAL清晰得多

  • VCD:PAL 352×288,NTSC 352×240。兩者都使用4:3的屏幕寬高比
  • SVCD小480x480並且毫不奇怪它不會產生方形輸出
  • DV1440×1080 16:9全高清分辨率
  • CGA320x200的 和 640X200 在4:3(是的,較舊的電腦屏幕確實有矩形像素)
  • EGA 除了320x200和640x200之外,還支持640x350的4:3屏幕

Adobe Premiere Pro - 使用寬高比


12
2017-12-31 10:24



通過更多地解釋寬高比(而不僅僅是鏈接)可以改進這個答案。目前尚不清楚為什麼特定的屏幕分辨率不能具有方形像素。 - Jon Bentley
我不明白方形像素和分辨率之間的聯繫。 - A.L
我已在上面說過@ A.L. 720:576是5:4,如果像素是正方形,則它將產生5:4的寬高比。然而,如果像素縱橫比設置為不同於1的值,則它將產生不同的縱橫比。但是我在哪裡說決議?我只是說寬高比 - phuclv
@ A.L:這個答案證明屏幕(或文件)中的所有像素都不是正方形的:有些是矩形的。 - slebetman
Atari 8位計算機具有一些分辨率為80x192的圖形模式,從而產生非常方形的虛線像素。 - DaveP


答案是:他們 應該 是六邊形的,因為六邊形瓷磚提供了最佳的光學質量,因此它將成為未來。
但我認為它們仍然存在兩個主要原因:

  • 在方形網格上將位圖圖像數據表示為2d陣列更容易(對於硬件簡單性和人類而言)
  • 它發生了 歷史 因為#1的原因,它會持續一段時間。

更新

這個主題是驚悚片。幾乎10k的視圖。人們想要掌握像素:)有趣的是,有人如何找到問題與屏幕分辨率或四邊形“四分位”的關係。
對我來說是: 哪種積木,方形或六邊形可提供更好的光學效果

首先,我們需要一個簡單的平鋪,但它更好地覆蓋了一個自定義區域,它確實是六邊形平鋪。從簡單的測試可以很容易地理解。強大的測試將被稱為“環”測試。為簡單起見,我在這裡製作三原色:0 - 背景,1 - 灰色和2 - 黑色。

盯著一個圓點,我們將嘗試擴展戒指,讓它看起來像這樣連續:

enter image description here

當然,我還想繪製水平/垂直線,用於許多任務,如UI和打印設計,或平台遊戲。我們稱之為“Bar Test”:

enter image description here

通過這個測試,我可以選擇在實際條件下看起來更好的線條樣式。使用垂直線條甚至更簡單。對於特定任務顯示,所有內容都可以進行硬編碼,因此要繪製帶有函數的線,我們只需在水平方向上重複其分段。 事情是,  正方形和六邊形像素方法有效,但如果您嘗試使用方形平鋪進行相同的測試,您會很快發現它們之間的區別。具有非常高的DPI並不是那麼值得注意,但為什麼要嘗試製作更多的DPI而不是嘗試更有效的方法呢?我沒有看到太多的意思。


對於RGB顏色,這可能需要更複雜的結構。其實, 我想擁有 灰度設備,如上圖所示。擁有快速像素響應來製作動畫也很酷。

只是為了好玩,我製作了簡單的六邊形結構,其中像素可以是RGB。當然我不知道這怎麼可能在真實​​的設備上看,但即使如此看起來很酷。

enter image description here


一個非正式的解釋 - 插圖可以
 有助於描述這種情況:
 

enter image description here 


9
2018-01-01 21:52



我部分不同意1的兩個部分,因為a) 3dmdesign.com/development/hexmap-coordinates-the-easy-way (雖然確定它可能有點難以設置,但是將坐標映射到它們沒有任何困難)和b)從什麼時候開始計算出人類計算機的細節。 - Tim
@Tim計算機的細節不是,但人類自我傾向於以“矩形”方式處理信息,這反過來導致奇怪的設計。有很多例子,像這樣 robonaut  為什麼讓機器人看起來像人類?從人體工程學的角度來看,這個機器人應該更像章魚,但人是人。 - Mikhail V
@MikhailV製造像人類一樣的機器人,允許它使用為人類製造的東西。否則一切都必須特別為機器人做。 - Thorbjørn Ravn Andersen
@ThorbjørnRavnAndersen是的,就像一件T恤和太陽眼鏡:) - Mikhail V
三角形不會優於六邊形,因為它們可以做六邊形可以做的所有事情嗎? - Raynet


一些答案已經觸及了這個...我認為非矩形陣列 在數據存儲方面 會產生幾乎難以想像的複雜性,並且極易出錯。我在物理系統建模方面有很多經驗,其中網格不是矩形(交錯網格 - 半邊的數據點,依此類推)。索引是一場噩夢。

首先,存在如何定義邊界的問題。圖像通常是矩形的(再次,這是歷史問題 - 如果我們的屏幕是六邊形的,事情會更容易一些)。因此,甚至圖像邊界都不是直線。你在每一行中放置了相同數量的像素嗎?你是偶數/奇數?並且......是左上角的左下角像素,也可以是右上角的左下角像素?你立即得到了近10種不同的標準,程序員每次都必須記住它的運行方式(甚至行主要和列主要差異或自上而下/自下而上的索引差異有時會導致錯誤)。這帶來了轉換景觀/肖像的巨大問題(自然變換,這在矩形網格上是微不足道的,但需要插值,並且幾乎必然是十六進製或不同網格上的有損程序)。這甚至是矩形像素的問題(寬高比!= 1)。

然後是人們對矩形佈局的自然本能。數學中有矩陣,它們具有相同的佈局。類似地,在大多數一般情況下,笛卡爾坐標係幾乎是最容易使用和理解的。獲得(x,y)像素的索引只是x +寬度* y(不是相反 - 掃描線索引的遺留)。如果width是2的倍數,則甚至不需要乘法。當基矢量不正交時,使用非直角會產生許多源於矢量代數的複雜性:旋轉不再是簡單的cos / sin疊加。翻譯變得奇怪。這帶來了很長的計算複雜性(計算成本會高出幾倍), 代碼複雜度(我記得曾經編寫過Bresenham算法編碼,我真的不想嘗試用十六進制編寫)。

插值和抗鋸齒通常有很多依賴於方格的算法。例如,雙線性插值。所有基於傅立葉的處理方法也都與矩形網格相關聯(FFT在圖像處理中非常有用)......好吧,除非你先做一些昂貴的有損轉換。

這一切都顯示出來 數據 在內存和文件格式中應存儲為矩形網格。如何顯示它取決於顯示設備/打印機,但這應該是驅動程序的問題。數據應該與設備無關,不應該假設你擁有什麼硬件。如上面的帖子所示,由於人眼生理學和其他更多技術因素,使用非矩形像素有許多優點 - 只需將數據保存在方格上,或者你將有一大群神經質程序員來回答: )

儘管如此,我實際上還是想到了一種圓形像素排列,可以整合到錶盤中(製作直線)。當我開始想像繪製任何東西這麼簡單而不是通過中心的直線時會有多困難,我得出了上面提到的很多結論。


8
2018-01-04 13:53



“這帶來了轉換景觀/肖像的巨大問題”<...>“這甚至是矩形像素的問題” - Oxymoron?我個人沒有習慣旋轉我的顯示器,所以為什麼要旋轉90 *圖像。 - Mikhail V
那裡有很多垂直屏幕(一些火車站的到達/離開屏幕,各種廣告板等),你可以看到它們實際上只是旋轉90度的常規屏幕。注意: img.worsethanfailure.com/images/200710/error'd/... - orion
這被稱為“設備使用不當”。順便說一句,可以毫不費力地解決六角網格上任意點的線繪製算法。我從來沒有這樣做過,所以我試著去試驗,它可能會比方格更加優雅。 - Mikhail V
另一個例子是手機是平板電腦,它可以動態地旋轉圖像。數據(文件格式)和屏幕都需要 邏輯 方塊像素(無論硬件實際顯示的是什麼)。線條繪製算法在定義上存在問題:Bresenham確保線條在水平或垂直方向上精確地為一個像素厚度(取決於斜率)。十六進製網格中每隔一行的半寬偏移使得“一個像素厚”的含義模糊不清。當然,它可以完成,但您首先需要重新定義和推導算法。 - orion
“需要有正方形像素”這就是問題所在。絕不應該考慮到顯示設備,有人想要旋轉它。這只是一個誤解,也導致軟件誤解和冗餘抽象層。至於計算:特別是在計算機視覺中,許多有效的解決方案本質上是三向的,如果你要做這種事情,極坐標有很多幫助。 - Mikhail V


方形像素是“合乎邏輯的事情”,他們的發明者Russel Kirsch說道:

“當然,合乎邏輯的事情不是唯一的可能性......但我們使用了正方形。從那時起,世界上的每個人都遭受了苦難,這是非常愚蠢的事。“

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


8
2017-12-31 02:35





這個問題更多的是關於排列而不是像素的實際形狀。

六邊形排列的問題是將六邊形位置轉換為笛卡爾坐標,反之亦然,這並非易事。

要么使用原始的布拉維點陣索引

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)切換到六角形,改變範式,重寫代碼和硬件線的trillons 2)使“正方形”更小,添加內存,增加兩個顯示尺寸的數字,以像素為單位。選項2)總是更便宜。

最後來自方形像素的發明者的一句話 http://www.wired.com/2010/06/smoothing-square-pixels

方形像素的發明者拉塞爾·基爾希(Russell Kirsch)回到了圖紙   板。在20世紀50年代,他是開發廣場的團隊的一員   像素。 “廣場是合乎邏輯的事情,”基爾希說。 “的   當然,合乎邏輯的事情不是我們使用的唯一可能性   廣場。 這是世界上每個人都非常愚蠢的事情   從那以後一直飽受煎熬“。現在退休並住在波特蘭,   俄勒岡州,基爾希最近著手彌補。靈感來自馬賽克   古代的建造者,他們構建了令人驚嘆的細節場景   有點像瓷磚,基爾希寫了一個程序,可以扭轉厚重,   笨重的數字圖像正方形變成更平滑的圖像   形狀各異的像素。'


7
2018-01-02 20:21



我會這樣說: 3dmdesign.com/development/hexmap-coordinates-the-easy-way 是相當微不足道的? - Tim
是的,(好點)但是那個坐標系仍然不是笛卡兒式的。例如,“3x3”的表面“hexmap”區域不是9(甚至不是大約)。這不是角度問題,而是公制的問題,六角形格子不是旋轉的矩形(或方形)格子。 - alfC
公平點 - 但笛卡爾不是必需的嗎? - Tim
正如我所說,原則上不是,我認為這更像是一個範式問題。 (文化偏見技術和技術是粘性的,技術難以孤立地改變)。 - alfC
我不同意這是范式的重大變化。對於純粹的數字案例,它相當簡單的地理變化。實際上,您需要一個相同的離散集,因此“blit”函數知道在何處寫入數據。對於來自矩形源的圖像數據,是的,存在問題。並且為十六進制顯示創建字體將比在正方形上更簡單(不那麼令人頭疼的斜坡)。 - Mikhail V