Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include "src/num/Rational.h"
- #include "src/num/ErrorControlled.h"
- #include "src/geom/convex_giftwrap.h"
- //Здесь задаётся тип данных, который используется для вычислений
- typedef double Num;
- //typedef Rational Num;
- //typedef ErrorControlled Num;
- int main(){
- SPointSet<Num> point_set;
- //Пример входных данных
- point_set.n=19;
- point_set.points=new SPoint<Num>[point_set.n];
- point_set.points[0].x=1; point_set.points[0].y=5;
- point_set.points[1].x=2; point_set.points[1].y=6;
- point_set.points[2].x=3; point_set.points[2].y=5;
- point_set.points[3].x=4; point_set.points[3].y=5;
- point_set.points[4].x=4; point_set.points[4].y=4;
- point_set.points[5].x=5; point_set.points[5].y=5;
- point_set.points[6].x=5; point_set.points[6].y=6;
- point_set.points[7].x=7; point_set.points[7].y=4;
- point_set.points[8].x=8; point_set.points[8].y=3;
- point_set.points[9].x=7; point_set.points[9].y=6;
- point_set.points[10].x=5; point_set.points[10].y=7;
- point_set.points[11].x=3; point_set.points[11].y=3;
- point_set.points[12].x=5; point_set.points[12].y=2;
- point_set.points[13].x=9; point_set.points[13].y=3;
- point_set.points[14].x=10; point_set.points[14].y=6;
- point_set.points[15].x=8; point_set.points[15].y=8;
- point_set.points[16].x=9; point_set.points[16].y=8;
- point_set.points[17].x=6; point_set.points[17].y=9;
- point_set.points[18].x=2; point_set.points[18].y=8;
- //Вычисляем выпуклую оболочку набора точек pset, результат сохраняем в chain
- SChain<Num> chain;
- CalcConvexHull(point_set,chain);
- //Печатаем координаты точек и их индексы
- for(unsigned i=0; i<chain.n; i++){
- printf("%d ",chain.Indexes[i]);
- PrintCoords(chain.point_set[chain.Indexes[i]]);
- printf("\n");
- }
- delete[] chain.Indexes;
- delete[] point_set.points;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement