C_RESULT open_fpad(void){ //double dG[5]; char filename[100]; sprintf(filename, "gnuplot/grafica-%2.2f,%2.2f,%2.2f-%2.2f,%2.2f,%2.2f-%2.2f,%2.2f,%2.2f-%2.2f,%2.2f,%2.2f-%d.dat", XGAIN1,XGAIN2,XGAIN3,YGAIN1,YGAIN2,YGAIN3,ZGAIN1,ZGAIN2,ZGAIN3,WGAIN1,WGAIN2,WGAIN3,switchTop); datosG = fopen( filename, "w"); fprintf( datosG, "# Proyecto: Control de un Quadrotor por VA\n"); fprintf( datosG, "# Datos para la gráfica en GNUplot.\n\n"); fprintf( datosG, "# Error X Error Y Altura Alt. Ref Yaw\n"); zvg = cvCreateImage(cvSize(600,600),IPL_DEPTH_8U,3); inGraph( &zg ); inControl( varZ ); inControl( varX ); inControl( varY ); inControl( varYaw ); vControlSetRef(varZ,heightTop); vControlSetRef(varY,0.0); vControlSetRef(varX,0.0); vControlSetRef(varYaw,0.0); //definicion return C_OK; }
bool canFinish(int numCourses, vector<pair<int, int>>& prerequisites) { vector<vector<int>> graph(numCourses, vector<int>()); vector<bool> visited(numCourses, false); vector<bool> inGraph(numCourses, false); for(auto p : prerequisites) { graph[p.first].push_back(p.second); } for(int i=0; i<numCourses; i++) { if(!visited[i]) { if(hasCircle(graph, inGraph, visited, i)) return false; } } return true; }
C_RESULT open_fpad(void){ zvg = cvCreateImage(cvSize(600,600),IPL_DEPTH_8U,3); inGraph( &zg ); inControl( &Z ); inControl( &X ); inControl( &Y ); inControl( &Yaw ); Z.ref=heightTop; X.ref = 0.0; Y.ref = 0.0; Yaw.ref = 0.0; zg.ref=Z.ref; /*Z.name="Z"; X.name="X"; Y.name="Y"; Y.name="Y";*/ //definicion return C_OK; }