From ec6bae6b9d776613824d715b696717427dc8a0ce Mon Sep 17 00:00:00 2001 From: Alexander Shalamov Date: Tue, 6 Feb 2018 10:13:06 +0200 Subject: [PATCH] Add illustrations and examples (#33) This PR adds illustrations, examples and fixes constructor parameter for GravitySensor. --- images/device_coordinate_system.png | Bin 0 -> 34050 bytes images/device_coordinate_system.svg | 1 + images/screen_coordinate_system.png | Bin 0 -> 34367 bytes images/screen_coordinate_system.svg | 1 + index.bs | 49 ++++++++++++++-- index.html | 86 ++++++++++++++++++++-------- 6 files changed, 109 insertions(+), 28 deletions(-) create mode 100644 images/device_coordinate_system.png create mode 100644 images/device_coordinate_system.svg create mode 100644 images/screen_coordinate_system.png create mode 100644 images/screen_coordinate_system.svg diff --git a/images/device_coordinate_system.png b/images/device_coordinate_system.png new file mode 100644 index 0000000000000000000000000000000000000000..9b8f375a30cead3944a332b91c5bf1bc7435734d GIT binary patch literal 34050 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 W^)brX6mZ59L{Uyfwp`jI=>Gv^8q#F| literal 0 HcmV?d00001 diff --git a/images/device_coordinate_system.svg b/images/device_coordinate_system.svg new file mode 100644 index 0000000..b0f0c66 --- /dev/null +++ b/images/device_coordinate_system.svg @@ -0,0 +1 @@ +device_coordinate_systemYXZYXZ \ No newline at end of file diff --git a/images/screen_coordinate_system.png b/images/screen_coordinate_system.png new file mode 100644 index 0000000000000000000000000000000000000000..439d0f3ddfe8a0a29b4845a6020893d843835766 GIT binary patch literal 34367 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 literal 0 HcmV?d00001 diff --git a/images/screen_coordinate_system.svg b/images/screen_coordinate_system.svg new file mode 100644 index 0000000..5da980b --- /dev/null +++ b/images/screen_coordinate_system.svg @@ -0,0 +1 @@ +screen_coordinate_systemYXZXYZ \ No newline at end of file diff --git a/index.bs b/index.bs index 1c2598d..4e344e7 100644 --- a/index.bs +++ b/index.bs @@ -65,6 +65,42 @@ Examples {#examples} +
+ The following example shows how to use gravity sensor that provides + readings in the [=screen coordinate system=]. The snippet will print message to the + console when the [=dom screen=] is perpendicular to the ground and bottom of the + rendered web page is pointing downwards. +
+    let sensor = new GravitySensor({frequency: 5, referenceFrame: "screen"});
+
+    sensor.onreading = () => {
+      if (sensor.y >= 9.8) {
+        console.log("Web page is perpendicular to the ground.");
+      }
+    }
+
+    sensor.start();
+    
+
+ +
+ The following example detects shake gesture along x axis of the device, regardless + of the orientation of the [=dom screen=]. +
+    const shakeThreshold = 25;
+
+    let sensor = new LinearAccelerationSensor({frequency: 60});
+
+    sensor.addEventListener('reading', () => {
+      if (sensor.x > shakeThreshold) {
+        console.log("Shake detected.");
+      }
+    });
+
+    sensor.start();
+    
+
+ Use Cases and Requirements {#usecases-requirements} ============================== @@ -127,7 +163,10 @@ For devices with a display, the origin of the [=device coordinate system=] is the center of the device display. If the device is held in its default position, the Y-axis points towards the top of the display, the X-axis points towards the right of the display and Z-axis is the vector product of X and Y axes and it points outwards from -the display, and towards the viewer. +the display, and towards the viewer. The [=device coordinate system=] remains stationary +regardless of the [=dom screen=] orientation (see figure below). + +Device coordinate system. The screen coordinate system is defined as a three dimensional Cartesian coordinate system (x, y, z), which is bound to the [=dom screen=]. @@ -135,7 +174,9 @@ The origin of the [=screen coordinate system=] in the center of the [=dom screen=]. The Y-axis always points towards the top of the [=dom screen=], the X-axis points towards the right of the [=dom screen=] and Z-axis is the vector product of X and Y axes and it and it points outwards from the [=dom screen=], -and towards the viewer. +and towards the viewer (see figure below). + +Screen coordinate system. The main difference between the [=device coordinate system=] and the [=screen coordinate system=], is that the [=screen coordinate system=] always follows the [=dom screen=] orientation, @@ -240,13 +281,13 @@ The GravitySensor Interface {#gravitysensor-interface} --------------------------------
-  [Constructor(optional SensorOptions options), SecureContext, Exposed=Window]
+  [Constructor(optional SpatialSensorOptions options), SecureContext, Exposed=Window]
   interface GravitySensor : Accelerometer {
   };
 
To Construct an GravitySensor Object the user agent must invoke -the [=construct a Sensor object=] abstract operation. +the [=Construct spatial sensor object=] abstract operation. ### GravitySensor.x ### {#gravitysensor-x} diff --git a/index.html b/index.html index c7de480..d347e4c 100644 --- a/index.html +++ b/index.html @@ -1183,7 +1183,7 @@ background-attachment: fixed; } - +