DOMPoint

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流瀏覽器均已支援。

注意:此功能在 Web Workers 中可用。

DOMPoint 物件表示座標系中的二維或三維點;它包含多達三個維度的座標值,以及一個可選的透視值。DOMPoint 基於 DOMPointReadOnly,但允許更改其屬性的值。

通常,正 x 分量表示原點右側的位置,正 y 分量表示原點向下的位置,正 z 分量表示從螢幕向外的延伸(換句話說,朝向使用者)。

DOMPointReadOnly DOMPoint

建構函式

DOMPoint()

透過提供零個或多個座標分量的值以及可選的 w 透視值,建立並返回一個新的 DOMPoint 物件。您也可以透過呼叫 DOMPoint.fromPoint() 靜態方法,使用現有的 DOMPointDOMPointReadOnly 或物件來建立新點。

例項屬性

DOMPoint 也可能從其父級 DOMPointReadOnly 繼承屬性。

DOMPoint.x

DOMPointx 座標。

DOMPoint.y

DOMPointy 座標。

DOMPoint.z

DOMPointz 座標。

DOMPoint.w

DOMPoint 的透視值。

例項方法

DOMPoint 從其父級 DOMPointReadOnly 繼承例項方法。

靜態方法

DOMPoint 也可能從其父級 DOMPointReadOnly 繼承靜態方法。

DOMPoint.fromPoint()

透過現有的點(或包含匹配屬性的物件)建立新的可變 DOMPoint 物件,該物件為其屬性提供值。

示例

WebXR 裝置 API 中,DOMPointReadOnly 值表示位置和方向。在以下程式碼片段中,可以透過在 XRSession 動畫幀期間呼叫 XRFrame.getViewerPose() 來檢索 XR 裝置(如 VR 頭顯或具有 AR 功能的手機)的姿勢,然後訪問生成的 XRPosetransform 屬性,該屬性包含兩個 DOMPointReadOnly 屬性:表示向量的 position 和表示四元數的 orientation

js
function onXRFrame(time, xrFrame) {
  let viewerPose = xrFrame.getViewerPose(xrReferenceSpace);

  if (viewerPose) {
    let position = viewerPose.transform.position;
    let orientation = viewerPose.transform.orientation;

    console.log(
      `XR Viewer Position: {x: ${roundToTwo(position.x)}, y: ${roundToTwo(
        position.y,
      )}, z: ${roundToTwo(position.z)}`,
    );

    console.log(
      `XR Viewer Orientation: {x: ${roundToTwo(orientation.x)}, y: ${roundToTwo(
        orientation.y,
      )}, z: ${roundToTwo(orientation.z)}, w: ${roundToTwo(orientation.w)}`,
    );
  }
}

規範

規範
Geometry Interfaces Module Level 1
# DOMPoint

瀏覽器相容性

另見