DOMPoint

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

A DOMPoint represents a 2D or 3D point in a coordinate system.

In general, a positive x component represents a position right of the origin, a positive y component upwards from the origin, and a positive z component outwards from the screen (in other words, opposite the direction that the user is facing).

It inherits from its parent, DOMPointReadOnly.

Constructor

DOMPoint()
Creates a new DOMPoint object.

Methods

DOMPoint inherits methods from its parent, DOMPointReadOnly.

DOMPointReadOnly.fromPoint
Translates the position/perspective of a DOMPoint to a new position (doesn't appear to be supported anywhere yet.)

Properties

DOMPoint inherits properties from its parent, DOMPointReadOnly.

DOMPointReadOnly.x
The x coordinate of the DOMPoint.
DOMPointReadOnly.y
The y coordinate of the DOMPoint.
DOMPointReadOnly.z
The z coordinate of the DOMPoint.
DOMPointReadOnly.w
The perspective value of the DOMPoint.

Examples

In the WebVR API, DOMPoint values are used to represent points in the coordinate space that the user's head mounted display exists in. In the following snippet, the position of the VR HMD can be retrieved by first grabbing a reference to the position sensor's current state using PositionSensorVRDevice.getState, then accessing the resulting VRPositionState's position property, which returns a DOMPoint. Note below the usage of position.x, position.y, and position.z.

function setView() {
      var posState = gPositionSensor.getState();
      if(posState.hasPosition) {
        posPara.textContent = 'Position: x' + roundToTwo(posState.position.x) + " y"
                                    + roundToTwo(posState.position.y) + " z"
                                    + roundToTwo(posState.position.z);
        xPos = -posState.position.x * WIDTH * 2;
        yPos = posState.position.y * HEIGHT * 2;
        if(-posState.position.z > 0.01) {
          zPos = -posState.position.z;
        } else {
          zPos = 0.01;
        }
      }

  ...

}

Note: See our positionsensorvrdevice demo for the full code.

Specifications

Specification Status Comment
Geometry Interfaces Module Level 1
The definition of 'DOMPoint' in that specification.
Candidate Recommendation Latest spec version is an ED.

Browser compatibility

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 61

 
(Yes)
 
No support

No support

No support
Feature Android Firefox Mobile (Gecko) Firefox OS (Gecko) IE Phone Opera Mobile Safari Mobile Chrome for Android
Basic support No support (Yes) No support No support No support No support No support

See also

Document Tags and Contributors

 Contributors to this page: jpmedley, zbjornson, rolfedh, Calmbit, chrisdavidmills
 Last updated by: jpmedley,