在Python中定义非线性限制线到数据集
我有一组(x,y)数据。在python绘制这只是给出在Python中定义非线性限制线到数据集
我希望能够以适合一些线或轮廓这一数据,限定内半径和外半径,这样我可以然后随机那些限度内选择一个点。
但是,我不知道从哪里开始。有任何想法吗?
如果这是同心圆,我会计算平均的x和y坐标(这将是中心),然后计算每个点与中心之间的距离。最大和最小距离将是内圈和外圈的半径。 (如果你愿意,你也可以选择其他百分位数)。
如果那不是圆圈,而是更复杂的东西,你可以用convex hull作为poligon近似外形,使用类似marching squares(或者对两者都使用步进方块)的innner。比你可以做point inside poligon test你选择的点。
也许,如果(0,0)在里面,则可以将凸包装入1/zz *变换的数据并转换回来以获得内部极限。 – mikuszefski
@mikuszefski有趣。什么是1/zz *转换数据?因为从我的大学我只记得我们可以从n + 1维空间中的相同点的凸包获得n维空间中点的Delauney三角剖分,其中最后一个坐标是所有其他坐标平方的欧氏范数。但我没有记住有关找到轮廓的转换。 – Bunyk
我只是想在单位圆上进行反射,从里面翻出来。因为它是二维数据,我会把z = x + i y,那么(z z *)^( - 1)就是相应的反射。天气与否这可能取决于OP的典型数据。 – mikuszefski
您当前使用的代码和正在使用的库 – Dark
如果您的数据是圆形或椭圆形,则可以使用[this](https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source =网页及CD = 10&VED = 0ahUKEwigjI-sia7WAhXM5xoKHYj-Bm8QFghjMAk&URL = HTTP%3A%2F%2Fwww.stsci.edu%2F〜RAB%2FBackup%2520Oct%252022%25202011%2Ff_3_CalculationForWFIRSTML%2FGaertner%2520%26%2520Schoenherr.pdf&USG = AFQjCNFrKPRtr_5KBSnlCB90ikYmsZqtLw),用于外边,也许是1/zz *技巧(见下面的回复评论)。 – mikuszefski