| 67 | }; |
| 68 | |
| 69 | Point randomPointTriangle(Point a, Point b, Point c) |
| 70 | { |
| 71 | double r1 = (double)rand() / RAND_MAX; |
| 72 | double r2 = (double)rand() / RAND_MAX; |
| 73 | double r1sqr = std::sqrt(r1); |
| 74 | double OneMinR1Sqr = (1 - r1sqr); |
| 75 | double OneMinR2 = (1 - r2); |
| 76 | a = a * OneMinR1Sqr; |
| 77 | b = b * OneMinR2; |
| 78 | return (c * r2 + b) * r1sqr + a; |
| 79 | } |
| 80 | |
| 81 | |
| 82 | Eigen::MatrixXd weights(500000, 500); |