#include "punkt.h" #include "dane.h" #include #include #include #include #define PI 4*atan(1) using namespace std; double punkt :: delta = 0; punkt :: punkt (){ //generowanie tensora symetrycznego tensor = new double*[3]; for(int i=0; i<3; i++) tensor[i] = new double[3]; srand((unsigned int)time(NULL)); //zapelnianie tensora danymi tensor[0][0] = rand()%(maxw-minw+1)+minw + delta; tensor[0][1] = rand()%(maxw-minw+1)+minw + delta; tensor[0][2] = rand()%(maxw-minw+1)+minw + delta; tensor[1][0] = tensor[0][1]; tensor[1][1] = rand()%(maxw-minw+1)+minw + delta; tensor[1][2] = rand()%(maxw-minw+1)+minw + delta; tensor[2][0] = tensor[0][2]; tensor[2][1] = tensor[1][2]; tensor[2][2] = rand()%(maxw-minw+1)+minw + delta; delta++; } punkt :: ~punkt(){ for(int i=0; i<3; i++) delete tensor[i]; delete tensor; } void punkt :: show(){ for(int i = 0; i<3; i++){ for(int j=0; j<3; j++){ cout<0){ u=cbrt(-q-sqrt(delta)); v=cbrt(-q+sqrt(delta)); tensor[0][0] = u+v+c; tensor[1][1] = 0; tensor[2][2] = 0; tensor[0][1] = 0; tensor[0][2] = 0; tensor[1][0] = 0; tensor[1][2] = 0; tensor[2][0] = 0; tensor[2][1] = 0; } if(delta<=0.){ r=hypot(-q,sqrt(-delta)); th=atan2(sqrt(-delta),-q); tensor[0][0] = 2*cbrt(r)*cos((th/3.))+c; tensor[1][1] = 2*cbrt(r)*cos((th+2*PI)/3.)+c; tensor[2][2] = 2*cbrt(r)*cos((th-2*PI)/3.)+c; tensor[0][1] = 0; tensor[0][2] = 0; tensor[1][0] = 0; tensor[1][2] = 0; tensor[2][0] = 0; tensor[2][1] = 0; } }