对一个二维数据块进行区域提取,我首先利用等值线抽取算法,把某值的等值线提取出来,但现在的问题是有可能抽取出来的等值线形成的区域是小值区,也可能是大值区,如何判断是大值区还是小值区,另外,我想使大值区的链表点顺时针转,小值区逆时针转,如何实现 ?

解决方案 »

  1.   

    1、沿着等值线范围的Y方向,在X坐标取中间位置(XMIN+XMAX)/2,循环取一些点,判断它是否在多边形内,总可以找出内部的点;
    2\求闭合多边形的面积公式里有判断时针方向的:
       s += (x[i+1]-x[i])*(y[i+1]+y[i])*0.5;
    S负值为逆时针,否则顺时针.
      

  2.   

    1、沿着等值线范围的Y方向,在X坐标取中间位置(XMIN+XMAX)/2,循环取一些点,判断它是否在多边形内,总可以找出内部的点请问太平洋大师:
        现在的问题就是想找一个在等值线内部的点;假如一个区域特别变态,就像花瓣一样,甚至比花瓣复杂,如何找它内部的一个点。
      

  3.   

    沿着等值线范围的Y方向作一条射线,求出它与闭合等值线的所有交点,将这些交点按Y坐标的大小排序,[x0,(y0+y1)/2]点,肯定在内部。