綾小路龍之介の素人思考

[ディスプレイ] 解像度とインチからppiを求める

タブレットの解像度やサイズは向上しているのにノート PC の解像度やサイズは向上していないなぁ。と思ったので調べてみた。感覚的には小さい画面で解像度が高い製品から徐々に大きい画面で解像度が高い製品にシフトしていくような気がする。民生機で最高のppi,dpiを持つ製品はスマートフォンから始まって、徐々にタブレット、ノートPCへとシフトしている。

まとめの図は以下。

dot pitch

上の図を作ったgnuplotファイルが以下。

#!/usr/bin/gnuplot

set terminal png size 1800,2400
set output "dotpitch.png"

#set pm3d map; set cbrange [0:500]; set palette rgbformulae 33,13,10
set bmargin 0
set cntrparam levels auto 20
set cntrparam levels incremental 0, 25
set contour base
set grid xtics ytics mxtics mytics;
set isosamples 100,100
set key at 3,14E+6
set lmargin 0
set mxtics 5
set mytics 5
set rmargin 0
set tmargin 0
set view 0,0
set xlabel "size [in]" offset 0.0,15.0;
set xrange [0:25];
set ylabel "x^2 + y^2 [px^2]" rotate parallel;
set yrange [0:15E+6];
unset surface
unset ztics

h(dpi,x,I) = sqrt((dpi**2 * I**2) - x**2)
a(x,y) = (x**2 + y**2)
g(x,y) = sqrt(a(x,y))
i(x,y,I) = sqrt(a(x,y) / I**2)
f(x,y,I) = sqrt(I**2 / a(x,y))
g(S,I) = sqrt(S / I**2)
h(S,I) = sqrt(I**2 / S)
#sqrt((x^2 + y^2) / I^2) = x/X
#(x^2 + y^2) = (x/X)^2 * I^2

set label "Let'snote CF-B11U" front point pt 5 at 15.6,a(1920,1080)
set label 'ENVY TouchSmart 14, UH90/L' front point pt 5 at 14,a(3200, 1800)
set label 'Libretto L1' front point pt 5 at 10,a(1280, 600)
set label 'MBA Retina (Mid 2012)' front point pt 5 at 13.3,a(1440, 900)
set label 'MBP Retina (Mid 2012)' front point pt 5 at 15.4,a(2880, 1800)
set label 'Nexus 10' front point pt 4 at 10,a(2560, 1600)
set label 'Nexus 7' front point pt 4 at 7,a(1920, 1200)
set label 'SC-04E' front point pt 9 at 5,a(1920, 1080)
set label 'TP T61p' front point pt 5 at 15.4,a(1920, 1200)
set label 'TP W540' front point pt 5 at 15.5,a(2880, 1620)
set label 'TP X32' front point pt 5 at 12.1,a(1024, 768)
set label 'XPS 17 (L701X)' front point pt 5 at 17.3,a(1600, 900)
set label 'iPad 4th G' front point pt 4 at 9.7,a(2048, 1536)
set label 'iPhone 5' front point pt 9 at 4,a(1136, 640)

S=a(1024,  768); set arrow from -1,S to 0,S; set label '1024x768'  at -8.0,S # XGA 4:3
S=a(1280,  600); set arrow from -1,S to 0,S; set label '1280x600'  at -8.0,S # UWSVGA
S=a(1280,  720); set arrow from -1,S to 0,S; set label '1280x720'  at -4.5,S # HD 720p
S=a(1280,  768); set arrow from -1,S to 0,S; set label '1280x768'  at -8.0,S # WXGA 4:3
S=a(1920, 1080); set arrow from -1,S to 0,S; set label '1920x1080' at -8.0,S # Full-HD 16:9
S=a(1920, 1200); set arrow from -1,S to 0,S; set label '1920x1200' at -4.5,S # WUXGA 8:5
S=a(2048, 1080); set arrow from -1,S to 0,S; set label '2048x1080' at -8.0,S # 2k
S=a(2048, 1536); set arrow from -1,S to 0,S; set label '2048x1536' at -8.0,S # QXGA
S=a(2560, 1600); set arrow from -1,S to 0,S; set label '2560x1600' at -8.0,S # WQXGA 8:5
S=a(2880, 1620); set arrow from -1,S to 0,S; set label '2880x1620' at -8.0,S # 3k
S=a(2880, 1800); set arrow from -1,S to 0,S; set label '2880x1800' at -8.0,S # QWXGA+ 8:5
S=a(3200, 1800); set arrow from -1,S to 0,S; set label '3200x1800' at -8.0,S # WQHD+ 4:3
#S=a(4096, 2160); set arrow from -1,S to 0,S; set label '4096x2160' at -8.0,S # 4k

splot g(y,x) lw 3;

! convert -trim  dotpitch.png dotpitch0.png
exit;

無駄な余白はconvertを使ってでトリミング。これはgnuplotスクリプトのexit前に仕込むことでもOK。

$ convert -trim  dotpitch.png dotpitch0.png

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2010-08-12T02:54:30+09:00
  2. Modified: 2010-08-12T02:54:30+09:00
  3. Generated: 2017-04-09T23:09:29+09:00