我想生成可以随机填充/覆盖空间的样本点(如附图中所示).我认为他们有一种称为"准随机"的方法,可以生成这样的采样点.但是,这离我的知识有点远.有人可以提出建议或帮我找到可以这样做的图书馆吗?或者建议如何开始编写这样的程序?

在图像中,256个采样点应用于给定空间,放置在随机位置以覆盖整个给定空间.
更新:我只是尝试使用Halton准随机序列中的一些代码,并与下面的朋友发布的伪随机结果进行比较.在我看来,Halton方法的结果更好.我想分享一些结果如下;

我写的代码是
#include "halton.hpp"
#include "opencv2/opencv.hpp"
int main()
{
int m_dim_num = 2;
int m_n = 50;
int m_seed[2], m_leap[2], m_base[2];
double m_r[100];
for (int i = 0; i < m_dim_num; i++)
{
m_seed[i] = 0;
m_leap[i] = 1;
m_base[i] = 2+i;
}
cv::Mat out(100, 100, CV_8UC1);
i4_to_halton_sequence( m_dim_num, m_n, 0, m_seed, m_leap, m_base, m_r);
int displaced = 100;
for (int i = 0; i < 100; i=i+2)
{
cv::circle(out, cv::Point2d((m_r[i])*displaced, (m_r[i+1])*displaced), 1, cv::Scalar(0, 255, 0), …Run Code Online (Sandbox Code Playgroud)