Jump to content

noVaLue

Active Members
  • Posts

    162
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

noVaLue's Achievements

Newbie

Newbie (1/14)

14

Reputation

  1. Nu am explicat, dar am precizat de ce CE: N-2x>0 => N>2x => x<N/2 x > 0 Lungimea unei laturi nu poate fi negativa sau = 0(ar rezulta in alta forma geometrica, patrat ori punct), de aceea conditiile de existenta N-2x>0 si x>0 trebuiesc respectate 0 < x < N/2 De ce Derivata I egalata cu 0 ne va indica maximul functiei? Nu neaparat maximul, dar acela este cel ce ne intereseaza in cazul de fata. Derivata arata evolutia curbei, in cazul de fata evolutia volumului. x | 0 N/6 N/2 -6x+N|+++++++++++0----------------- -2x+N|+++++++++++++++++++++0------- -------------------------------------- V | CRESTE 0 SCADE 0 CRESTE |///| MAX |/////// Ultima linie reprezinta intervalul care ne intereseaza sa-l analizam
  2. Tot nu prea aveam ce face, asa ca am facut si o rezolvare in N. V = x*(N-2x)^2 = x*(4(x^2) - 4N(x) + N^2) = 4(x^3) - 4N(x^2) + N^2(x) CE: N-2x>0 => N>2x => x<N/2 x > 0 V'= 12(x^2) - 8N(x) + N^2 = 0 dt = 64(N^2) - 48(N^2) dt = 16(N^2) x1 = ( 8N + sqrt(16(N^2)) ) / 24 = ( 8N + 4N) / 24 = 12N / 24 x1 = N/2 => Imposibil x2 = ( 8N - sqrt(16(N^2)) ) / 24 = ( 8N - 4N) / 24 = 4N / 24 x2 = N / 6 N' = N-2x = N - 2(N/6) = N - N/3 N' = 2N/3 h = N/6 V = 2N^3/27
  3. Daca tot suntem la capitolul `hide and seek`. Deschidem browserul in 2 ferestre diferite, una pe paypal cealalta pe tastatura virtuala Free virtual keyboard online - virtual english keyboard online, english virtual keyboard - English virtual keyboard.su (google e plin). Scriem user si pass. Selectam cu mousul userul, aplicam drag and drop. Repetam operatia cu parola. Iar pentru evitarea uricarei monitorizari de pachete (ar lua mult mai mult timp decat 1 min)
  4. Da e amuzanta incriptarea, dar e unidirectionala. Cum preciza em, sunt o droaie de coliziuni pt sensul invers. Ele apar de la semnele care sunt transformate in litere. Ati putea merge pe aceeasi idee ca si cifrele, si anume utilizarea majusculelor. Iar 'hvwuyqrttxuzqsuwjtxbubqdqptdjdxt' nu mai are cum sa fie decriptat pt ca lungimea sa nu mai are nici un raport cu chunk urile care au fost incriptate. Ar trebui sa scrieti pe o foaie o schema mai detaliata a problemei De altfel nici nu am inteles cum de 'https' ajunge 'hvwuy' si nu 'ivwuy'
  5. 'O chestie din aia care se ascunde cand dai click' se numeste animatie. Un panel este animat sa 'dispara', sau sa reduca in dimensiune etc. Butonul este pe post de trigger, iar faptul ca img background se schimba(pt buton), face parte tot din 'animatie'. Din ce am reusit sa deslusesc, acel buton ar avea o animatie, in care imaginea oscileaza intre expand-contract, in functie de 2 lucruri: 1. nici unu din butoane nu a fost folosit, 2 un alt buton e folosit (deci schimbare imagine la butonul folosit) + schimbare imagine la butonul curent. Proprietatile sale ar fi identice cu cele ale unui tabpanel, ajutandu-i o animatie la panel gen slow-dropdown.
  6. Cum zicea si M2G, ai dat prea putine informatii. Cand lucrezi cu threaduri si functii care se bazeaza pe threaduri ( gen block on wait) totul e bine si frumos, caci threadul principal va fi blocat in asteptare la sfarsirea threadului curent, child (cel care are ca thread parent pe cel blocat, principal). Daca ai fi observat pe langa `synchronize` se poate utiliza `wait()`, cu ajutorul careia se poate implementa acest comportament. La baza un thread nu are nimic de a face cu un alt thread, daca ele sunt scrise in asa fel incat sa nu se opreasca (gen bucla while/for/recursive). Ele vor 'functiona in paralel', pana cand o eroare se va produce in threadul respectiv si se va opri, ori a fost fortat sa se opreasca. Chiar daca un thread se blocheaza celalalt poate continua sa ruleze, atat timp cat programul in sine nu blocheaza toate threadurile pe motiv de eroare mai grava. Noi nu stim cum functioneaza pipe urile tale, si ce comportament vrei ca programul sa abordeze.
  7. char numeFisierSursa; => inseamna un singur caracter Tu nu faci verificari pt f si ff, verificand daca fisierul a fost deschis (f != NULL) ori (ff != NULL) bac
  8. FILE *file; char *vIn, *vOut, *vEnd; int i = 0, dim; //read array dim from console printf("Introduceti dimensiunea:"); scanf("%d",&dim); //memory alocation for integer array vIn = (char*)malloc(dim*sizeof(char)); vEnd = vIn + dim; //read data from console while(vIn < vEnd) { printf("v[%d]=",i++); fflush(stdin); scanf("%c", vIn++); } //noVaLue// Operatiile matematice pt pointeri = deplasare a locatiei in memorie, // inspre adresa elementului urmator(sau cel ce reiese din operatie) // cu o magnitudine de vIn = (Pointer Memory Start) SEMN Amount // SEMN => +/-/\/*/^/% // unde Amount = (vIn sizeof(type))*dim, si semn - (in cazul de fata) // vIn-=dim; vIn=vIn-dim; //open binary file for write data if(( file = fopen("fisier.bin","wb")) == NULL) { printf("File open error!"); exit(1); } // write data in binary file fwrite(vIn, sizeof(char), dim, file); /* //noVaLue// Trebuie inchis fisierul inainte de a incerca sa-l redeschidem sub alt MOD. */ fclose(file); //open file for read data if ((file = fopen("fisier.bin", "rb")) == NULL) { printf("File open error2!"); exit(1); } vOut = (char*) malloc(sizeof(char)*dim); vEnd = vOut + dim; fread(vOut, sizeof(char), dim, file); // noVaLue // Atentie la faptul ca variabila ta este de tip char, ++ ne va muta in memorie la pozitia unui element // iar ceea ce ramane de facut este sa printam valoarea la care acea celula puncteaza // de aceea si printf("%c ", *vOut++); functioneaza while(vOut < vEnd) printf("%c ", (char)*vOut++); //close the file fclose(file);
  9. Da bravo, eu am incercat dar dupa 5 min s-a trezit un dobitoc sa dea cu un tool de scan in site... mi-am facut nervi si am renuntat.
  10. Adevarul e, ca nu a tinut mult testelor... Inafara de bugul cu UI la task manager care mananca resurse pentru 2 core, cand il misti, mai avem si bug cand stergi un proces sub numele utilizatorului. Imageshack - sanstitrexxn.png Ah si sa nu uitam eventuala eroare atunci cand isi da restart singur http://imageshack.us/f/72/sanstitre2af.png/
  11. Ca sa poti folosi texturi, trebuie sa le 'mapezi'. In ce sens? Pentru fiecare vertex vei mai avea 2 coordonate u si v spre exemplu, care sunt coordonatele texturei. In ce sens? 1 reprezinta intregul, 0.5 inseamna jumate dindistanta intre acele coordonate pentru vertex 1 si coordonatele penru vertex 2 (u, v). De asemenea scalar, poti alege 2, ceea ce va intinde textura de 2 ori. Acum ce intelegi prin mapping. Cand te apuci sa desenezi fetele la palyndromuri, trebuie sa-ti alegi o directie specifica (sensul acelor de ceas, ori opusul). Din moment ce ai acea directie atunci poti incepe sa desenezi textura pe fata care te intereseaza. Sa vad daca mai am vre-un exemplu de asa ceva. Revin cu un edit. Le:// (Am gasit proiectul, cum nu am mai avut timp sa-l termin de acum 2 ani, a ramas undeva la 10% din micul joculet care am incercat sa-l fac, si inca ma amuzam pe atunci sa fac ceva din ceea ce intelegeam). Le:2// Uitandu-ma la exemplul furnizat, folosesti desenatul antiorar, cred ca folosesti si gl_cull_face c++ - Using glDrawElements does not draw my .obj file - Stack Overflow c++ - How to call glDrawElements with static TexCoords and Dynamic Vertices - Stack Overflow Si cateva exemple, din proiect ( Nu zic ca e cel mai bun, e doar o idee ). TextureBMPLoader int num_texture = -1; int LoadBMP(char *p_filename, size_t deepthSz=4) { int i, j=0; FILE *l_file; unsigned char *l_texture; num_texture++; BITMAPFILEHEADER fileheader; BITMAPINFOHEADER infoheader; RGBTRIPLE rgb; if (p_filename[0] == '\0') return(-1); if((l_file = fopen(p_filename, "rb")) == NULL) return (-1); // Citeste din header bloc fread(&fileheader, sizeof(fileheader), 1, l_file); // Sarim in fisier acolo unde header tag ul se termina fseek(l_file, sizeof(fileheader), SEEK_SET); // Citeste informatiile din header fread(&infoheader, sizeof(infoheader), 1, l_file); // Alocam memorie pentru imagine (width * height * color deep) l_texture = (byte*) malloc(infoheader.biWidth * infoheader.biHeight * deepthSz); // Umplem cu \0 memset(l_texture, 0, infoheader.biWidth * infoheader.biHeight * deepthSz); for (i=0; i < infoheader.biWidth*infoheader.biHeight; i++) { // Citim valorile RGB al fiecarui pixel din fisier fread(&rgb, sizeof(rgb), 1, l_file); l_texture[j+0] = rgb.rgbtRed; // Red l_texture[j+1] = rgb.rgbtGreen; // Green l_texture[j+2] = rgb.rgbtBlue; // Blue // Alpha ( e calculata in modul cel mai simplu al intensitatii luminii. Pentru ceva mai complex ai putea utiliza. L = 0.2126·R + 0.7152·G + 0.0722·B ) // l_texture[j+3] = rgb.rgbtRed*0.2126 + rgb.rgbtGreen*0.7152 + rgb.rgbtBlue*0.0722; // De asemenea se poate implementa pentru fiecare textura, un cod alpha diferit (Be creative) l_texture[j+3] = (rgb.rgbtRed + rgb.rgbtGreen + rgb.rgbtBlue)/3; // Next Pixel j += 4; } // Dupa ce am terminat cu cititul fisierului, inchidem stream fclose(l_file); // Corelam textura si numarul ei glBindTexture(GL_TEXTURE_2D, num_texture); // Setam parametrii la texturi. glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); // If the u,v coordinates overflow the range 0,1 the image is repeated( that means scalar measures ) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); // The magnification function ("linear" produce rezultate mai ingaduitoare) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST); // Definim textura (pentru a fi recunoscuta glTexImage2D(GL_TEXTURE_2D, 0, 4, infoheader.biWidth, infoheader.biHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, l_texture); // Cream mipmaps pentru glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST); gluBuild2DMipmaps(GL_TEXTURE_2D, 4, infoheader.biWidth, infoheader.biHeight, GL_RGBA, GL_UNSIGNED_BYTE, l_texture); // Eliberam memoria folosita pentru citirea texturii(si va ramane in memorie doar cache texture) free(l_texture); return num_texture; } void setTexture(int texId) { glBindTexture(GL_TEXTURE_2D, texId); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); } [COLOR="#DAA520"]static const GLfloat squareTexCoord[] = { 0, 1, 1, 1, 0, 0, 1, 0, };[/COLOR] void tObject::DrawWorld() { for(int i=0; i < Build.noWObjs; i++) { if(Build.World[i].Param.Visible) { glPushMatrix(); for(int j=0; j< Build.World[i].noPolygons; j++) { // Set Texture and Colour glEnable(GL_TEXTURE_2D); setTexture(Build.World[i].Polygon[j].TextureId); glColor3f(Build.World[i].Polygon[j].Colour.x, Build.World[i].Polygon[j].Colour.y, Build.World[i].Polygon[j].Colour.z); [COLOR="#FFD700"]Aici vei introduce texturarea[/COLOR] [COLOR="#00FF00"]glVertexPointer(3,GL_FLOAT,0,a2);[/COLOR] [COLOR="#DAA520"]glEnableClientState(GL_VERTEX_ARRAY); glTexCoordPointer(2, GL_FLOAT, 0, squareTexCoord); glEnableClientState(GL_TEXTURE_COORD_ARRAY);[/COLOR] // Draw Polygon [COLOR="#FF0000"]glBegin(GL_POLYGON);[/COLOR] for(int k=0; k<Build.World[i].Polygon[j].noPoints; k++) { [COLOR="#FF0000"]glTexCoord2f(Build.World[i].Polygon[j].Point[k].u, Build.World[i].Polygon[j].Point[k].v); glVertex3f(Build.World[i].Location.x + Build.World[i].Polygon[j].Point[k].x, Build.World[i].Location.y + Build.World[i].Polygon[j].Point[k].y, Build.World[i].Location.z + Build.World[i].Polygon[j].Point[k].z);[/COLOR] [COLOR="#00FF00"]glDrawElements(GL_POLYGON,4,GL_UNSIGNED_BYTE,&indi ces9[4*k]);[/COLOR] } [COLOR="#FF0000"]glEnd();[/COLOR] [COLOR="#FFD700"]Aici vei opri texturarea[/COLOR] // Reset colour to default glColor3f(1.0, 1.0, 1.0); glDisable(GL_TEXTURE_2D); } glPopMatrix(); } } } La sfarsitul documentului vei gasi un exemplu exact, de cum poti face asa ceva. Source code samples: glTexCoordPointer example c/c++ PS:// Nu am incercat niciodata aces mod de a textura.
  12. Cum mi-e lene sa explic, ai aici tot ce-ti trebuie, doar ca trebuia sa cauti mai mult NeHe Productions: Lessons 06 - 10
  13. Vezi poate iti iei ban, scriptul nu are nimic, doar ca tu nu stii la ce ajuta exact.
  14. Stai sa vezi belea, ma uit in ele 5 min si le donez, daca nu gasesc nimic interesant... Eu am vrut sa scot mai mult din challenge, dar nu s-a putut
  15. http://webcamnow.com/wlogin?un=noVaLue&pw=crackm3&t=1337876303779 _admin_ hooper Incercase-m si asta http://webcamnow.com/api/acctstatus?un=, numai ca nu stiu sa-l parsez, doar daca as avea cont de admin, as putea sa-l prind in TamperData Le: iar daca te loghezi cu acel user e normal sa vezi sdb2343@freecamdates.com
×
×
  • Create New...