Advertisement
Guest User

Untitled

a guest
Jan 16th, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.69 KB | None | 0 0
  1. //===trojkaty start
  2.     glm::vec3 Wierzcholki[6];  
  3.    
  4.     //trojkat1
  5.     Wierzcholki[0] = { glm::vec3(-0.8, 0.8, 0) };
  6.     Wierzcholki[1] = { glm::vec3(-0.6, 0.8, 0) };
  7.     Wierzcholki[2] = { glm::vec3(-0.8, 0.6, 0)};
  8.     //trojkat 2
  9.     Wierzcholki[3] = { glm::vec3(0.0, 0.8, 0) };
  10.     Wierzcholki[4] = { glm::vec3(-0.2, 0.6, 0) };
  11.     Wierzcholki[5] = { glm::vec3(0.2, 0.6, 0) };
  12.     //kwadrat1
  13.     glGenBuffers(1, &VBO);
  14.     glBindBuffer(GL_ARRAY_BUFFER, VBO);
  15.     std::cout << "VBO: " << VBO << std::endl;
  16.     glBufferData(GL_ARRAY_BUFFER, sizeof(Wierzcholki), Wierzcholki, GL_STATIC_DRAW);
  17.     //==trojkaty stop
  18.     //==kwadrat1 start
  19.     glm::vec3 KwadratWsp[4];
  20.     KwadratWsp[0] = { glm::vec3(-0.3, 0.5, 0.0) };
  21.     KwadratWsp[1] = { glm::vec3(-0.0, 0.5, 0.0) };
  22.     KwadratWsp[2] = { glm::vec3(-0.0, 0.2, 0.0) };
  23.     KwadratWsp[3] = { glm::vec3(-0.3, 0.2, 0.0) };
  24.     glGenBuffers(1, &KWADRAT);
  25.     glBindBuffer(GL_ARRAY_BUFFER, KWADRAT);
  26.     glBufferData(GL_ARRAY_BUFFER, sizeof(KwadratWsp), KwadratWsp, GL_STATIC_DRAW);
  27.     //kwadrat1 stop
  28.     //kwadrat2 start
  29.     glm::vec3 KwadratWsp2[4];
  30.     KwadratWsp2[0] = { glm::vec3(0.3, 0.5, 0.0) };
  31.     KwadratWsp2[1] = { glm::vec3(0.8, 0.5, 0.0) };
  32.     KwadratWsp2[2] = { glm::vec3(0.8, 0.0, 0.0) };
  33.     KwadratWsp2[3] = { glm::vec3(0.3, 0.0, 0.0) };
  34.     glGenBuffers(1, &KWADRAT2);
  35.     glBindBuffer(GL_ARRAY_BUFFER, KWADRAT2);
  36.     glBufferData(GL_ARRAY_BUFFER, sizeof(KwadratWsp2), KwadratWsp2, GL_STATIC_DRAW);
  37.     //kwadrat2 stop
  38.     //kwadrat3 start
  39.     glm::vec3 KwadratWsp3[4];
  40.     KwadratWsp3[0] = { glm::vec3(-0.99, -0.1, 0.0) };
  41.     KwadratWsp3[1] = { glm::vec3(-0.1, -0.1, 0.0) };
  42.     KwadratWsp3[2] = { glm::vec3(-0.1, -0.99, 0.0) };
  43.     KwadratWsp3[3] = { glm::vec3(-0.99, -0.99, 0.0) };
  44.     glGenBuffers(1, &KWADRAT3);
  45.     glBindBuffer(GL_ARRAY_BUFFER, KWADRAT3);
  46.     glBufferData(GL_ARRAY_BUFFER, sizeof(KwadratWsp3), KwadratWsp3, GL_STATIC_DRAW);
  47.     //kwadrat3 stop
  48.     //kolo1 start
  49.     glm::vec3 KoloWsp[91];//ilosc wspolrzednych, przy 90 wystarczajace pokrywanie (nie widac ostrych krawedzi)
  50.     int segments = 90; //segmenty - czestotliwosc badania katow
  51.     float r = 0.2; //promien
  52.     float x = 0.3, y = -0.3;//wspolrzedne srodka
  53.     for (int n = 0; n <= segments; n++) {
  54.         //t = kat, radiany, 90st = pi/2, 180 = pi, 270 = 3pi/2, 360 = 2pi
  55.         //(float)n / (float)segments np. krok 90/360 = 1/4, (2pi)*(1/4)=pi/2
  56.         float const t = 2 * 3.14 * (float)n / (float)segments;
  57.         cout << " t: " << n << " " << t;
  58.         cout << " sin(t): " << sin(t) << " cos(t): " << cos(t) << endl;
  59.         //obliczanie wspolrzednych x i y rysowanych trojkatow
  60.         //wspolrzedna srodka *f. trygonom * promien (przeskalowanie do wartosci float)
  61.         KoloWsp[n] = glm::vec3(x + sin(t) * r, y + cos(t) * r, 0);
  62.         //glVertex2f(x + sin(t) * r, y + cos(t) * r);
  63.     }
  64.     glGenBuffers(1, &KOLO);
  65.     glBindBuffer(GL_ARRAY_BUFFER, KOLO);
  66.     glBufferData(GL_ARRAY_BUFFER, sizeof(KoloWsp), KoloWsp, GL_STATIC_DRAW);
  67.     //==kolo1 stop
  68.  
  69.     //==kolo2 start
  70.     glm::vec3 KoloWsp2[91];//ilosc wspolrzednych, przy 90 wystarczajace pokrywanie (nie widac ostrych krawedzi)
  71.      segments = 90; //segmenty - czestotliwosc badania katow
  72.     r = 0.1; //promien
  73.     x = 0.6; y = -0.6;//wspolrzedne srodka
  74.     for (int n = 0; n <= segments; n++) {
  75.         //t = kat, radiany, 90st = pi/2, 180 = pi, 270 = 3pi/2, 360 = 2pi
  76.         //(float)n / (float)segments np. krok 90/360 = 1/4, (2pi)*(1/4)=pi/2
  77.         float const t = 2 * 3.14 * (float)n / (float)segments;
  78.         //obliczanie wspolrzednych x i y rysowanych trojkatow
  79.         //wspolrzedna srodka *f. trygonom * promien (przeskalowanie do wartosci float)
  80.         KoloWsp2[n] = glm::vec3(x + sin(t) * r, y + cos(t) * r, 0);
  81.         //glVertex2f(x + sin(t) * r, y + cos(t) * r);
  82.     }
  83.     glGenBuffers(1, &KOLO2);
  84.     glBindBuffer(GL_ARRAY_BUFFER, KOLO2);
  85.     glBufferData(GL_ARRAY_BUFFER, sizeof(KoloWsp2), KoloWsp2, GL_STATIC_DRAW);
  86.     //==kolo2 stop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement