0

私はQTクリエーターで働いています。2点の傾きを求めたい。2 点 A(x1,y1) 、 B(x2,y2) の場合、勾配の公式を使用

m = (y2-y1)/(x2-x1)。

問題 :

ポイントはリスト p に格納されます。このリストから一度に 2 つのポイントを取得し、リストの最後までの 2 つのポイントの勾配を見つけたいと思います。

たとえば、リストに 5 つのポイント {a,b,c,d,e} が含まれている場合。1.ab 2.bc 3.cd 4.deの傾きを求めたい

コード:

    QList< QgsPoint > p;
    {
    /* some Process */ 

     p.push_front( path->vertex( e.inVertex() ).point() ); /* some points are added to list*/
    }

    QList< QgsPoint>::iterator it;   
    for ( it = p.begin(); it != p.end(); ++it )
    {
    mrbPath->addPoint( *it );
    }
4

3 に答える 3

0

イテレータなしで実行できます。このコードがよりクリーンであることがわかるかもしれません:

for(int i = 0; i <= list.count() - 2; i++) {
  QgsPoint a = list[i], b = list[i + 1];
  //...
}
于 2013-09-28T00:55:29.880 に答える