This function computes the intersection of a cone and a plane, where the result is represented either as an ellipse or in the form of a Gaussian distribution.
This algorithm can be used to extract probabilistically information concerning gazing or pointing direction. Indeed, by representing a visual field as a cone and representing a table as a plane, the Gaussian distribution can be used to compute the probability that one object on the table is observed/pointed by the user.
The source code is an implementation of the algorithms described in the book "Robot Programming by Demonstration: A Probabilistic Approach", EPFL/CRC Press (more information on http://programming-by-demonstration.org/book/)
anyone advise on how to normalize the coneDir vector?
I want to comment on my own comment The author of this package emailed me directly, pointing out that I had failed to normalize the coneDir vector.
SO PLEASE DISREGARD MY MESSAGE ABOVE.
The error was mine!
The very thing I need! I had a need of a routine that calculates the intersection of antenna beam with the terrain surface. This routine has helped me. Some more features I need in this routine are the next:
1) How do I model the cone of two different angles at its two axes - the axis of elevation and the axis of azimuth? Which parameters must be changed at the cone matrix in order to achieve such an "ellipsoid" cone?
2) How can I modulate the gain of the intersection instead of the modulation by PDF function? E.g. modulation by the sinc function (as is at the common antennas)?
Notation updated to match the description of the algorithm in the the book "Robot Programming by Demonstration: A Probabilistic Approach", EPFL/CRC Press (more information on http://programming-by-demonstration.org/book/)