Utilizator:
Parola:
Am uitat parola... | Cont nou!


Articole Resurse Echipe Competiții Proiecte Forum DevBlogs Locuri de muncă GDROMag Issue#1 GDROCon 2007

 
Forum » Comunitate » Discuţii generale » Problema zilei




Pagina 3 din 3 [ 1 | 2 | 3 ]

Mesaj Info autor
    Postat la 12 Aug 2009 17:06:57    Subiect: Re: Re: Re:
Patrunjelu info:

Patrunjelu:

Deliverance a scris:


Sa zicem ca avem matricea:
a0 a4 a8 a12
a1 a5 a9 a13
a2 a6 a10 a14
a3 a7 a11 a15

O impartim in 4 blocuri asftel:
a0 a4 a8 a12
a1 a5 a9 a13

a2 a6 a10 a14
a3 a7 a11 a15

Pentru fiecare bloc verificam daca target>=min si target<=max. Daca nu se afla intre aceste margini nu mai procesam blocul respectiv. Face operatia asta pana cand fiecare bloc este redus la un singur element. Blocurile vor avea cam aceleasi dimensiuni(fiind diferenta de 1 linie sau 1 coloana maxim).

Esenta algoritmului este ca multe elemente vor fi eliminate foarte repede din procesare. Algoritmul seamana cu un culling pe un quadtree Very Happy. Hmm.. oare cum am ajuns de la o cautare de numar la game dev? Hihi Very Happy

Thanks pentru idee. O sa incerc sa o pun in practica pe un exemplu concret. Sunt sigur ca o sa-mi foloseasca intr-un anume moment Smile

Ultima editare efectuată de Patrunjelu pe 12 Aug 2009 17:07:13; 1 editări în total


Status:
Înregistrat pe:
08 Aug 2009 11:53:33
Vârsta: 19 ani
Mesaje: 16
Locatie: Alba, Blaj
Programator

 
    Postat la 12 Aug 2009 19:02:29    Subiect: < fara subiect >
Deliverance info:

Deliverance:

Okay, inca o problemutza de data asta mai simpla dar indeajuns de interesanta incat sa ai un "a - ha". Se da un numar x, sa se determine daca este putere a lui doi sau nu(de exemplu 1,2,4,8,16). 5 nu este putere a lui doi Very Happy. Cine poate gasi o solutzie in O(1)?!!!


Status:
Înregistrat pe:
13 Oct 2006 10:05:37
Vârsta: 25 ani
Mesaje: 253
Locatie: Iasi , Romania
Programator

 
    Postat la 12 Aug 2009 20:20:35    Subiect: < fara subiect >
MithY info:

MithY:

Parca se faceau niste operatii pe biti (cred ca sau) cu numarul respectiv si cu nr-1 dar nu mai stiu exact.

gamedev for life


Status:
Înregistrat pe:
25 Feb 2007 20:12:02
Vârsta: 22 ani
Mesaje: 443
Locatie: Iasi
Programator
Digital Void Entertainment
 
    Postat la 12 Aug 2009 21:05:55    Subiect: < fara subiect >
Deliverance info:

Deliverance:

MithY a scris:

Parca se faceau niste operatii pe biti (cred ca sau) cu numarul respectiv si cu nr-1 dar nu mai stiu exact.


Asa, da.. Ideea e ca un numar care este putere a lui doi are un singur bit de 1 si restul de 0. Sa luam un numar putere a lui 2 numit x. El are urmatoarea reprezentare:

1 . . . . 0 -> x
011 . . . 1 -> x-1

Punctele reprezinta sirul de biti(de 0). Acest numar e scris in little endian adica cel mai reprezentativ(important) bit este cel din stanga. Interesant este ca daca scadem 1 unitate din x, rezultatul va arata astfel:

Daca facem & pe biti intre aceste doua numere atunci obtinem 0. Mai exista cazuri cand putem obtine 0? Sigur ca da. De exemplu:

1110 &
0001
= 0
sau
1010 &
0101
= 0

O intrebare interesanta este: mai putem obtine 0, cand x nu este putere a lui 2 facand SI logic intre x si x-1? Nu chiar. Scazand 1 dintr-un numar anulam cel mai nesemnificativ bit. Exemplu x=5;
in baza 2: 5 = 101
in baza 2: 4 = 100
Este evident ca nu vom obtine 0 decat daca x este putere a lui 2. So there you have it !

Ultima editare efectuată de Deliverance pe 12 Aug 2009 21:06:37; 1 editări în total


Status:
Înregistrat pe:
13 Oct 2006 10:05:37
Vârsta: 25 ani
Mesaje: 253
Locatie: Iasi , Romania
Programator

 
    Postat la 12 Aug 2009 21:19:00    Subiect: < fara subiect >
Dark info:

Dark:

Doua linkuri pentru cei interesati de perversiuni cu biti: Bit Twiddling Hacks si Advanced bit manipulation-fu.

"Am crezut ca esti ceva mai avansat" - Nekitu, 2008 A.D.
Autobaza


Status:
Înregistrat pe:
12 May 2007 20:12:30
Vârsta: ? ani
Mesaje: 740
Locatie:
Programator

 
    Postat la 13 Aug 2009 09:24:00    Subiect: < fara subiect >
Black_Knight info:

Black_Knight:

What's the "condition" so that the following code snippet prints both HelloWorld !

if "condition"
printf ("Hello");
else
printf("World");


Status:
Înregistrat pe:
07 May 2007 19:49:43
Vârsta: 29 ani
Mesaje: 712
Locatie: Bucuresti
Programator

 
    Postat la 13 Aug 2009 11:09:29    Subiect: < fara subiect >
BloodRain info:

BloodRain:

Cod sursă:

if(!printf("Hello"))
    printf ("Hello");
else
    printf("World");
 
Very Happy


Status:
Înregistrat pe:
01 Sep 2008 11:26:22
Vârsta: 22 ani
Mesaje: 40
Locatie:
Programator

 
    Postat la 13 Aug 2009 14:12:27    Subiect: Re:
Sir Game-a-lot info:

Sir Game-a-lot:

Black_Knight a scris:

What's the "condition" so that the following code snippet prints both HelloWorld !

if "condition"
printf ("Hello");
else
printf("World");


Maltratand un pic cerinta:

if(1);
#define else ;
printf ("Hello");
else
printf("World");

Nine women working in perfect harmony can't have a baby in 1 month.


Status:
Înregistrat pe:
25 Aug 2007 18:20:41
Vârsta: 33 ani
Mesaje: 116
Locatie: Cluj-Napoca
Programator
Zamolxis Interactive
 

Pagina 3 din 3 [ 1 | 2 | 3 ]


Server time: 09:33:38 19.05.2012



[ Termeni si conditii | Contact | F.A.Q. | Funny Pictures ]

© 2006 - 2012 Copyright 7thFACTOR Entertainment - All rights reserved