[从头学数学] 第270节 [计算几何] 例题数据生成

时间:2023-02-10 17:57:55
剧情提要:
阿伟看到了一本比较有趣的书,是关于《计算几何》的,2008年由北清派出版。很好奇
它里面讲了些什么,就来看看啦。


正剧开始:
星历2016年09月22日 10:58:47, 银河系厄尔斯星球*江南行省。

[工程师阿伟]正在和[机器小伟]一起研究[计算几何]]。


[从头学数学] 第270节 [计算几何] 例题数据生成



给出一批线段,它们之间有一些交点,根据交点拆分出更多线段

[从头学数学] 第270节 [计算几何] 例题数据生成

<span style="font-size:18px;">#
>>> 
102
[[[-10, -9], [-0.51, 2.38]], [[-0.51, 2.38], [-0.37, 2.56]], [[-0.37, 2.56], [0, 3]], [[-2, -9], [1.2, -6.6]], [[1.2, -6.6], [2, -6]], [[2, -6], [5.09, -3.68]], [[5.09, -3.68], [5.56, -3.33]], [[5.56, -3.33], [6, -3]], [[-2, -9], [-1.38, -5.31]], [[-1.38, -5.31], [-1.27, -4.64]], [[-1.27, -4.64], [-0.15, 2.11]], [[-0.15, 2.11], [-0.12, 2.28]], [[-0.12, 2.28], [0, 3]], [[-2, -9], [-0.86, -5.57]], [[-0.86, -5.57], [-0.4, -4.2]], [[-0.4, -4.2], [1, 0]], [[1, 0], [1.24, 0.72]], [[1.24, 0.72], [1.33, 1]], [[1.33, 1], [1.5, 1.5]], [[1.5, 1.5], [1.78, 2.33]], [[1.78, 2.33], [2, 3]], [[2, -9], [5.35, -3.97]], [[5.35, -3.97], [5.67, -3.5]], [[5.67, -3.5], [6, -3]], [[2, -7], [1.2, -6.6]], [[1.2, -6.6], [-0.86, -5.57]], [[-0.86, -5.57], [-1.38, -5.31]], [[-1.38, -5.31], [-2, -5]], [[2, -7], [2, -6]], [[2, -6], [2, -3]], [[8, -7], [6, -3]], [[6, -3], [4.5, 0]], [[4.5, 0], [4.29, 0.43]], [[4.29, 0.43], [4, 1]], [[8, -7], [8, 3]], [[8, -7], [5.67, -3.5]], [[5.67, -3.5], [5.56, -3.33]], [[5.56, -3.33], [4, -1]], [[4, -1], [3.67, -0.5]], [[3.67, -0.5], [1.78, 2.33]], [[1.78, 2.33], [1.33, 3]], [[1.33, 3], [0.8, 3.8]], [[0.8, 3.8], [0, 5]], [[8, -7], [5.35, -3.97]], [[5.35, -3.97], [5.09, -3.68]], [[5.09, -3.68], [3.33, -1.67]], [[3.33, -1.67], [3.08, -1.38]], [[3.08, -1.38], [1.24, 0.72]], [[1.24, 0.72], [0.46, 1.62]], [[0.46, 1.62], [0.36, 1.73]], [[0.36, 1.73], [-0.12, 2.28]], [[-0.12, 2.28], [-0.37, 2.56]], [[-0.37, 2.56], [-6, 9]], [[-2, -5], [-1.27, -4.64]], [[-1.27, -4.64], [-0.4, -4.2]], [[-0.4, -4.2], [2, -3]], [[2, -3], [3.33, -1.67]], [[3.33, -1.67], [4, -1]], [[2, -3], [1, 0]], [[1, 0], [0.46, 1.62]], [[0.46, 1.62], [0.44, 1.67]], [[0.44, 1.67], [0, 3]], [[2, -3], [3.08, -1.38]], [[3.08, -1.38], [3.56, -0.67]], [[3.56, -0.67], [3.6, -0.6]], [[3.6, -0.6], [3.67, -0.5]], [[3.67, -0.5], [4.29, 0.43]], [[4.29, 0.43], [6, 3]], [[6, -3], [4, -1]], [[4, -1], [3.6, -0.6]], [[3.6, -0.6], [1.5, 1.5]], [[1.5, 1.5], [0, 3]], [[6, -3], [6, 3]], [[4, -1], [4.5, 0]], [[4.5, 0], [6, 3]], [[4, -1], [3.56, -0.67]], [[3.56, -0.67], [1.33, 1]], [[1.33, 1], [0.44, 1.67]], [[0.44, 1.67], [0.36, 1.73]], [[0.36, 1.73], [-0.15, 2.11]], [[-0.15, 2.11], [-0.51, 2.38]], [[-0.51, 2.38], [-4, 5]], [[4, -1], [3.67, -0.5]], [[3.67, -0.5], [1.78, 2.33]], [[1.78, 2.33], [1.33, 3]], [[1.33, 3], [0.8, 3.8]], [[0.8, 3.8], [0, 5]], [[0, 3], [1.33, 3]], [[1.33, 3], [2, 3]], [[2, 3], [6, 3]], [[0, 3], [0.8, 3.8]], [[0.8, 3.8], [2.4, 5.4]], [[2.4, 5.4], [6, 9]], [[2, 3], [3.33, 5]], [[3.33, 5], [6, 9]], [[6, 3], [6, 3.86]], [[6, 3.86], [6, 9]], [[8, 3], [6, 3.86]], [[6, 3.86], [3.33, 5]], [[3.33, 5], [2.4, 5.4]], [[2.4, 5.4], [-6, 9]], [[8, 3], [6, 9]]]
>>> 

$vertex = [[[-10, -9], 0], [[-2, -9], 1], [[2, -9], 2], [[2, -7], 3], [[8, -7], 4], [[-2, -5], 5], [[2, -3], 6], [[6, -3], 7], [[4, -1], 8], [[4, 1], 9], [[0, 3], 10], [[2, 3], 11], [[6, 3], 12], [[8, 3], 13], [[-4, 5], 14], [[0, 5], 15], [[-6, 9], 16], [[6, 9], 17]];

$seg = [[10, 11, 2.0], [15, 16, 7.211], [2, 5, 5.657], [1, 13, 15.62], [4, 8, 7.211], [7, 15, 10.0], [0, 3, 12.166], [6, 11, 6.0], [9, 17, 8.246], [12, 14, 10.198]];

#根据线段的交点拆分线段    
def test():
    debug = 1;
    
    #线段
    seg = [[[-10, -9], [0, 3]], [[-2, -9], [6, -3]], [[-2, -9], [0, 3]], [[-2, -9], [2, 3]], [[2, -9], [6, -3]], [[2, -7], [-2, -5]], [[2, -7], [2, -3]], [[8, -7], [4, 1]], [[8, -7], [8, 3]], [[8, -7], [0, 5]], [[8, -7], [-6, 9]], [[-2, -5], [2, -3]], [[2, -3], [4, -1]], [[2, -3], [0, 3]], [[2, -3], [6, 3]], [[6, -3], [0, 3]], [[6, -3], [6, 3]], [[4, -1], [6, 3]], [[4, -1], [-4, 5]], [[4, -1], [0, 5]], [[0, 3], [6, 3]], [[0, 3], [6, 9]], [[2, 3], [6, 9]], [[6, 3], [6, 9]], [[8, 3], [-6, 9]], [[8, 3], [6, 9]]]
    len_seg = len(seg);
    
    segSet = set();
    
    for i in range(len(seg)):
        segSet.add(SegLine(seg[i][0], seg[i][1]));

    segArray = sorted(list(segSet));

    #print(segArray);

    result = findInterPoint(segArray);

    divideSeg = [];
    
    #拆分线段
    for i in range(len(result)):
        for j in range(len(result[i])-1):
            
            divideSeg.append([result[i][j].point, result[i][j+1].point]);

    print(len(divideSeg));
    print(divideSeg);
	

#</span>


拆分后:

[从头学数学] 第270节 [计算几何] 例题数据生成


求现在共有多少顶点

<span style="font-size:18px;">#
>>> 
102
[Point([-10, -9]), Point([-2, -9]), Point([2, -9]), Point([2, -7]), Point([8, -7]), Point([1.2, -6.6]), Point([2, -6]), Point([-0.86, -5.57]), Point([-1.38, -5.31]), Point([-2, -5]), Point([-1.27, -4.64]), Point([-0.4, -4.2]), Point([5.35, -3.97]), Point([5.09, -3.68]), Point([5.67, -3.5]), Point([5.56, -3.33]), Point([2, -3]), Point([6, -3]), Point([3.33, -1.67]), Point([3.08, -1.38]), Point([4, -1]), Point([3.56, -0.67]), Point([3.6, -0.6]), Point([3.67, -0.5]), Point([1, 0]), Point([4.5, 0]), Point([4.29, 0.43]), Point([1.24, 0.72]), Point([1.33, 1]), Point([4, 1]), Point([1.5, 1.5]), Point([0.46, 1.62]), Point([0.44, 1.67]), Point([0.36, 1.73]), Point([-0.15, 2.11]), Point([-0.12, 2.28]), Point([1.78, 2.33]), Point([-0.51, 2.38]), Point([-0.37, 2.56]), Point([0, 3]), Point([1.33, 3]), Point([2, 3]), Point([6, 3]), Point([8, 3]), Point([0.8, 3.8]), Point([6, 3.86]), Point([-4, 5]), Point([0, 5]), Point([3.33, 5]), Point([2.4, 5.4]), Point([-6, 9]), Point([6, 9])]
52
操作用时:4.428e-01 s
>>> 
  
def test():
    debug = 1;
    
    seg=[[[-10, -9], [-0.51, 2.38]], [[-0.51, 2.38], [-0.37, 2.56]], [[-0.37, 2.56], [0, 3]], [[-2, -9], [1.2, -6.6]], [[1.2, -6.6], [2, -6]], [[2, -6], [5.09, -3.68]], [[5.09, -3.68], [5.56, -3.33]], [[5.56, -3.33], [6, -3]], [[-2, -9], [-1.38, -5.31]], [[-1.38, -5.31], [-1.27, -4.64]], [[-1.27, -4.64], [-0.15, 2.11]], [[-0.15, 2.11], [-0.12, 2.28]], [[-0.12, 2.28], [0, 3]], [[-2, -9], [-0.86, -5.57]], [[-0.86, -5.57], [-0.4, -4.2]], [[-0.4, -4.2], [1, 0]], [[1, 0], [1.24, 0.72]], [[1.24, 0.72], [1.33, 1]], [[1.33, 1], [1.5, 1.5]], [[1.5, 1.5], [1.78, 2.33]], [[1.78, 2.33], [2, 3]], [[2, -9], [5.35, -3.97]], [[5.35, -3.97], [5.67, -3.5]], [[5.67, -3.5], [6, -3]], [[2, -7], [1.2, -6.6]], [[1.2, -6.6], [-0.86, -5.57]], [[-0.86, -5.57], [-1.38, -5.31]], [[-1.38, -5.31], [-2, -5]], [[2, -7], [2, -6]], [[2, -6], [2, -3]], [[8, -7], [6, -3]], [[6, -3], [4.5, 0]], [[4.5, 0], [4.29, 0.43]], [[4.29, 0.43], [4, 1]], [[8, -7], [8, 3]], [[8, -7], [5.67, -3.5]], [[5.67, -3.5], [5.56, -3.33]], [[5.56, -3.33], [4, -1]], [[4, -1], [3.67, -0.5]], [[3.67, -0.5], [1.78, 2.33]], [[1.78, 2.33], [1.33, 3]], [[1.33, 3], [0.8, 3.8]], [[0.8, 3.8], [0, 5]], [[8, -7], [5.35, -3.97]], [[5.35, -3.97], [5.09, -3.68]], [[5.09, -3.68], [3.33, -1.67]], [[3.33, -1.67], [3.08, -1.38]], [[3.08, -1.38], [1.24, 0.72]], [[1.24, 0.72], [0.46, 1.62]], [[0.46, 1.62], [0.36, 1.73]], [[0.36, 1.73], [-0.12, 2.28]], [[-0.12, 2.28], [-0.37, 2.56]], [[-0.37, 2.56], [-6, 9]], [[-2, -5], [-1.27, -4.64]], [[-1.27, -4.64], [-0.4, -4.2]], [[-0.4, -4.2], [2, -3]], [[2, -3], [3.33, -1.67]], [[3.33, -1.67], [4, -1]], [[2, -3], [1, 0]], [[1, 0], [0.46, 1.62]], [[0.46, 1.62], [0.44, 1.67]], [[0.44, 1.67], [0, 3]], [[2, -3], [3.08, -1.38]], [[3.08, -1.38], [3.56, -0.67]], [[3.56, -0.67], [3.6, -0.6]], [[3.6, -0.6], [3.67, -0.5]], [[3.67, -0.5], [4.29, 0.43]], [[4.29, 0.43], [6, 3]], [[6, -3], [4, -1]], [[4, -1], [3.6, -0.6]], [[3.6, -0.6], [1.5, 1.5]], [[1.5, 1.5], [0, 3]], [[6, -3], [6, 3]], [[4, -1], [4.5, 0]], [[4.5, 0], [6, 3]], [[4, -1], [3.56, -0.67]], [[3.56, -0.67], [1.33, 1]], [[1.33, 1], [0.44, 1.67]], [[0.44, 1.67], [0.36, 1.73]], [[0.36, 1.73], [-0.15, 2.11]], [[-0.15, 2.11], [-0.51, 2.38]], [[-0.51, 2.38], [-4, 5]], [[4, -1], [3.67, -0.5]], [[3.67, -0.5], [1.78, 2.33]], [[1.78, 2.33], [1.33, 3]], [[1.33, 3], [0.8, 3.8]], [[0.8, 3.8], [0, 5]], [[0, 3], [1.33, 3]], [[1.33, 3], [2, 3]], [[2, 3], [6, 3]], [[0, 3], [0.8, 3.8]], [[0.8, 3.8], [2.4, 5.4]], [[2.4, 5.4], [6, 9]], [[2, 3], [3.33, 5]], [[3.33, 5], [6, 9]], [[6, 3], [6, 3.86]], [[6, 3.86], [6, 9]], [[8, 3], [6, 3.86]], [[6, 3.86], [3.33, 5]], [[3.33, 5], [2.4, 5.4]], [[2.4, 5.4], [-6, 9]], [[8, 3], [6, 9]]]
    
    #计时开始
    startTime = time.clock();
    
    if (debug):
        print(len(seg));

    a = AVL.AVLTree();
    
    for i in range(len(seg)):
        a.insert(Point(seg[i][0]));
        a.insert(Point(seg[i][1]));

    #抽出线段集中所有的点
    if (debug):
        a.info();
        print(len(a));     

    #计时结束
    endTime = time.clock();

    #打印结果
    print('操作用时:{0:.3e} s'.format(endTime-startTime));

#</span>

得到经过某顶点的闭合路径(部分)

<span style="font-size:18px;">#
>>> 
20
[[[-2, -9], [1.2, -6.6], [-0.86, -5.57], [-2, -9]], [[-2, -9], [-1.38, -5.31], [-0.86, -5.57], [-2, -9]], [[-2, -9], [1.2, -6.6], [-0.86, -5.57], [-1.38, -5.31], [-2, -9]], [[-2, -9], [-1.38, -5.31], [-1.27, -4.64], [-0.4, -4.2], [-0.86, -5.57], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -6], [2, -3], [-0.4, -4.2], [-0.86, -5.57], [-2, -9]], [[-2, -9], [1.2, -6.6], [-0.86, -5.57], [-0.4, -4.2], [-1.27, -4.64], [-1.38, -5.31], [-2, -9]], [[-2, -9], [-1.38, -5.31], [-2, -5], [-1.27, -4.64], [-0.4, -4.2], [-0.86, -5.57], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -6], [2, -3], [-0.4, -4.2], [-0.86, -5.57], [-1.38, -5.31], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -6], [2, -3], [-0.4, -4.2], [-1.27, -4.64], [-1.38, -5.31], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -6], [2, -3], [1, 0], [-0.4, -4.2], [-0.86, -5.57], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -7], [2, -6], [2, -3], [-0.4, -4.2], [-0.86, -5.57], [-2, -9]], [[-2, -9], [1.2, -6.6], [-0.86, -5.57], [-0.4, -4.2], [-1.27, -4.64], [-2, -5], [-1.38, -5.31], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -6], [5.09, -3.68], [3.33, -1.67], [2, -3], [-0.4, -4.2], [-0.86, -5.57], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -6], [2, -3], [-0.4, -4.2], [-1.27, -4.64], [-1.38, -5.31], [-0.86, -5.57], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -6], [2, -3], [-0.4, -4.2], [-1.27, -4.64], [-2, -5], [-1.38, -5.31], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -6], [2, -3], [1, 0], [-0.4, -4.2], [-0.86, -5.57], [-1.38, -5.31], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -6], [2, -3], [1, 0], [-0.4, -4.2], [-1.27, -4.64], [-1.38, -5.31], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -7], [2, -6], [2, -3], [-0.4, -4.2], [-0.86, -5.57], [-1.38, -5.31], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -7], [2, -6], [2, -3], [-0.4, -4.2], [-1.27, -4.64], [-1.38, -5.31], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -7], [2, -6], [2, -3], [1, 0], [-0.4, -4.2], [-0.86, -5.57], [-2, -9]]]
>>> 

def test():
    debug = 0;
    
    #主端点
    mainVert = [[[-10, -9], 0], [[-2, -9], 1], [[2, -9], 2], [[2, -7], 3], [[8, -7], 4], [[-2, -5], 5], [[2, -3], 6], [[6, -3], 7], [[4, -1], 8], [[4, 1], 9], [[0, 3], 10], [[2, 3], 11], [[6, 3], 12], [[8, 3], 13], [[-4, 5], 14], [[0, 5], 15], [[-6, 9], 16], [[6, 9], 17]];
    len_mainVert = len(mainVert);

    #顶点集
    vert = [Point([-10, -9]), Point([-2, -9]), Point([2, -9]), Point([2, -7]), Point([8, -7]), Point([1.2, -6.6]), Point([2, -6]), Point([-0.86, -5.57]), Point([-1.38, -5.31]), Point([-2, -5]), Point([-1.27, -4.64]), Point([-0.4, -4.2]), Point([5.35, -3.97]), Point([5.09, -3.68]), Point([5.67, -3.5]), Point([5.56, -3.33]), Point([2, -3]), Point([6, -3]), Point([3.33, -1.67]), Point([3.08, -1.38]), Point([4, -1]), Point([3.56, -0.67]), Point([3.6, -0.6]), Point([3.67, -0.5]), Point([1, 0]), Point([4.5, 0]), Point([4.29, 0.43]), Point([1.24, 0.72]), Point([1.33, 1]), Point([4, 1]), Point([1.5, 1.5]), Point([0.46, 1.62]), Point([0.44, 1.67]), Point([0.36, 1.73]), Point([-0.15, 2.11]), Point([-0.12, 2.28]), Point([1.78, 2.33]), Point([-0.51, 2.38]), Point([-0.37, 2.56]), Point([0, 3]), Point([1.33, 3]), Point([2, 3]), Point([6, 3]), Point([8, 3]), Point([0.8, 3.8]), Point([6, 3.86]), Point([-4, 5]), Point([0, 5]), Point([3.33, 5]), Point([2.4, 5.4]), Point([-6, 9]), Point([6, 9])]
    len_vert = len(vert);

    #线段
    seg = [[[-10, -9], [-0.51, 2.38]], [[-0.51, 2.38], [-0.37, 2.56]], [[-0.37, 2.56], [0, 3]], [[-2, -9], [1.2, -6.6]], [[1.2, -6.6], [2, -6]], [[2, -6], [5.09, -3.68]], [[5.09, -3.68], [5.56, -3.33]], [[5.56, -3.33], [6, -3]], [[-2, -9], [-1.38, -5.31]], [[-1.38, -5.31], [-1.27, -4.64]], [[-1.27, -4.64], [-0.15, 2.11]], [[-0.15, 2.11], [-0.12, 2.28]], [[-0.12, 2.28], [0, 3]], [[-2, -9], [-0.86, -5.57]], [[-0.86, -5.57], [-0.4, -4.2]], [[-0.4, -4.2], [1, 0]], [[1, 0], [1.24, 0.72]], [[1.24, 0.72], [1.33, 1]], [[1.33, 1], [1.5, 1.5]], [[1.5, 1.5], [1.78, 2.33]], [[1.78, 2.33], [2, 3]], [[2, -9], [5.35, -3.97]], [[5.35, -3.97], [5.67, -3.5]], [[5.67, -3.5], [6, -3]], [[2, -7], [1.2, -6.6]], [[1.2, -6.6], [-0.86, -5.57]], [[-0.86, -5.57], [-1.38, -5.31]], [[-1.38, -5.31], [-2, -5]], [[2, -7], [2, -6]], [[2, -6], [2, -3]], [[8, -7], [6, -3]], [[6, -3], [4.5, 0]], [[4.5, 0], [4.29, 0.43]], [[4.29, 0.43], [4, 1]], [[8, -7], [8, 3]], [[8, -7], [5.67, -3.5]], [[5.67, -3.5], [5.56, -3.33]], [[5.56, -3.33], [4, -1]], [[4, -1], [3.67, -0.5]], [[3.67, -0.5], [1.78, 2.33]], [[1.78, 2.33], [1.33, 3]], [[1.33, 3], [0.8, 3.8]], [[0.8, 3.8], [0, 5]], [[8, -7], [5.35, -3.97]], [[5.35, -3.97], [5.09, -3.68]], [[5.09, -3.68], [3.33, -1.67]], [[3.33, -1.67], [3.08, -1.38]], [[3.08, -1.38], [1.24, 0.72]], [[1.24, 0.72], [0.46, 1.62]], [[0.46, 1.62], [0.36, 1.73]], [[0.36, 1.73], [-0.12, 2.28]], [[-0.12, 2.28], [-0.37, 2.56]], [[-0.37, 2.56], [-6, 9]], [[-2, -5], [-1.27, -4.64]], [[-1.27, -4.64], [-0.4, -4.2]], [[-0.4, -4.2], [2, -3]], [[2, -3], [3.33, -1.67]], [[3.33, -1.67], [4, -1]], [[2, -3], [1, 0]], [[1, 0], [0.46, 1.62]], [[0.46, 1.62], [0.44, 1.67]], [[0.44, 1.67], [0, 3]], [[2, -3], [3.08, -1.38]], [[3.08, -1.38], [3.56, -0.67]], [[3.56, -0.67], [3.6, -0.6]], [[3.6, -0.6], [3.67, -0.5]], [[3.67, -0.5], [4.29, 0.43]], [[4.29, 0.43], [6, 3]], [[6, -3], [4, -1]], [[4, -1], [3.6, -0.6]], [[3.6, -0.6], [1.5, 1.5]], [[1.5, 1.5], [0, 3]], [[6, -3], [6, 3]], [[4, -1], [4.5, 0]], [[4.5, 0], [6, 3]], [[4, -1], [3.56, -0.67]], [[3.56, -0.67], [1.33, 1]], [[1.33, 1], [0.44, 1.67]], [[0.44, 1.67], [0.36, 1.73]], [[0.36, 1.73], [-0.15, 2.11]], [[-0.15, 2.11], [-0.51, 2.38]], [[-0.51, 2.38], [-4, 5]], [[4, -1], [3.67, -0.5]], [[3.67, -0.5], [1.78, 2.33]], [[1.78, 2.33], [1.33, 3]], [[1.33, 3], [0.8, 3.8]], [[0.8, 3.8], [0, 5]], [[0, 3], [1.33, 3]], [[1.33, 3], [2, 3]], [[2, 3], [6, 3]], [[0, 3], [0.8, 3.8]], [[0.8, 3.8], [2.4, 5.4]], [[2.4, 5.4], [6, 9]], [[2, 3], [3.33, 5]], [[3.33, 5], [6, 9]], [[6, 3], [6, 3.86]], [[6, 3.86], [6, 9]], [[8, 3], [6, 3.86]], [[6, 3.86], [3.33, 5]], [[3.33, 5], [2.4, 5.4]], [[2.4, 5.4], [-6, 9]], [[8, 3], [6, 9]]]
    len_seg = len(seg);

    #记录每一个顶点会和哪些其它顶点构成边
    segMap = dict();
    for i in range(len_vert):
        segMap[vert[i]] = [];

    for i in range(len_seg):
        p1 = Point(seg[i][0]);
        p2 = Point(seg[i][1])
        segMap[p1].append(p2);
        segMap[p2].append(p1);

    #print(segMap);

    #每个顶点最多访问一次
    findedPath = [];

    #目标
    index = 1;
    taskVertex = Point(mainVert[index][0]);

    path = [[taskVertex]];
    result = [];
    
    while (path != []):
        a = path[0];
        path = path[1:];

        if (len(a) > 8):
            continue;
        
        p = segMap[a[-1]];

        for item in p:
            if item == taskVertex:
                if (len(a) > 2):
                    #此句是为了防止路径不断进行相同顶点之间的排列组合
                    b = sorted(a + [item]);
                    if not b in findedPath:
                        result.append(a+[item]);
                        findedPath.append(b);
            elif not item in a:
                path.append(a+[item]);

    if (debug):
        print(len(result));
        print(result);

    for i in range(len(result)):
        for j in range(len(result[i])):
            result[i][j] = result[i][j].value();

    print(len(result));
    print(result);

#</span>

[从头学数学] 第270节 [计算几何] 例题数据生成


比如这是经过顶点<1>的路径。


<span style="font-size:18px;">//
$path = [[[2, 3], [1.33, 3], [1.78, 2.33], [3.67, -0.5], [4.29, 0.43], [6, 3], [6, 3.86], [3.33, 5], [2, 3]], [[2, 3], [1.33, 3], [0.8, 3.8], [0, 3], [-0.37, 2.56], [-6, 9], [2.4, 5.4], [3.33, 5], [2, 3]], [[2, 3], [1.33, 3], [0.8, 3.8], [2.4, 5.4], [6, 9], [3.33, 5], [6, 3.86], [6, 3], [2, 3]], [[2, 3], [1.33, 3], [0.8, 3.8], [2.4, 5.4], [6, 9], [8, 3], [6, 3.86], [6, 3], [2, 3]], [[2, 3], [1.33, 3], [0.8, 3.8], [2.4, 5.4], [6, 9], [8, 3], [6, 3.86], [3.33, 5], [2, 3]], [[2, 3], [1.33, 3], [0, 3], [-0.37, 2.56], [-6, 9], [2.4, 5.4], [6, 9], [3.33, 5], [2, 3]], [[2, 3], [1.33, 3], [0, 3], [-0.12, 2.28], [-0.37, 2.56], [-6, 9], [2.4, 5.4], [3.33, 5], [2, 3]], [[2, 3], [1.33, 3], [0, 3], [1.5, 1.5], [1.78, 2.33], [3.67, -0.5], [4.29, 0.43], [6, 3], [2, 3]], [[2, 3], [1.33, 3], [0, 3], [1.5, 1.5], [3.6, -0.6], [3.67, -0.5], [4.29, 0.43], [6, 3], [2, 3]], [[2, 3], [1.33, 3], [0, 3], [1.5, 1.5], [3.6, -0.6], [4, -1], [6, -3], [6, 3], [2, 3]], [[2, 3], [1.33, 3], [0, 3], [1.5, 1.5], [3.6, -0.6], [4, -1], [4.5, 0], [6, 3], [2, 3]], [[2, 3], [1.33, 3], [0, 3], [0.8, 3.8], [2.4, 5.4], [6, 9], [6, 3.86], [6, 3], [2, 3]], [[2, 3], [1.33, 3], [0, 3], [0.8, 3.8], [2.4, 5.4], [6, 9], [6, 3.86], [3.33, 5], [2, 3]], [[2, 3], [1.33, 3], [0, 3], [0.8, 3.8], [2.4, 5.4], [3.33, 5], [6, 3.86], [6, 3], [2, 3]], [[2, 3], [6, 3], [6, -3], [5.67, -3.5], [8, -7], [8, 3], [6, 3.86], [3.33, 5], [2, 3]], [[2, 3], [6, 3], [6, -3], [5.67, -3.5], [8, -7], [8, 3], [6, 9], [3.33, 5], [2, 3]], [[2, 3], [6, 3], [6, -3], [8, -7], [8, 3], [6, 3.86], [6, 9], [3.33, 5], [2, 3]], [[2, 3], [6, 3], [6, -3], [8, -7], [8, 3], [6, 9], [2.4, 5.4], [3.33, 5], [2, 3]], [[2, 3], [6, 3], [4.5, 0], [6, -3], [8, -7], [8, 3], [6, 3.86], [3.33, 5], [2, 3]], [[2, 3], [6, 3], [4.5, 0], [6, -3], [8, -7], [8, 3], [6, 9], [3.33, 5], [2, 3]]]

	if (1) {
		var r = 20;      
        config.setSector(1,1,1,1);        
        config.graphPaper2D(0, 0, r);      
        config.axis2D(0, 0, 250, 1.2);   
		
		//坐标轴设定        
        var scaleX = 2*r, scaleY = 2*r;          
        var spaceX = 2, spaceY = 2;           
        var xS = -10, xE = 10;          
        var yS = -10, yE = 10;          
        config.axisSpacing(xS, xE, spaceX, scaleX, 'X');            
        config.axisSpacing(yS, yE, spaceY, scaleY, 'Y');            
                    
        var transform = new Transform();    
		
		//顶点
		var a = [];
		
		for (var i = 0; i < $vertex.length; i++) {
			a.push($vertex[i][0]);
		}
		
		//显示变换        
        if (a.length > 0) {        
            a = transform.scale(transform.translate(a, 0, 0), scaleX/spaceX, scaleY/spaceY);
		}
		
		var lable = [];
		for (var i = 0; i < 100; i++) {
			lable.push(i.toFixed(0));
		}
		
		/*
		//边集
		var b = [];
		for (var i = 0; i < $seg.length; i++) {
			b.push([a[$seg[i][0]], a[$seg[i][1]]]);
		}
		
				
		var edges = b.length;
		for (var i = 0; i < edges; i++) {
			shape.multiLineDraw([].concat(b[i]), 'red');
		}*/
		
		var colorArray = ['red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple', ];
		var seg = [];		
		
		var nSeg = $divideSeg.length;
		for (var i = 0; i < nSeg; i++) {
			seg = transform.scale(transform.translate($divideSeg[i], 0, 0), scaleX/spaceX, scaleY/spaceY);
			shape.multiLineDraw([].concat(seg), 'pink');
		}
		
		
		nSeg = $path.length;

		i = xGlobal;
		seg = transform.scale(transform.translate($path[i%nSeg], 0, 0), scaleX/spaceX, scaleY/spaceY);
		plot.setLineWidth(i%10+2);
		shape.multiLineDraw([].concat(seg), colorArray[i%7]);		
		
		shape.pointDraw([].concat(a), 'blue', 1, 1, lable);
		

	}

//</span>

判断点是否在多边形内部

<span style="font-size:18px;">#
#判断点是否在多边形内部
def tmp13():   
    #主端点
    mainVert = [[[-10, -9], 0], [[-2, -9], 1], [[2, -9], 2], [[2, -7], 3], [[8, -7], 4], [[-2, -5], 5], [[2, -3], 6], [[6, -3], 7], [[4, -1], 8], [[4, 1], 9], [[0, 3], 10], [[2, 3], 11], [[6, 3], 12], [[8, 3], 13], [[-4, 5], 14], [[0, 5], 15], [[-6, 9], 16], [[6, 9], 17]];
    len_vert = len(mainVert);

    path = [[2, 3], [1.33, 3], [0.8, 3.8], [0, 3], [-0.37, 2.56], [-6, 9], [2.4, 5.4], [3.33, 5], [2, 3]]
    poly = Polygon(path);

    answer = -2;
    
    for i in range(len_vert):
        answer = poly.pointInPolygon(mainVert[i][0]);
        if answer == -1:
            s = '不在多边形内部';
        elif answer == 1:
            s = '在多边形内部';
        else:
            s = '在边上';
            
        print('点{0} {1}'.format(i, s));

#</span>

<span style="font-size:18px;">#
class Polygon():
    #格式:path = [[-6, 9], [8, -7], [8, 3], [-6, 9]]
    def __init__(self, path):
        if (path[-1] != path[0]):
            path.append(path[0]);

        self.path = path;
        #顶点数量
        self.vertNum = len(self.path)-1;
        self.vertex = [];
        self.edge = [];

        self.vertexCalc();
        self.edgeCalc();

    def vertexCalc(self):
        for i in range(self.vertNum):
            self.vertex.append(Point(self.path[i]));

    def getVertex(self):
        return self.vertex;

    def edgeCalc(self):
        for i in range(self.vertNum):
            self.edge.append(SegLine(self.path[i], self.path[i+1]));

    def getEdge(self):
        return self.edge;

    def pointInPolygon(self, point):
        #测试点左右两边截多边形的各边,得到的交点数都为奇数,说明测试点在多边形内
        #反之在外面
        oddNodes = False;

        #点在多边形的边上
        if (Point(point) in self.vertex):
            return 0;

        x, y = point[0], point[1];

        j = self.vertNum - 1;

        for i in range(self.vertNum):
            p1 = self.vertex[i].value();
            p2 = self.vertex[j].value();
            px1, py1 = p1[0], p1[1];
            px2, py2 = p2[0], p2[1];
            
            if (((py1 < y and py2 >= y) or (py2 < y and py1 >= y)) and \
               (px1 <= x or px2 <= x)):
                if ((px1+(y-py1)/(py2-py1)*(px2-px1)) < x):
                    oddNodes = not oddNodes;

            j = i;
        if (oddNodes == False):
            #点不在多边形内
            return -1;
        else:
            #点在多边形内
            return 1;
#</span>

<span style="font-size:18px;">#
class Point():
    def __init__(self, point):
        point = [round(point[0], 2), round(point[1], 2)];

        if abs(int(point[0])-point[0]) < 1e-6:
            point[0] = int(point[0]);

        if abs(int(point[1])-point[1]) < 1e-6:
            point[1] = int(point[1]);

        self.point = point;

    def __lt__(self, other):
        if (type(other.point) != type([0, 0])):
            return self.point < other.point;
        else:
            p1 = self.point;
            p2 = other.point;

            if p1[1] < p2[1]:
                return True;
            elif p1[1] > p2[1]:
                return False;
            else:
                return p1[0] < p2[0];

    def __gt__(self, other):
        return not (self == other or self < other);
            
    def __eq__(self, other):
        if other == None:
            return False;
        else:
            p1, p2 = self.point, other.point;
            x1, y1, x2, y2 = p1[0], p1[1], p2[0], p2[1];
            return abs(p1[0]-p2[0])<1e-6 and abs(p1[1]-p2[1])<1e-6;

    def __str__(self):
        return str(self.point);

    def __repr__(self):
        return 'Point('+str(self)+')';

    def __hash__(self):
        return hash(str(self));

    def value(self):
        return self.point;
#</span>

<span style="font-size:18px;">#

#线段类
class SegLine():
    def __init__(self, pStart=[1e6,1e6], pEnd=[1e6, 1e6]):
        #按照y值由小到大,x值由小到大的顺序排列
        if pStart[1] > pEnd[1]:
            pStart, pEnd = pEnd, pStart;
        elif pStart[1] == pEnd[1]:
            if pStart[0] > pEnd[0]:
                pStart, pEnd = pEnd, pStart;
                
        self.pStart = [round(pStart[0], 2), round(pStart[1], 2)];
        self.pEnd = [round(pEnd[0], 2), round(pEnd[1], 2)];

    #<号的判定是根据起点和终点的位置
    #y值权重优先
    def __lt__(self, other):
        if type(self) == type(None) or type(other) == type(None):
            return False;
        
        if self.pStart == other.pStart:
            if self.pEnd[1] < other.pEnd[1]:
                return True;
            elif self.pEnd[1] == other.pEnd[1]:
                if self.pEnd[0] < other.pEnd[0]:
                    return True;
            else:
                return False;
        else:
            if self.pStart[1] < other.pStart[1]:
                return True;
            elif self.pStart[1] == other.pStart[1]:
                if self.pStart[0] < other.pStart[0]:
                    return True;
            else:
                return False;        

    def __eq__(self, other):
        if type(self) == type(None) or type(other) == type(None):
            return False;
        
        if self.pStart == other.pStart and self.pEnd == other.pEnd:
            return True;

        return False;

    def __gt__(self, other):
        if self == other or self < other:
            return False;

        return True;

    def __ge__(self, other):
        return (not self < other) or (self == other);

    def __str__(self):
        x1, y1 = self.pStart[0],  self.pStart[1];
        x2, y2 = self.pEnd[0], self.pEnd[1];
        
        return '[['+str(x1)+', '+str(y1)+'], ['+str(x2)+', '+str(y2)+']]';

    def __hash__(self):
        x1, y1 = self.pStart[0],  self.pStart[1];
        x2, y2 = self.pEnd[0], self.pEnd[1];
        
        s = '[['+str(x1)+', '+str(y1)+'], ['+str(x2)+', '+str(y2)+']]';
        return hash(s);

    def __repr__(self):
        return 'SegLine('+str(self)[1:-1]+')';

    def value(self):
        return [self.pStart, self.pEnd];
#</span>

从顶点序号<0>开始,到序号<17>结束,列出经过该点的部分闭合路径。

a0 = []

[从头学数学] 第270节 [计算几何] 例题数据生成

a1 = [[[-2, -9], [1.2, -6.6], [-0.86, -5.57], [-2, -9]], [[-2, -9], [-1.38, -5.31], [-0.86, -5.57], [-2, -9]], [[-2, -9], [1.2, -6.6], [-0.86, -5.57], [-1.38, -5.31], [-2, -9]], [[-2, -9], [-1.38, -5.31], [-1.27, -4.64], [-0.4, -4.2], [-0.86, -5.57], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -6], [2, -3], [-0.4, -4.2], [-0.86, -5.57], [-2, -9]], [[-2, -9], [1.2, -6.6], [-0.86, -5.57], [-0.4, -4.2], [-1.27, -4.64], [-1.38, -5.31], [-2, -9]], [[-2, -9], [-1.38, -5.31], [-2, -5], [-1.27, -4.64], [-0.4, -4.2], [-0.86, -5.57], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -6], [2, -3], [-0.4, -4.2], [-0.86, -5.57], [-1.38, -5.31], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -6], [2, -3], [-0.4, -4.2], [-1.27, -4.64], [-1.38, -5.31], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -6], [2, -3], [1, 0], [-0.4, -4.2], [-0.86, -5.57], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -7], [2, -6], [2, -3], [-0.4, -4.2], [-0.86, -5.57], [-2, -9]], [[-2, -9], [1.2, -6.6], [-0.86, -5.57], [-0.4, -4.2], [-1.27, -4.64], [-2, -5], [-1.38, -5.31], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -6], [5.09, -3.68], [3.33, -1.67], [2, -3], [-0.4, -4.2], [-0.86, -5.57], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -6], [2, -3], [-0.4, -4.2], [-1.27, -4.64], [-1.38, -5.31], [-0.86, -5.57], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -6], [2, -3], [-0.4, -4.2], [-1.27, -4.64], [-2, -5], [-1.38, -5.31], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -6], [2, -3], [1, 0], [-0.4, -4.2], [-0.86, -5.57], [-1.38, -5.31], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -6], [2, -3], [1, 0], [-0.4, -4.2], [-1.27, -4.64], [-1.38, -5.31], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -7], [2, -6], [2, -3], [-0.4, -4.2], [-0.86, -5.57], [-1.38, -5.31], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -7], [2, -6], [2, -3], [-0.4, -4.2], [-1.27, -4.64], [-1.38, -5.31], [-2, -9]], [[-2, -9], [1.2, -6.6], [2, -7], [2, -6], [2, -3], [1, 0], [-0.4, -4.2], [-0.86, -5.57], [-2, -9]]]


a2=[];


[从头学数学] 第270节 [计算几何] 例题数据生成

a3= [[[2, -7], [1.2, -6.6], [2, -6], [2, -7]], [[2, -7], [1.2, -6.6], [-0.86, -5.57], [-0.4, -4.2], [2, -3], [2, -6], [2, -7]], [[2, -7], [1.2, -6.6], [-2, -9], [-0.86, -5.57], [-0.4, -4.2], [2, -3], [2, -6], [2, -7]], [[2, -7], [1.2, -6.6], [-0.86, -5.57], [-0.4, -4.2], [1, 0], [2, -3], [2, -6], [2, -7]], [[2, -7], [1.2, -6.6], [-2, -9], [-1.38, -5.31], [-1.27, -4.64], [-0.4, -4.2], [2, -3], [2, -6], [2, -7]], [[2, -7], [1.2, -6.6], [-2, -9], [-1.38, -5.31], [-0.86, -5.57], [-0.4, -4.2], [2, -3], [2, -6], [2, -7]], [[2, -7], [1.2, -6.6], [-2, -9], [-0.86, -5.57], [-0.4, -4.2], [1, 0], [2, -3], [2, -6], [2, -7]], [[2, -7], [1.2, -6.6], [-0.86, -5.57], [-0.4, -4.2], [2, -3], [3.33, -1.67], [5.09, -3.68], [2, -6], [2, -7]], [[2, -7], [1.2, -6.6], [-0.86, -5.57], [-1.38, -5.31], [-1.27, -4.64], [-0.4, -4.2], [2, -3], [2, -6], [2, -7]]]


[从头学数学] 第270节 [计算几何] 例题数据生成



a4=[[[8, -7], [6, -3], [6, 3], [4.5, 0], [4, -1], [5.56, -3.33], [5.09, -3.68], [5.35, -3.97], [8, -7]], [[8, -7], [6, -3], [6, 3], [4.5, 0], [4, -1], [5.56, -3.33], [5.67, -3.5], [5.35, -3.97], [8, -7]], [[8, -7], [6, -3], [6, 3], [4.5, 0], [4, -1], [3.33, -1.67], [5.09, -3.68], [5.35, -3.97], [8, -7]], [[8, -7], [6, -3], [6, 3], [2, 3], [3.33, 5], [6, 9], [6, 3.86], [8, 3], [8, -7]], [[8, -7], [6, -3], [6, 3], [2, 3], [3.33, 5], [2.4, 5.4], [6, 9], [8, 3], [8, -7]], [[8, -7], [6, -3], [6, 3], [6, 3.86], [3.33, 5], [2.4, 5.4], [6, 9], [8, 3], [8, -7]], [[8, -7], [8, 3], [6, 3.86], [6, 3], [4.29, 0.43], [4.5, 0], [6, -3], [5.67, -3.5], [8, -7]], [[8, -7], [8, 3], [6, 3.86], [6, 3], [6, -3], [5.56, -3.33], [5.09, -3.68], [5.35, -3.97], [8, -7]], [[8, -7], [8, 3], [6, 3.86], [6, 3], [6, -3], [5.56, -3.33], [5.67, -3.5], [5.35, -3.97], [8, -7]], [[8, -7], [8, 3], [6, 3.86], [6, 3], [6, -3], [4, -1], [5.56, -3.33], [5.67, -3.5], [8, -7]], [[8, -7], [8, 3], [6, 3.86], [6, 3], [4.5, 0], [6, -3], [5.56, -3.33], [5.67, -3.5], [8, -7]], [[8, -7], [8, 3], [6, 3.86], [6, 3], [4.5, 0], [6, -3], [5.67, -3.5], [5.35, -3.97], [8, -7]], [[8, -7], [8, 3], [6, 3.86], [6, 3], [4.5, 0], [4, -1], [5.56, -3.33], [5.67, -3.5], [8, -7]], [[8, -7], [8, 3], [6, 3.86], [6, 3], [4.5, 0], [4, -1], [6, -3], [5.67, -3.5], [8, -7]], [[8, -7], [8, 3], [6, 3.86], [3.33, 5], [2, 3], [6, 3], [6, -3], [5.67, -3.5], [8, -7]], [[8, -7], [8, 3], [6, 9], [3.33, 5], [2, 3], [6, 3], [6, -3], [5.67, -3.5], [8, -7]], [[8, -7], [8, 3], [6, 9], [3.33, 5], [6, 3.86], [6, 3], [6, -3], [5.67, -3.5], [8, -7]], [[8, -7], [8, 3], [6, 9], [6, 3.86], [6, 3], [6, -3], [5.56, -3.33], [5.67, -3.5], [8, -7]], [[8, -7], [8, 3], [6, 9], [6, 3.86], [6, 3], [6, -3], [5.67, -3.5], [5.35, -3.97], [8, -7]], [[8, -7], [8, 3], [6, 9], [6, 3.86], [6, 3], [4.5, 0], [6, -3], [5.67, -3.5], [8, -7]]]


[从头学数学] 第270节 [计算几何] 例题数据生成


a5=[[[-2, -5], [-1.38, -5.31], [-1.27, -4.64], [-2, -5]], [[-2, -5], [-1.38, -5.31], [-0.86, -5.57], [-0.4, -4.2], [-1.27, -4.64], [-2, -5]], [[-2, -5], [-1.38, -5.31], [-2, -9], [-0.86, -5.57], [-0.4, -4.2], [-1.27, -4.64], [-2, -5]], [[-2, -5], [-1.38, -5.31], [-2, -9], [1.2, -6.6], [-0.86, -5.57], [-0.4, -4.2], [-1.27, -4.64], [-2, -5]], [[-2, -5], [-1.38, -5.31], [-2, -9], [1.2, -6.6], [2, -6], [2, -3], [-0.4, -4.2], [-1.27, -4.64], [-2, -5]], [[-2, -5], [-1.38, -5.31], [-0.86, -5.57], [1.2, -6.6], [2, -6], [2, -3], [-0.4, -4.2], [-1.27, -4.64], [-2, -5]]]


[从头学数学] 第270节 [计算几何] 例题数据生成


a6=[[[2, -3], [3.33, -1.67], [5.09, -3.68], [2, -6], [1.2, -6.6], [-0.86, -5.57], [-0.4, -4.2], [1, 0], [2, -3]], [[2, -3], [3.33, -1.67], [5.09, -3.68], [5.56, -3.33], [6, -3], [4, -1], [3.56, -0.67], [3.08, -1.38], [2, -3]], [[2, -3], [3.33, -1.67], [5.09, -3.68], [5.56, -3.33], [4, -1], [3.6, -0.6], [3.56, -0.67], [3.08, -1.38], [2, -3]], [[2, -3], [3.33, -1.67], [3.08, -1.38], [1.24, 0.72], [1.33, 1], [0.44, 1.67], [0.46, 1.62], [1, 0], [2, -3]], [[2, -3], [3.33, -1.67], [3.08, -1.38], [3.56, -0.67], [1.33, 1], [1.24, 0.72], [0.46, 1.62], [1, 0], [2, -3]], [[2, -3], [3.33, -1.67], [3.08, -1.38], [3.56, -0.67], [1.33, 1], [0.44, 1.67], [0.46, 1.62], [1, 0], [2, -3]], [[2, -3], [3.33, -1.67], [4, -1], [3.6, -0.6], [3.56, -0.67], [3.08, -1.38], [1.24, 0.72], [1, 0], [2, -3]], [[2, -3], [3.33, -1.67], [4, -1], [3.6, -0.6], [3.56, -0.67], [1.33, 1], [1.24, 0.72], [1, 0], [2, -3]], [[2, -3], [3.33, -1.67], [4, -1], [3.6, -0.6], [3.56, -0.67], [1.33, 1], [1.24, 0.72], [3.08, -1.38], [2, -3]], [[2, -3], [3.33, -1.67], [4, -1], [3.6, -0.6], [1.5, 1.5], [1.33, 1], [1.24, 0.72], [1, 0], [2, -3]], [[2, -3], [3.33, -1.67], [4, -1], [3.6, -0.6], [1.5, 1.5], [1.33, 1], [1.24, 0.72], [3.08, -1.38], [2, -3]], [[2, -3], [3.33, -1.67], [4, -1], [3.6, -0.6], [1.5, 1.5], [1.33, 1], [3.56, -0.67], [3.08, -1.38], [2, -3]], [[2, -3], [3.33, -1.67], [4, -1], [3.56, -0.67], [3.08, -1.38], [1.24, 0.72], [0.46, 1.62], [1, 0], [2, -3]], [[2, -3], [3.33, -1.67], [4, -1], [3.56, -0.67], [1.33, 1], [1.24, 0.72], [0.46, 1.62], [1, 0], [2, -3]], [[2, -3], [3.33, -1.67], [4, -1], [3.56, -0.67], [1.33, 1], [0.44, 1.67], [0.46, 1.62], [1, 0], [2, -3]], [[2, -3], [1, 0], [1.24, 0.72], [1.33, 1], [1.5, 1.5], [3.6, -0.6], [3.56, -0.67], [3.08, -1.38], [2, -3]], [[2, -3], [1, 0], [1.24, 0.72], [1.33, 1], [3.56, -0.67], [4, -1], [3.33, -1.67], [3.08, -1.38], [2, -3]], [[2, -3], [1, 0], [1.24, 0.72], [0.46, 1.62], [0.44, 1.67], [1.33, 1], [3.56, -0.67], [3.08, -1.38], [2, -3]], [[2, -3], [1, 0], [0.46, 1.62], [0.36, 1.73], [0.44, 1.67], [1.33, 1], [1.24, 0.72], [3.08, -1.38], [2, -3]], [[2, -3], [1, 0], [0.46, 1.62], [0.36, 1.73], [0.44, 1.67], [1.33, 1], [3.56, -0.67], [3.08, -1.38], [2, -3]]]


[从头学数学] 第270节 [计算几何] 例题数据生成


a7=[[[6, -3], [8, -7], [5.35, -3.97], [5.09, -3.68], [5.56, -3.33], [4, -1], [4.5, 0], [6, 3], [6, -3]], [[6, -3], [8, -7], [5.35, -3.97], [5.09, -3.68], [3.33, -1.67], [3.08, -1.38], [3.56, -0.67], [4, -1], [6, -3]], [[6, -3], [8, -7], [5.35, -3.97], [5.09, -3.68], [3.33, -1.67], [4, -1], [4.5, 0], [6, 3], [6, -3]], [[6, -3], [4.5, 0], [4.29, 0.43], [3.67, -0.5], [1.78, 2.33], [1.5, 1.5], [3.6, -0.6], [4, -1], [6, -3]], [[6, -3], [4.5, 0], [4.29, 0.43], [3.67, -0.5], [1.78, 2.33], [1.33, 3], [2, 3], [6, 3], [6, -3]], [[6, -3], [4.5, 0], [4.29, 0.43], [6, 3], [2, 3], [1.78, 2.33], [3.67, -0.5], [4, -1], [6, -3]], [[6, -3], [4.5, 0], [4, -1], [3.67, -0.5], [1.78, 2.33], [1.33, 3], [2, 3], [6, 3], [6, -3]], [[6, -3], [4.5, 0], [4, -1], [3.6, -0.6], [3.67, -0.5], [1.78, 2.33], [2, 3], [6, 3], [6, -3]], [[6, -3], [4.5, 0], [4, -1], [3.6, -0.6], [1.5, 1.5], [1.78, 2.33], [2, 3], [6, 3], [6, -3]], [[6, -3], [4.5, 0], [4, -1], [3.56, -0.67], [3.6, -0.6], [3.67, -0.5], [4.29, 0.43], [6, 3], [6, -3]], [[6, -3], [4, -1], [5.56, -3.33], [5.67, -3.5], [8, -7], [8, 3], [6, 3.86], [6, 3], [6, -3]], [[6, -3], [4, -1], [3.67, -0.5], [1.78, 2.33], [2, 3], [3.33, 5], [6, 3.86], [6, 3], [6, -3]], [[6, -3], [4, -1], [3.67, -0.5], [3.6, -0.6], [1.5, 1.5], [1.78, 2.33], [2, 3], [6, 3], [6, -3]], [[6, -3], [4, -1], [3.6, -0.6], [3.67, -0.5], [1.78, 2.33], [1.33, 3], [2, 3], [6, 3], [6, -3]], [[6, -3], [4, -1], [3.6, -0.6], [1.5, 1.5], [1.78, 2.33], [3.67, -0.5], [4.29, 0.43], [6, 3], [6, -3]], [[6, -3], [4, -1], [3.6, -0.6], [1.5, 1.5], [1.78, 2.33], [1.33, 3], [2, 3], [6, 3], [6, -3]], [[6, -3], [4, -1], [3.6, -0.6], [1.5, 1.5], [0, 3], [1.33, 3], [2, 3], [6, 3], [6, -3]], [[6, -3], [4, -1], [3.56, -0.67], [3.6, -0.6], [3.67, -0.5], [1.78, 2.33], [2, 3], [6, 3], [6, -3]], [[6, -3], [4, -1], [3.56, -0.67], [3.6, -0.6], [1.5, 1.5], [1.78, 2.33], [2, 3], [6, 3], [6, -3]], [[6, -3], [4, -1], [3.56, -0.67], [1.33, 1], [1.5, 1.5], [1.78, 2.33], [2, 3], [6, 3], [6, -3]]]


[从头学数学] 第270节 [计算几何] 例题数据生成


a8=[[[4, -1], [6, -3], [6, 3], [4.29, 0.43], [3.67, -0.5], [1.78, 2.33], [1.5, 1.5], [3.6, -0.6], [4, -1]], [[4, -1], [6, -3], [6, 3], [2, 3], [1.78, 2.33], [1.5, 1.5], [1.33, 1], [3.56, -0.67], [4, -1]], [[4, -1], [6, -3], [6, 3], [2, 3], [1.78, 2.33], [1.5, 1.5], [3.6, -0.6], [3.56, -0.67], [4, -1]], [[4, -1], [6, -3], [6, 3], [2, 3], [1.78, 2.33], [3.67, -0.5], [3.6, -0.6], [3.56, -0.67], [4, -1]], [[4, -1], [6, -3], [6, 3], [2, 3], [1.33, 3], [1.78, 2.33], [1.5, 1.5], [3.6, -0.6], [4, -1]], [[4, -1], [6, -3], [6, 3], [2, 3], [1.33, 3], [1.78, 2.33], [3.67, -0.5], [3.6, -0.6], [4, -1]], [[4, -1], [6, -3], [6, 3], [2, 3], [1.33, 3], [0, 3], [1.5, 1.5], [3.6, -0.6], [4, -1]], [[4, -1], [3.6, -0.6], [3.67, -0.5], [1.78, 2.33], [2, 3], [6, 3], [4.29, 0.43], [4.5, 0], [4, -1]], [[4, -1], [3.6, -0.6], [3.67, -0.5], [1.78, 2.33], [1.33, 3], [2, 3], [6, 3], [4.5, 0], [4, -1]], [[4, -1], [3.6, -0.6], [1.5, 1.5], [1.78, 2.33], [2, 3], [6, 3], [4.29, 0.43], [4.5, 0], [4, -1]], [[4, -1], [3.6, -0.6], [1.5, 1.5], [1.78, 2.33], [3.67, -0.5], [4.29, 0.43], [6, 3], [4.5, 0], [4, -1]], [[4, -1], [3.6, -0.6], [1.5, 1.5], [1.78, 2.33], [1.33, 3], [2, 3], [6, 3], [4.5, 0], [4, -1]], [[4, -1], [3.6, -0.6], [1.5, 1.5], [0, 3], [1.33, 3], [2, 3], [6, 3], [4.5, 0], [4, -1]], [[4, -1], [4.5, 0], [6, -3], [5.56, -3.33], [5.09, -3.68], [3.33, -1.67], [3.08, -1.38], [3.56, -0.67], [4, -1]], [[4, -1], [4.5, 0], [4.29, 0.43], [3.67, -0.5], [1.78, 2.33], [1.5, 1.5], [1.33, 1], [3.56, -0.67], [4, -1]], [[4, -1], [4.5, 0], [4.29, 0.43], [3.67, -0.5], [1.78, 2.33], [1.5, 1.5], [3.6, -0.6], [3.56, -0.67], [4, -1]], [[4, -1], [4.5, 0], [4.29, 0.43], [3.67, -0.5], [3.6, -0.6], [1.5, 1.5], [1.33, 1], [3.56, -0.67], [4, -1]], [[4, -1], [4.5, 0], [6, 3], [2, 3], [1.78, 2.33], [1.5, 1.5], [1.33, 1], [3.56, -0.67], [4, -1]], [[4, -1], [4.5, 0], [6, 3], [2, 3], [1.78, 2.33], [1.5, 1.5], [3.6, -0.6], [3.56, -0.67], [4, -1]], [[4, -1], [4.5, 0], [6, 3], [2, 3], [1.78, 2.33], [3.67, -0.5], [3.6, -0.6], [3.56, -0.67], [4, -1]]]


a9=[];


[从头学数学] 第270节 [计算几何] 例题数据生成


a10=[[[0, 3], [0.44, 1.67], [1.33, 1], [3.56, -0.67], [4, -1], [3.67, -0.5], [1.78, 2.33], [1.33, 3], [0, 3]], [[0, 3], [0.44, 1.67], [1.33, 1], [3.56, -0.67], [4, -1], [3.67, -0.5], [3.6, -0.6], [1.5, 1.5], [0, 3]], [[0, 3], [0.44, 1.67], [0.36, 1.73], [0.46, 1.62], [1, 0], [1.24, 0.72], [1.33, 1], [1.5, 1.5], [0, 3]], [[0, 3], [0.44, 1.67], [0.36, 1.73], [-0.12, 2.28], [-0.37, 2.56], [-6, 9], [2.4, 5.4], [0.8, 3.8], [0, 3]], [[0, 3], [1.5, 1.5], [1.33, 1], [3.56, -0.67], [3.6, -0.6], [3.67, -0.5], [1.78, 2.33], [1.33, 3], [0, 3]], [[0, 3], [1.5, 1.5], [1.33, 1], [3.56, -0.67], [4, -1], [3.67, -0.5], [1.78, 2.33], [1.33, 3], [0, 3]], [[0, 3], [1.5, 1.5], [1.78, 2.33], [2, 3], [3.33, 5], [6, 9], [2.4, 5.4], [0.8, 3.8], [0, 3]], [[0, 3], [1.5, 1.5], [1.78, 2.33], [2, 3], [3.33, 5], [2.4, 5.4], [0.8, 3.8], [1.33, 3], [0, 3]], [[0, 3], [1.5, 1.5], [1.78, 2.33], [3.67, -0.5], [4.29, 0.43], [6, 3], [2, 3], [1.33, 3], [0, 3]], [[0, 3], [1.5, 1.5], [3.6, -0.6], [3.56, -0.67], [4, -1], [3.67, -0.5], [1.78, 2.33], [1.33, 3], [0, 3]], [[0, 3], [1.5, 1.5], [3.6, -0.6], [3.67, -0.5], [1.78, 2.33], [2, 3], [1.33, 3], [0.8, 3.8], [0, 3]], [[0, 3], [1.5, 1.5], [3.6, -0.6], [3.67, -0.5], [4.29, 0.43], [6, 3], [2, 3], [1.33, 3], [0, 3]], [[0, 3], [1.5, 1.5], [3.6, -0.6], [4, -1], [3.67, -0.5], [1.78, 2.33], [2, 3], [1.33, 3], [0, 3]], [[0, 3], [1.5, 1.5], [3.6, -0.6], [4, -1], [3.67, -0.5], [1.78, 2.33], [1.33, 3], [0.8, 3.8], [0, 3]], [[0, 3], [1.5, 1.5], [3.6, -0.6], [4, -1], [6, -3], [6, 3], [2, 3], [1.33, 3], [0, 3]], [[0, 3], [1.5, 1.5], [3.6, -0.6], [4, -1], [4.5, 0], [6, 3], [2, 3], [1.33, 3], [0, 3]], [[0, 3], [1.33, 3], [1.78, 2.33], [2, 3], [3.33, 5], [6, 9], [2.4, 5.4], [0.8, 3.8], [0, 3]], [[0, 3], [1.33, 3], [2, 3], [6, 3], [6, 3.86], [6, 9], [2.4, 5.4], [0.8, 3.8], [0, 3]], [[0, 3], [1.33, 3], [2, 3], [6, 3], [6, 3.86], [3.33, 5], [2.4, 5.4], [0.8, 3.8], [0, 3]], [[0, 3], [1.33, 3], [2, 3], [3.33, 5], [6, 3.86], [6, 9], [2.4, 5.4], [0.8, 3.8], [0, 3]]]


[从头学数学] 第270节 [计算几何] 例题数据生成


a11=[[[2, 3], [1.33, 3], [1.78, 2.33], [3.67, -0.5], [4.29, 0.43], [6, 3], [6, 3.86], [3.33, 5], [2, 3]], [[2, 3], [1.33, 3], [0.8, 3.8], [0, 3], [-0.37, 2.56], [-6, 9], [2.4, 5.4], [3.33, 5], [2, 3]], [[2, 3], [1.33, 3], [0.8, 3.8], [2.4, 5.4], [6, 9], [3.33, 5], [6, 3.86], [6, 3], [2, 3]], [[2, 3], [1.33, 3], [0.8, 3.8], [2.4, 5.4], [6, 9], [8, 3], [6, 3.86], [6, 3], [2, 3]], [[2, 3], [1.33, 3], [0.8, 3.8], [2.4, 5.4], [6, 9], [8, 3], [6, 3.86], [3.33, 5], [2, 3]], [[2, 3], [1.33, 3], [0, 3], [-0.37, 2.56], [-6, 9], [2.4, 5.4], [6, 9], [3.33, 5], [2, 3]], [[2, 3], [1.33, 3], [0, 3], [-0.12, 2.28], [-0.37, 2.56], [-6, 9], [2.4, 5.4], [3.33, 5], [2, 3]], [[2, 3], [1.33, 3], [0, 3], [1.5, 1.5], [1.78, 2.33], [3.67, -0.5], [4.29, 0.43], [6, 3], [2, 3]], [[2, 3], [1.33, 3], [0, 3], [1.5, 1.5], [3.6, -0.6], [3.67, -0.5], [4.29, 0.43], [6, 3], [2, 3]], [[2, 3], [1.33, 3], [0, 3], [1.5, 1.5], [3.6, -0.6], [4, -1], [6, -3], [6, 3], [2, 3]], [[2, 3], [1.33, 3], [0, 3], [1.5, 1.5], [3.6, -0.6], [4, -1], [4.5, 0], [6, 3], [2, 3]], [[2, 3], [1.33, 3], [0, 3], [0.8, 3.8], [2.4, 5.4], [6, 9], [6, 3.86], [6, 3], [2, 3]], [[2, 3], [1.33, 3], [0, 3], [0.8, 3.8], [2.4, 5.4], [6, 9], [6, 3.86], [3.33, 5], [2, 3]], [[2, 3], [1.33, 3], [0, 3], [0.8, 3.8], [2.4, 5.4], [3.33, 5], [6, 3.86], [6, 3], [2, 3]], [[2, 3], [6, 3], [6, -3], [5.67, -3.5], [8, -7], [8, 3], [6, 3.86], [3.33, 5], [2, 3]], [[2, 3], [6, 3], [6, -3], [5.67, -3.5], [8, -7], [8, 3], [6, 9], [3.33, 5], [2, 3]], [[2, 3], [6, 3], [6, -3], [8, -7], [8, 3], [6, 3.86], [6, 9], [3.33, 5], [2, 3]], [[2, 3], [6, 3], [6, -3], [8, -7], [8, 3], [6, 9], [2.4, 5.4], [3.33, 5], [2, 3]], [[2, 3], [6, 3], [4.5, 0], [6, -3], [8, -7], [8, 3], [6, 3.86], [3.33, 5], [2, 3]], [[2, 3], [6, 3], [4.5, 0], [6, -3], [8, -7], [8, 3], [6, 9], [3.33, 5], [2, 3]]]


[从头学数学] 第270节 [计算几何] 例题数据生成


a12=[[[6, 3], [4.5, 0], [4.29, 0.43], [3.67, -0.5], [1.78, 2.33], [2, 3], [3.33, 5], [6, 3.86], [6, 3]], [[6, 3], [4.5, 0], [4.29, 0.43], [3.67, -0.5], [3.6, -0.6], [1.5, 1.5], [1.78, 2.33], [2, 3], [6, 3]], [[6, 3], [4.5, 0], [4, -1], [5.56, -3.33], [6, -3], [8, -7], [8, 3], [6, 3.86], [6, 3]], [[6, 3], [4.5, 0], [4, -1], [5.56, -3.33], [5.67, -3.5], [8, -7], [8, 3], [6, 3.86], [6, 3]], [[6, 3], [4.5, 0], [4, -1], [3.67, -0.5], [1.78, 2.33], [2, 3], [3.33, 5], [6, 3.86], [6, 3]], [[6, 3], [4.5, 0], [4, -1], [3.67, -0.5], [3.6, -0.6], [1.5, 1.5], [1.78, 2.33], [2, 3], [6, 3]], [[6, 3], [4.5, 0], [4, -1], [6, -3], [5.67, -3.5], [8, -7], [8, 3], [6, 3.86], [6, 3]], [[6, 3], [4.5, 0], [4, -1], [6, -3], [8, -7], [8, 3], [6, 9], [6, 3.86], [6, 3]], [[6, 3], [4.5, 0], [4, -1], [3.6, -0.6], [3.67, -0.5], [1.78, 2.33], [1.33, 3], [2, 3], [6, 3]], [[6, 3], [4.5, 0], [4, -1], [3.6, -0.6], [1.5, 1.5], [1.78, 2.33], [1.33, 3], [2, 3], [6, 3]], [[6, 3], [4.5, 0], [4, -1], [3.6, -0.6], [1.5, 1.5], [0, 3], [1.33, 3], [2, 3], [6, 3]], [[6, 3], [4.5, 0], [4, -1], [3.56, -0.67], [3.6, -0.6], [3.67, -0.5], [1.78, 2.33], [2, 3], [6, 3]], [[6, 3], [4.5, 0], [4, -1], [3.56, -0.67], [3.6, -0.6], [1.5, 1.5], [1.78, 2.33], [2, 3], [6, 3]], [[6, 3], [4.5, 0], [4, -1], [3.56, -0.67], [1.33, 1], [1.5, 1.5], [1.78, 2.33], [2, 3], [6, 3]], [[6, 3], [2, 3], [1.78, 2.33], [1.33, 3], [0.8, 3.8], [2.4, 5.4], [6, 9], [6, 3.86], [6, 3]], [[6, 3], [2, 3], [1.78, 2.33], [1.33, 3], [0.8, 3.8], [2.4, 5.4], [3.33, 5], [6, 3.86], [6, 3]], [[6, 3], [2, 3], [1.33, 3], [0.8, 3.8], [2.4, 5.4], [6, 9], [3.33, 5], [6, 3.86], [6, 3]], [[6, 3], [2, 3], [1.33, 3], [0.8, 3.8], [2.4, 5.4], [6, 9], [8, 3], [6, 3.86], [6, 3]], [[6, 3], [2, 3], [1.33, 3], [0, 3], [0.8, 3.8], [2.4, 5.4], [6, 9], [6, 3.86], [6, 3]], [[6, 3], [2, 3], [1.33, 3], [0, 3], [0.8, 3.8], [2.4, 5.4], [3.33, 5], [6, 3.86], [6, 3]]]


[从头学数学] 第270节 [计算几何] 例题数据生成


a13=[[[8, 3], [8, -7], [6, -3], [4, -1], [4.5, 0], [6, 3], [6, 3.86], [6, 9], [8, 3]], [[8, 3], [8, -7], [6, -3], [6, 3], [2, 3], [3.33, 5], [6, 9], [6, 3.86], [8, 3]], [[8, 3], [8, -7], [6, -3], [6, 3], [2, 3], [3.33, 5], [2.4, 5.4], [6, 9], [8, 3]], [[8, 3], [8, -7], [6, -3], [6, 3], [6, 3.86], [3.33, 5], [2.4, 5.4], [6, 9], [8, 3]], [[8, 3], [8, -7], [5.67, -3.5], [6, -3], [4.5, 0], [4.29, 0.43], [6, 3], [6, 3.86], [8, 3]], [[8, 3], [8, -7], [5.67, -3.5], [6, -3], [4.5, 0], [6, 3], [6, 3.86], [6, 9], [8, 3]], [[8, 3], [8, -7], [5.67, -3.5], [6, -3], [4, -1], [4.5, 0], [6, 3], [6, 3.86], [8, 3]], [[8, 3], [8, -7], [5.67, -3.5], [6, -3], [6, 3], [2, 3], [3.33, 5], [6, 9], [8, 3]], [[8, 3], [8, -7], [5.67, -3.5], [6, -3], [6, 3], [2, 3], [3.33, 5], [6, 3.86], [8, 3]], [[8, 3], [8, -7], [5.67, -3.5], [6, -3], [6, 3], [6, 3.86], [3.33, 5], [6, 9], [8, 3]], [[8, 3], [8, -7], [5.67, -3.5], [5.56, -3.33], [6, -3], [4.5, 0], [6, 3], [6, 3.86], [8, 3]], [[8, 3], [8, -7], [5.67, -3.5], [5.56, -3.33], [6, -3], [6, 3], [6, 3.86], [6, 9], [8, 3]], [[8, 3], [8, -7], [5.67, -3.5], [5.56, -3.33], [4, -1], [6, -3], [6, 3], [6, 3.86], [8, 3]], [[8, 3], [8, -7], [5.67, -3.5], [5.56, -3.33], [4, -1], [4.5, 0], [6, 3], [6, 3.86], [8, 3]], [[8, 3], [8, -7], [5.35, -3.97], [5.67, -3.5], [6, -3], [4.5, 0], [6, 3], [6, 3.86], [8, 3]], [[8, 3], [8, -7], [5.35, -3.97], [5.67, -3.5], [6, -3], [6, 3], [6, 3.86], [6, 9], [8, 3]], [[8, 3], [8, -7], [5.35, -3.97], [5.67, -3.5], [5.56, -3.33], [6, -3], [6, 3], [6, 3.86], [8, 3]], [[8, 3], [8, -7], [5.35, -3.97], [5.09, -3.68], [5.56, -3.33], [6, -3], [6, 3], [6, 3.86], [8, 3]], [[8, 3], [6, 3.86], [6, 3], [2, 3], [1.33, 3], [0.8, 3.8], [2.4, 5.4], [6, 9], [8, 3]], [[8, 3], [6, 3.86], [3.33, 5], [2, 3], [1.33, 3], [0.8, 3.8], [2.4, 5.4], [6, 9], [8, 3]]]


a14=[];
a15=[];


[从头学数学] 第270节 [计算几何] 例题数据生成


a16=[[[-6, 9], [-0.37, 2.56], [0, 3], [0.8, 3.8], [2.4, 5.4], [-6, 9]], [[-6, 9], [-0.37, 2.56], [0, 3], [1.33, 3], [0.8, 3.8], [2.4, 5.4], [-6, 9]], [[-6, 9], [-0.37, 2.56], [-0.12, 2.28], [0, 3], [0.8, 3.8], [2.4, 5.4], [-6, 9]], [[-6, 9], [-0.37, 2.56], [0, 3], [1.33, 3], [2, 3], [3.33, 5], [2.4, 5.4], [-6, 9]], [[-6, 9], [-0.37, 2.56], [-0.12, 2.28], [0, 3], [1.33, 3], [0.8, 3.8], [2.4, 5.4], [-6, 9]], [[-6, 9], [-0.37, 2.56], [-0.51, 2.38], [-0.15, 2.11], [-0.12, 2.28], [0, 3], [0.8, 3.8], [2.4, 5.4], [-6, 9]], [[-6, 9], [-0.37, 2.56], [0, 3], [1.5, 1.5], [1.78, 2.33], [2, 3], [3.33, 5], [2.4, 5.4], [-6, 9]], [[-6, 9], [-0.37, 2.56], [0, 3], [1.5, 1.5], [1.78, 2.33], [1.33, 3], [0.8, 3.8], [2.4, 5.4], [-6, 9]], [[-6, 9], [-0.37, 2.56], [0, 3], [1.33, 3], [1.78, 2.33], [2, 3], [3.33, 5], [2.4, 5.4], [-6, 9]], [[-6, 9], [-0.37, 2.56], [0, 3], [1.33, 3], [2, 3], [3.33, 5], [6, 9], [2.4, 5.4], [-6, 9]], [[-6, 9], [-0.37, 2.56], [0, 3], [0.8, 3.8], [1.33, 3], [2, 3], [3.33, 5], [2.4, 5.4], [-6, 9]], [[-6, 9], [-0.37, 2.56], [-0.12, 2.28], [0, 3], [1.33, 3], [2, 3], [3.33, 5], [2.4, 5.4], [-6, 9]], [[-6, 9], [-0.37, 2.56], [-0.12, 2.28], [0.36, 1.73], [0.44, 1.67], [0, 3], [0.8, 3.8], [2.4, 5.4], [-6, 9]]]


[从头学数学] 第270节 [计算几何] 例题数据生成


a17=[[[6, 9], [2.4, 5.4], [0.8, 3.8], [1.33, 3], [2, 3], [6, 3], [6, 3.86], [3.33, 5], [6, 9]], [[6, 9], [2.4, 5.4], [0.8, 3.8], [1.33, 3], [2, 3], [3.33, 5], [6, 3.86], [8, 3], [6, 9]], [[6, 9], [2.4, 5.4], [0.8, 3.8], [0, 3], [1.5, 1.5], [1.78, 2.33], [2, 3], [3.33, 5], [6, 9]], [[6, 9], [2.4, 5.4], [0.8, 3.8], [0, 3], [1.33, 3], [1.78, 2.33], [2, 3], [3.33, 5], [6, 9]], [[6, 9], [2.4, 5.4], [0.8, 3.8], [0, 3], [1.33, 3], [2, 3], [6, 3], [6, 3.86], [6, 9]], [[6, 9], [2.4, 5.4], [0.8, 3.8], [0, 3], [1.33, 3], [2, 3], [3.33, 5], [6, 3.86], [6, 9]], [[6, 9], [2.4, 5.4], [3.33, 5], [2, 3], [6, 3], [6, -3], [8, -7], [8, 3], [6, 9]], [[6, 9], [2.4, 5.4], [3.33, 5], [6, 3.86], [6, 3], [6, -3], [8, -7], [8, 3], [6, 9]], [[6, 9], [2.4, 5.4], [-6, 9], [-0.37, 2.56], [0, 3], [1.33, 3], [2, 3], [3.33, 5], [6, 9]], [[6, 9], [3.33, 5], [2, 3], [1.78, 2.33], [3.67, -0.5], [4.29, 0.43], [6, 3], [6, 3.86], [6, 9]], [[6, 9], [3.33, 5], [2, 3], [6, 3], [6, -3], [5.67, -3.5], [8, -7], [8, 3], [6, 9]], [[6, 9], [3.33, 5], [2, 3], [6, 3], [6, -3], [8, -7], [8, 3], [6, 3.86], [6, 9]], [[6, 9], [3.33, 5], [2, 3], [6, 3], [4.5, 0], [6, -3], [8, -7], [8, 3], [6, 9]], [[6, 9], [3.33, 5], [6, 3.86], [6, 3], [6, -3], [5.67, -3.5], [8, -7], [8, 3], [6, 9]], [[6, 9], [3.33, 5], [6, 3.86], [6, 3], [4.5, 0], [6, -3], [8, -7], [8, 3], [6, 9]], [[6, 9], [6, 3.86], [6, 3], [4.29, 0.43], [4.5, 0], [6, -3], [8, -7], [8, 3], [6, 9]], [[6, 9], [6, 3.86], [6, 3], [6, -3], [5.56, -3.33], [5.67, -3.5], [8, -7], [8, 3], [6, 9]], [[6, 9], [6, 3.86], [6, 3], [6, -3], [5.67, -3.5], [5.35, -3.97], [8, -7], [8, 3], [6, 9]], [[6, 9], [6, 3.86], [6, 3], [4.5, 0], [6, -3], [5.67, -3.5], [8, -7], [8, 3], [6, 9]], [[6, 9], [6, 3.86], [6, 3], [4.5, 0], [4, -1], [6, -3], [8, -7], [8, 3], [6, 9]]]


本节到此结束,欲知后事如何,请看下回分解。