Plot 用圆点填充圆,使用朝向圆环边缘的偏移

Plot 用圆点填充圆,使用朝向圆环边缘的偏移,plot,processing,geometry,p5.js,Plot,Processing,Geometry,P5.js,这就是我想要达到的目标 到目前为止,我对自己拥有的代码感到满意,从Wolfram和另一个数学来源那里借来 但我不知道如何整合一些偏差计算,或者仅仅是一种分配随机但有组织的数据的方法 谁能给我指出正确的方向吗 这是我的代码,它将使用P5在浏览器中运行 var numDots=3000; var dotSize=1.5; 变量点坐标=[]; var随机色调; var xoff=0; var fps=30; 函数设置(){ createCanvas(600600); ellipseMode(中心)

这就是我想要达到的目标

到目前为止,我对自己拥有的代码感到满意,从Wolfram和另一个数学来源那里借来

但我不知道如何整合一些偏差计算,或者仅仅是一种分配随机但有组织的数据的方法

谁能给我指出正确的方向吗

这是我的代码,它将使用P5在浏览器中运行

var numDots=3000;
var dotSize=1.5;
变量点坐标=[];
var随机色调;
var xoff=0;
var fps=30;
函数设置(){
createCanvas(600600);
ellipseMode(中心);
彩色模式(HSB,360100100);
随机色调=随机(360);
帧速率(fps);
对于(i=0;i

你想做的事让我想起了。您可以做的是从光盘中心随机选取点的双曲线距离,
h
,然后使用转换
r=tanh(h/2)
将其转换为从光盘中心的欧氏距离。概念证明:

函数设置(){
createCanvas(250250);
背景(0);
仰泳();
填充(255);
noLoop();
}
函数绘图(){
平移(宽度/2,高度/2);
for(设i=0;i<5000;i++){
设θ=随机(0,二π);
设h=randomGaussian(3.3);//用不同的方法进行实验
设r=(exp(h)-1)/(exp(h)+1);
设x=宽度/2*r*cos(θ);
设y=高度/2*r*sin(θ);
椭圆(x,y,1,1);
}
}

如果您了解如何从圆或球体中正确采样点,则通过偏置采样函数以其他方式对其进行采样应该很容易回答。不确定我是否理解你-我目前不是从一个圆圈中取样,我是任意分布在一个圆圈中的。我可以看到一种方法,在点坐标数组中迭代每个点,任何靠近圆边缘的点都会被推到边缘。这就是你指的吗?不,我指的是随机抽样。在所需几何体中生成随机点的过程,该几何体具有所需的概率分布。通常用于蒙特卡罗模拟。@tehhowch I不知道蒙特卡罗模拟。谢谢分享。