random_dir.h 544 B

123456789101112131415161718192021222324
  1. #ifndef IGL_RANDOM_DIR_H
  2. #define IGL_RANDOM_DIR_H
  3. #include "igl_inline.h"
  4. #include <Eigen/Core>
  5. namespace igl
  6. {
  7. // Generate a uniformly random unit direction in 3D, return as vector
  8. Eigen::Vector3d random_dir();
  9. // Generate n stratified uniformly random unit directions in 3d, return as rows
  10. // of an n by 3 matrix
  11. //
  12. // Inputs:
  13. // n number of directions
  14. // Return n by 3 matrix of random directions
  15. Eigen::MatrixXd random_dir_stratified(const int n);
  16. }
  17. #ifdef IGL_HEADER_ONLY
  18. # include "random_dir.cpp"
  19. #endif
  20. #endif