# lv_3dmath.h (/api/libs/gltf/math/lv_3dmath_h)



<ApiSummary functions="1" structs="3" typedefs="1" />

Functions [#functions]

<ApiMember kind="function" name="lv_get_ground_plane" file="libs/gltf/math/lv_3dmath.h" line="59" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/math/lv_3dmath.h#L59">
  lv_get_ground_plane [#lv_get_ground_plane]

  Get a plane that faces upward, centered at a given height

  ```c title=" " lineNumbers=1
  lv_3dplane_t lv_get_ground_plane(float elevation)
  ```

  <span className="sr-only">
    Parameters
  </span>

  | Name        | Type    | Description                                                         |
  | ----------- | ------- | ------------------------------------------------------------------- |
  | `elevation` | `float` | elevation of the ground plane, in world units. this is usually zero |

  **Returns:** <ApiLink name="lv_3dplane_t" /> — ground plane
</ApiMember>

Structs [#structs]

<ApiMember kind="struct" name="lv_3dpoint_t">
  lv_3dpoint_t [#lv_3dpoint_t]

  | Member | Type    | Description |
  | ------ | ------- | ----------- |
  | `x`    | `float` |             |
  | `y`    | `float` |             |
  | `z`    | `float` |             |
</ApiMember>

<TypeUsedBy name="lv_3dpoint_t" count="6">
  * `lv_gltf_model_node_get_local_position` — param `result`
  * `lv_gltf_model_node_get_world_position` — param `result`
  * `lv_gltf_model_node_get_scale` — param `result`
  * `lv_gltf_model_node_get_euler_rotation` — param `result`
  * `lv_intersect_ray_with_plane` — param `collision_point`
  * `lv_gltf_world_to_screen` — param `world_pos`
</TypeUsedBy>

<ApiMember kind="struct" name="lv_quaternion_t">
  lv_quaternion_t [#lv_quaternion_t]

  | Member | Type    | Description |
  | ------ | ------- | ----------- |
  | `x`    | `float` |             |
  | `y`    | `float` |             |
  | `z`    | `float` |             |
  | `w`    | `float` |             |
</ApiMember>

<ApiMember kind="struct" name="lv_3dplane_t">
  lv_3dplane_t [#lv_3dplane_t]

  | Member      | Type                            | Description |
  | ----------- | ------------------------------- | ----------- |
  | `origin`    | <ApiLink name="lv_3dpoint_t" /> |             |
  | `direction` | <ApiLink name="lv_3dpoint_t" /> |             |
</ApiMember>

<TypeUsedBy name="lv_3dplane_t" count="1">
  * `lv_intersect_ray_with_plane` — param `plane`
</TypeUsedBy>

Typedefs [#typedefs]

<ApiMember kind="typedef" name="lv_3dray_t" file="libs/gltf/math/lv_3dmath.h" line="47" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/math/lv_3dmath.h#L47">
  lv_3dray_t [#lv_3dray_t]

  ```c title=" " lineNumbers=1
  typedef lv_3dplane_t lv_3dray_t
  ```
</ApiMember>

<TypeUsedBy name="lv_3dray_t" count="1">
  * `lv_intersect_ray_with_plane` — param `ray`
</TypeUsedBy>

Dependencies [#dependencies]

<FileIncludes includes="[&#x22;lv_conf_internal.h&#x22;]" includedBy="[&#x22;lv_gltf_model_node.h&#x22;, &#x22;lv_gltf.h&#x22;]" transitiveIncludes="[&#x22;lv_conf_kconfig.h&#x22;]" />
