Wpis z mikrobloga

#algorytmy #programista15k #programowanie #cpp #grafika #grafika3d Czołem Mireczki, mam taki problem z optymalizacją, po optymalizacji zamiast lepiej - jest gorzej, oto problem chodzi o uniknięcie powtarzalnosci par:
1. mam chmurę np. 1000+ punktów w 3d
2. chcę utworzyć połaczenia pomiędzy wszystkimi punktami (każdy z kazdym) - (to połaczenie to geometria 3d w kształcie cylindra)
3. muszę uniknać powtarzajacych się par punktów (aby nie tworzyc dwóch cylindrów w tym samym miejscu) <- szukam optymalnego rozwiazania

No i w momencie kiedy NIE SPRAWDZAM czy pary punktów się powtarzają np. para (punkt100 i punkt250) to to samo co para (punkt250, punkt100) to mam znaczeni dużo lepszą wydajność - mimo że zamiast jednego połączenie (cylindra 3d) mam dwa - ale tak nie moze byc bo nakladajace się dwa cylindry beda powodowac artefakty..

Natępnie żeby wykryć powtarzajce się pary wkorzystałem kontener std::map i std::pair.. ale wydajność mocno spadła :(
jakieś pomysły? Niestety mamy tu for() w for() iw zaleznosci od ilosci punktów np 1000+ to robi sie wolniej, nie sprawdzalem jaki efekt da utworzenie kolejnego fora() zamist kontenerów std, poiżej fragment kodu:

https://www.codepile.net/pile/xd1LwNGA
  • 3