Add mj_multiRay function to perform multiple ray intersection with the same source.
PiperOrigin-RevId: 528684535 Change-Id: I6e1747a4a0910e6061d6154e19ad8723f56c22e3
This commit is contained in:
committed by
Copybara-Service
parent
4d2bf636ea
commit
2ad82d5998
@@ -843,14 +843,25 @@ where jar = Jac*qacc-aref.
|
||||
Ray collisions
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
Ray collision functionality was added in MuJoCo 1.50. This is a new collision detection module that uses analytical
|
||||
formulas to intersect a ray ``(p + x*v, x >= 0)`` with a geom, where p is the origin of the ray and v is the vector
|
||||
specifying the direction. All functions in this family return the distance to the nearest geom surface, or -1 if there
|
||||
is no intersection. Note that if p is inside a geom, the ray will intersect the surface from the inside which still
|
||||
counts as an intersection.
|
||||
Ray collisions, also known as ray casting, find the distance ``x`` of a ray's intersection with a geom, where a ray is
|
||||
a line emanating from the 3D point ``p`` in the direction ``v`` i.e., ``(p + x*v, x >= 0)``. All functions in this
|
||||
family return the distance to the nearest geom surface, or -1 if there is no intersection. Note that if ``p`` is inside
|
||||
a geom, the ray will intersect the surface from the inside which still counts as an intersection.
|
||||
|
||||
All ray collision functions rely on quantities computed by :ref:`mj_kinematics` (see :ref:`mjData`), so must be called
|
||||
after :ref:`mj_kinematics`, or functions that call it (e.g. :ref:`mj_fwdPosition`).
|
||||
after :ref:`mj_kinematics`, or functions that call it (e.g. :ref:`mj_fwdPosition`). The top level functions, which
|
||||
intersect with all geoms types, are :ref:`mj_ray` which casts a single ray, and :ref:`mj_multiRay` which casts multiple
|
||||
rays from a single point.
|
||||
|
||||
.. _mj_multiRay:
|
||||
|
||||
mj_multiRay
|
||||
~~~~~~~~~~~
|
||||
|
||||
.. mujoco-include:: mj_multiRay
|
||||
|
||||
Intersect multiple rays emanating from a single point.
|
||||
Similar semantics to mj_ray, but vec is an array of (nray x 3) directions.
|
||||
|
||||
.. _mj_ray:
|
||||
|
||||
|
||||
@@ -148,14 +148,15 @@ format of qpos.
|
||||
|
||||
.. _Raycollisions:
|
||||
|
||||
Ray collision functionality was added in MuJoCo 1.50. This is a new collision detection module that uses analytical
|
||||
formulas to intersect a ray ``(p + x*v, x >= 0)`` with a geom, where p is the origin of the ray and v is the vector
|
||||
specifying the direction. All functions in this family return the distance to the nearest geom surface, or -1 if there
|
||||
is no intersection. Note that if p is inside a geom, the ray will intersect the surface from the inside which still
|
||||
counts as an intersection.
|
||||
Ray collisions, also known as ray casting, find the distance ``x`` of a ray's intersection with a geom, where a ray is
|
||||
a line emanating from the 3D point ``p`` in the direction ``v`` i.e., ``(p + x*v, x >= 0)``. All functions in this
|
||||
family return the distance to the nearest geom surface, or -1 if there is no intersection. Note that if ``p`` is inside
|
||||
a geom, the ray will intersect the surface from the inside which still counts as an intersection.
|
||||
|
||||
All ray collision functions rely on quantities computed by :ref:`mj_kinematics` (see :ref:`mjData`), so must be called
|
||||
after :ref:`mj_kinematics`, or functions that call it (e.g. :ref:`mj_fwdPosition`).
|
||||
after :ref:`mj_kinematics`, or functions that call it (e.g. :ref:`mj_fwdPosition`). The top level functions, which
|
||||
intersect with all geoms types, are :ref:`mj_ray` which casts a single ray, and :ref:`mj_multiRay` which casts multiple
|
||||
rays from a single point.
|
||||
|
||||
.. _mj_ray:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user