<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web</anchor> では、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">左上隅</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">原点</anchor>とし、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">水平</anchor>方向を <var>X</var> 軸、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">垂直</anchor>方向を <var>Y</var> 軸として<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">右下</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正</anchor>の方向になる(平面)<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">座標系</anchor>を採用しています。</p><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <cite xml:lang="en">CSSOM View Module</cite>
(<time>2016-08-06 08:18:46 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://drafts.csswg.org/cssom-view/#scrolling-area-origin">https://drafts.csswg.org/cssom-view/#scrolling-area-origin</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <cite xml:lang="en">CSSOM View Module</cite> (<time>2016-08-06 08:18:46 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://drafts.csswg.org/cssom-view/#extensions-to-the-window-interface">https://drafts.csswg.org/cssom-view/#extensions-to-the-window-interface</anchor-external></li></ul></refs></section><section><h1>文脈</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> 次の場面でこの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">座標系</anchor>が採用されています。<figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSS</anchor>/<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSSOM</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SVG</anchor></li><li><code class="HTML" xml:lang="en">2d</code></li><li><code class="DOMi" xml:lang="en">MouseEvent</code></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サーバー側画像写像</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント側画像写像</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">媒体素片</anchor> <code class="URI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xywh</anchor></code></li></ul></figure></p></section><section><h1>負</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">負</anchor>の方向もありますが、制限もあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">媒体素片</anchor>では構文的に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">負</anchor>の値は表現できません。</p></section><section><h1>小数</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">座標</anchor>上の値は基本的には<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画素</anchor>単位となっていますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">小数</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">座標</anchor>も表現できることがあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">媒体素片</anchor>では構文的に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画素</anchor>単位または<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">百分率</anchor>単位に満たない値は表現できません。</p></section><section><h1><var>Z</var> 軸</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSS</anchor> では <code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">z-index</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">特性</anchor>により前後方向を指定できます。
しかし <var>X</var> や <var>Y</var> とは違って無単位の値になっています。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <var xmlns="http://www.w3.org/1999/xhtml">X</var> や <var xmlns="http://www.w3.org/1999/xhtml">Y</var> の軸とは違って前後方向に対して斜めに表示できません。</comment-p></section><section><h1>座標変換</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画像写像</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSS</anchor> による変形の結果に対する座標となっています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">媒体素片</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アスペクト比</anchor>の変換等の変形の結果に対する座標となっています。</p></section><section><h1>具体的な座標系</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> 次の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">座標系</anchor>は、いずれも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">原点</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">左辺</anchor>からの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSS画素</anchor>数を <var>X</var> とし、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">上辺</anchor>からの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSS画素</anchor>数を <var>Y</var> とするものです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画面</anchor>では、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">出力装置</anchor>の左上隅が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">原点</anchor>です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> 次の機能で使われています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</anchor-internal></src>。<figure class="list short"><ul><li><code class="DOMm" xml:lang="en">moveTo</code></li><li>(<code class="DOMm" xml:lang="en">moveBy</code>)</li><li><code class="DOMa" xml:lang="en">window.screenX</code></li><li><code class="DOMa" xml:lang="en">window.screenY</code></li><li><code class="DOMm" xml:lang="en">window.open</code> <code class="DOM" xml:lang="en">left</code></li><li><code class="DOMm" xml:lang="en">window.open</code> <code class="DOM" xml:lang="en">top</code></li></ul></figure></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マルチディスプレイ</anchor>環境については、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画面</anchor>を参照。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>では、当該<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>の左上隅が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">原点</anchor>です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> 次の機能で使われています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</anchor-internal></src>。<figure class="list short"><ul><li><code class="DOMm" xml:lang="en">resizeTo</code></li><li>(<code class="DOMm" xml:lang="en">resizeBy</code>)</li></ul></figure></p></section><section><h1>円形画面の座標系</h1><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">時計</anchor>などの円形画面を持つ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">装置</anchor></ed></section><section><h1>関連</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> 他に、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">地球座標枠</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">装置座標枠</anchor>が使われます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PDF座標系</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">数学</anchor>式。</p></section><section><h1>歴史</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <cite xml:lang="en">Bug 28029 – Mouse coordinates represented in CSS pixels do not account for retina displays with window.devicePixelRatio &gt; 1.</cite>
(<time>2015-02-17 19:41:40 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.w3.org/Bugs/Public/show_bug.cgi?id=28029#c6">https://www.w3.org/Bugs/Public/show_bug.cgi?id=28029#c6</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <cite>Blink Coordinate Spaces - The Chromium Projects</cite>
(<time>2015-03-21 10:14:33 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.chromium.org/developers/design-documents/blink-coordinate-spaces">https://www.chromium.org/developers/design-documents/blink-coordinate-spaces</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <cite xml:lang="en">Clarify canvas coordinate system</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2017-09-29 01:15:22 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/8f2146b82c395397a8a3076ec2d642599f06d726">https://github.com/whatwg/html/commit/8f2146b82c395397a8a3076ec2d642599f06d726</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> <cite xml:lang="en">Canvas and CSS pixels · Issue #2854 · whatwg/html</cite>
(<time>2017-09-29 15:25:12 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/issues/2854">https://github.com/whatwg/html/issues/2854</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> <cite xml:lang="en">Canvas and CSS pixels · Issue #2854 · whatwg/html</cite>
(<time>2017-09-29 15:26:03 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/issues/2854">https://github.com/whatwg/html/issues/2854</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> <cite xml:lang="en">Editorial: clarify canvas coordinate system by annevk · Pull Request #2867 · whatwg/html</cite>
(<time>2017-09-29 15:27:31 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/pull/2867">https://github.com/whatwg/html/pull/2867</anchor-external></p></section></body></html>