我正在进行一项实验,以确定几何边界是否会影响代理商在某些经济游戏中的协调。
我使用以下方法将单位正方形的图形随机分成两部分:
在python中(不是超级相关)......
答案 0 :(得分:0)
我认为你最好使用python来查找哪个分散点在哪个分区中。应该可以将散点与坐标(x_scatter,y_scatter)与相同x值的线进行比较。那是;
if x_scatter == x_line and y_scatter > y_line:
scatter point is in white portion of graph
elif x_scatter == x_line and y_scatter < y_line:
scatter point is in the gray portion of the graph.
我之所以这么说是因为据我所知,高图表没有固有的方法可以判断一个点是否与另一个系列点重叠。当然可以用javascript来完成这个计算,但是因为你已经在python中知道了这些变量,所以看起来像是不必要的额外工作。
答案 1 :(得分:0)
请参阅此实时演示(点击并拖动以创建区域):http://jsfiddle.net/vsbrwgso/
它使用光线投射算法(https://en.wikipedia.org/wiki/Point_in_polygon)来查找路径中的点。
var pointInPolygon = function(point, vs) {
// ray-casting algorithm based on
// http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html
var x = point[0],
y = point[1];
var inside = false;
for (var i = 0, j = vs.length - 1; i < vs.length; j = i++) {
var xi = vs[i][0],
yi = vs[i][1];
var xj = vs[j][0],
yj = vs[j][1];
var intersect = ((yi > y) != (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi);
if (intersect) inside = !inside;
}
return inside;
};
您应该根据需要调整此示例(删除交互性,使用areaspline / polygon系列而不是用户选择等)。