Witam wszystkich serdecznie,

Mam do napisania program z GUI, który będzie wyświetlał wykresy w 3D i niestety mam problem.

Chodzi o to, że nie wiem jak generować te wzory funkcji, tzn ma to być wykres funkcji f(x,y).

Napiszę może mniej wiecej jak to zaczynam robić.

W programie generuje 6 wektorów x_start,x_end,y_start,z_end,z_start, następnie i tu mam problem chciałbym je wypełnić wartościami no i właśnie nie wiem jak to zrobić. Np chciałbym narysować funkcje f(x,y)=x2+y2. Niestety wychodzi mi jakaś płaszczyzna.

Później już te wektory wykorzystuje do obliczeń. Tzn mam macierze przekształceń i na końcu tą wynikową macierz mnoże razy te wektory. Na końcu z tych wektorów biorę x_start i y_start i x_end i y_end i robię drawLine i to wszysko w pętli, może dam też przykład kodu, bo trochę to mało po polsku napisałem.

         for(double i = -1;i<1;i+=0.1) {
            m.push_back(i);        
            n.push_back(i*i);
        }
        for(int i = 0;i<200;i++) {
            x_start.push_back(m[i]);
            x_end.push_back(m[i]+0.1);
            y_start.push_back(n[i]);
            y_end.push_back(n[i]+0.1);
            z_start.push_back(m[i]*n[i]);
            z_end.push_back(m[i]*n[i]+0.1);    
          //  if(i<255) {
            R.push_back(i%255);
            G.push_back(255-i%255);
            B.push_back(100);        
            //}
        }

macierz = macierzRotacjaX()*macierzRotacjaY()*macierzRotacjaZ()*macierzSkalowanie();

     for(int i = 0;i<x_start.size();i++)  {
        vector.Set(x_start[i],y_start[i],z_start[i]);
        vector2.Set(x_end[i],y_end[i],z_end[i]);

        vector = macierz*vector;
        vector2 = macierz*vector2;
        d1 = vector.GetZ()-vector2.GetZ();
        d2 = vector2.GetZ();
        bdc.SetPen(wxPen(wxColour(R[i],G[i],B[i])));
        bdc.DrawLine(vector.GetX(),-vector.GetY(),vector2.GetX(),-vector2.GetY());
    } 

Jakby ktoś był tak miły i podpowiedział jak wypełniać te wektory, aby uzyskać ładny wykres, albo zarzucił jakimś linkiem, gdzie to jest mniej więcej wytłumaczone.