Pyunik Yerevan: El Gigante Local
Pyunik Yerevan es uno de los clubes más laureados en la historia del fútbol armenio. Con múltiples títulos nacionales a su haber, este equipo siempre es considerado uno de los favoritos para ganar la liga. Su estilo de juego se caracteriza por una sólida defensa y un ataque rápido que suele sorprender a sus rivales.
Jugadores Clave
- Kamo Hovsepyan: Delantero central conocido por su habilidad goleadora. Su capacidad para marcar desde diferentes posiciones lo convierte en una amenaza constante para cualquier defensa rival.
- Aram Petrosyan: Mediocampista creativo que juega un papel crucial en la construcción del juego del equipo. Su visión de juego y precisión en los pases son fundamentales para el desempeño ofensivo del Pyunik.
Estrategia Táctica
Pyunik Yerevan suele emplear un sistema táctico flexible que les permite adaptarse a diferentes situaciones durante el partido. Dependiendo del rival, pueden optar por una formación más conservadora o arriesgarse con un ataque más agresivo.
- Formación Preferida: 4-3-3
- Defensa Centralizada: La pareja defensiva central es clave para mantener la solidez atrás.
- Medios Creativos: Los mediocampistas centrales son responsables de generar juego ofensivo y recuperar balones.
- Triplete Ofensivo: Tres atacantes distribuidos por las bandas proporcionan amplitud al ataque del equipo.
Fuerzas y Debilidades
- Fuerte defensa organizada capaz de neutralizar ataques potentes.
- Jugadores experimentados que lideran tanto dentro como fuera del campo.
- Buena rotación dentro del plantel permite mantener el nivel alto durante toda la temporada. mrMajid/Computer-Graphics<|file_sep|>/CG_Assignment_4_The_Triangle_Stitching_Problem/src/main.cpp #include "glut.h" #include "GL/freeglut.h" #include "GL/gl.h" #include "GL/glu.h" #include "GL/glut.h" #include "GL/glu.h" #include "GL/freeglut_ext.h" #include "math.h" #include "stdio.h" #include "stdlib.h" #include "time.h" #define M_PI 3.14159265358979323846 #define M_PI_2 1.57079632679489661923 #define M_PI_4 0.785398163397448309616 int w = 800; int h = 600; int triangleNum = -1; int drawMode = -1; int zoom = -1; void drawSquare(GLfloat x, GLfloat z); void drawTriangle(GLfloat x1, GLfloat z1, GLfloat x2, GLfloat z2, GLfloat x3, GLfloat z3); void init(void); void display(void); void reshape(int w,int h); void mouse(int button,int state,int x,int y); void mouseMove(int x,int y); GLfloat lineX[8] = {0.f,-0.5f,-0.5f,-0.25f,-0.25f,-0.f,-0.f,+0.f}; GLfloat lineZ[8] = {0.f,+0.f,-0.f,-0.f,-0.25f,-0.25f,-0.5f,-0.5f}; GLuint triangleList[100]; GLuint squareList[100]; int main(int argc,char *argv[]) { glutInit(&argc,(char**)argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH); glutInitWindowSize(w,h); glutInitWindowPosition(100,100); glutCreateWindow("Assignment #4"); glutReshapeFunc(reshape); glutDisplayFunc(display); glutMouseFunc(mouse); glutMotionFunc(mouseMove); init(); glutMainLoop(); } void init(void) { glClearColor(1.f,1.f,1.f,1.f); glShadeModel(GL_SMOOTH); glEnable(GL_DEPTH_TEST); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); for (int i=0;i<100;++i) { glGenLists(1,&triangleList[i]); glNewList(triangleList[i],GL_COMPILE); glColor4f(1.f,.5f,.5f,.5f); glBegin(GL_TRIANGLES); glVertex3f(-10.f,-10.f,-10.f); glVertex3f(-10.f,+10.f,-10.f); glVertex3f(+10.f,+10.f,-10.f); glEnd(); glColor4f(.5f,.5f,.5f,.5f); glBegin(GL_TRIANGLES); glVertex3f(-10.f,-10.f,-10.f); glVertex3f(+10.f,+10.f,-10.f); glVertex3f(+10.f,-10.f,-10.f); glEnd(); glEndList(); glGenLists(1,&squareList[i]); glNewList(squareList[i],GL_COMPILE); glColor4f(.5f,.5f,.5f,.5f); glBegin(GL_QUADS); glVertex3f(-10.f,-10.f,+10.f); // Back Face glVertex3f(+10.f,-10.f,+10.f); // Back Face glVertex3f(+10.f,+10.f,+10.f); // Back Face glVertex3f(-10.f,+10.f,+10.f); // Back Face glVertex3f(-10.f,+10.f,-10.f); // Front Face glVertex3f(+10.f,+10.f,-10.f); // Front Face glVertex3f(+10.f,-10.f,-10.f); // Front Face glVertex3f(-10.f,-10.f,-10.f); // Front Face glEnd(); glEndList(); } } void display(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glEnableClientState(GL_VERTEX_ARRAY); switch (drawMode) { case -1: for (int i=0;i<8;++i) drawSquare(lineX[i],lineZ[i]); break; case +0: for (int i=0;i<7;++i) drawTriangle(lineX[i],lineZ[i], lineX[i+1],lineZ[i+1], lineX[7],lineZ[7]); for (int i=7;i>=+0;--i) drawTriangle(lineX[i],lineZ[i], lineX[i-1],lineZ[i-1], lineX[+0],lineZ[+0]); break; case +1: for (int i=0;i<6;++i) if ((i%2)==+0) { drawTriangle(lineX[i],lineZ[i], lineX[i+1],lineZ[i+1], lineX[7],lineZ[7]); drawTriangle(lineX[i+2],lineZ[i+2], lineX[i+1],lineZ[i+1], lineX[7],lineZ[7]); } else { drawTriangle(lineX[i],lineZ[i], lineX[i+1],lineZ[i+1], lineX[+0],lineZ[+0]); drawTriangle(lineX[i+2],lineZ[i+2], lineX[i+1],lineZ[i+1], lineX[+0],lineZ[+0]); } for (int i=6;i>=+2;--i) if ((i%2)==+0) { drawTriangle(lineX[i],lineZ[i], lineX[i-1],lineZ[i-1], lineX[7],lineZ[7]); drawTriangle(lineX[i-2],lineZ[i-2], lineX[i-1],lineZ[i-1], lineX[7],lineZ[7]); } else { drawTriangle(lineX[i],lineZ[i], lineX[i-1],lineZ[i-1], lineX[+0],lineZ[+0]); drawTriangle(lineX[i-2],lineZ[i-2], lineX[i-1],lineZ[i-1], lineX[+0],lineZ[+0]); } break; case +2: case +3: case +4: case +5: case +6: case +7: for (int i=triangleNum;i>=triangleNum-zoom;++i) if ((i%4)==triangleNum%4) { if (drawMode==+2 || drawMode==triangleNum%4) drawTriangle(lineX[(i%8)], lineZ[(i%8)], lineX[((i%8)+((zoom-i%zoom)%4))%8], lineZ[((i%8)+((zoom-i%zoom)%4))%8], lineX[(7+(zoom-i%zoom))%8] , lineZ[(7+(zoom-i%zoom))%8]); if (drawMode==+(triangleNum%4)+6 || drawMode==+(triangleNum%4)+6-(triangleNum-triangleNum%4)) drawTriangle(lineX[(i%8)], lineZ[(i%8)], lineX[((i%8)+((zoom-i%zoom)%4)+((triangleNum-triangleNum%4)*((drawMode==+(triangleNum%4)+6-(triangleNum-triangleNum%4)))))%8] , lineZ[((i%8)+((zoom-i%zoom)%4)+((triangleNum-triangleNum%4)*((drawMode==+(triangleNum%4)+6-(triangleNum-triangleNum%4)))))%8] , lineX[(7+(zoom-i%zoom))%8] , lineZ[(7+(zoom-i%zoom))%8]); } else if ((i%(8-zoom))==((triangleNum%(8-zoom))+(((drawMode-triangleNum)/(-drawMode)))*(((drawMode-triangleNum)/(-drawMode))-((triangleNum-(triangleNum-(drawMode-triangleNum)*(((drawMode-triangleNum)/(-drawMode)))))/(drawMode-triangleNum)))*((drawMode-triangleNum)/(-drawMode)))) { if (drawMode==+(triangleNum%(8-zoom))+(((drawMode-triangleNum)/(-drawMode))*(((drawMode-triangleNum)/(-drawMode))-((triangleNum-(triangleNum-(drawMode-triangleNum)*(((drawMode-triangleNum)/(-drawMode)))))/(drawMode-triangleNum))))*((drawMode-triangleNum)/(-drawMod))) drawTriangle(lineX[(i%(8-zoom))] , lineZ[(i%(8-zoom))] , lineX[((i%(8-zoom))+(((zoom-i%(zoom))/(zoom)))%%(8-zoom))] , lineZ[((i%(8-zoom))+(((zoom-i%(zoom))/(zoom)))%%(8-zoom))] , lineX[((7+(zoom-i%(zoom)))%(8-zoom))] , lineZ[((7+(zoom-i%(zoom)))%(8-zoom))] ); if (drawMode==(+(triangleNum%(8-zoom))+(((drawMode-triangleNum)/(-drawMod))*(((drawMod-triangleNum)/(-drawMod))-((triangleMod-(triangleMod-(drawMod-triangleMod)*(((drawMod-triangleMod)/(-drawMod)))))/(drawMod-triangleMod)))*((drawMod-triangleMod)/(-drawMod)))+(6*(((drawMod-triangleMod)/(abs(drawMod-triangleMod))))))) drawTriangle(lineX[(i%(8-zoom))] , lineZ[(i%(8-zoom))] , lineX[((i%(8-zoom))+(((