Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Wiadomości - beem

Strony: [1] 2 3 4 5 ... 14
1
Projekty zaawansowane / Pivotris
« dnia: Kwiecień 13, 2017, 01:54:39 »
Przedstawiam mój tetrisowy projekt, czyli Pivotris. Pomysł na grę wziął się stąd, że chciałbym zagrać w tetrisa na obróconym monitorze, tzn. ustawionym w pozycji vertykalnej, która wydaje się najbardziej optymalną. Dotychczas nie znalazłem takiej gry, więc postanowiłem napisać ją sobie sam.

Póki co jest zrobiona: logika, jako taka grafika. Jest też obsługa gamepadów i pivota, ale dopiero jak dodam menu to będzie można te rzeczy włączyć prosto z gry. Gra powinna wyświetlać się na każdych rozdzielczościach począwszy od 800x600 wzwyż, niezależnie od proporcji ekranu.

Grę można pobrać stąd: http://www.mediafire.com/file/vg9x735vz35wyl5/Pivotris0.1.rar
Link do projektu: https://warsztat.gd/projects/pivotris

2
Unity 3D / Odp: Zaciemnianie kodu
« dnia: Luty 14, 2017, 12:49:14 »
Ja na waszym miejscu próbowałbym dystrybuować grę przez Steam - prawie zerowe piractwo, dużo szersze grono odbiorców.

3
Matematyka i fizyka / Odp: Liczby Bernoulliego - algorytm
« dnia: Styczeń 10, 2017, 22:17:13 »
Wygląda to rzeczywiście na małą precyzję double. Winne jest tu dzielenie w pierwszej pętli for. Na szczęście już sobie z tym problemem poradziłem, użyłem innego algorytmu. GMP nie działa z chyba Visualem a szkoda.

4
Matematyka i fizyka / Liczby Bernoulliego - algorytm
« dnia: Styczeń 09, 2017, 14:12:37 »
Mam problem z uzyskaniem kolejnych liczb Bernoulliego. Używam algorytmu Akiyama–Tanigawy, który u mnie wygląda tak:
double bernoulli_number(unsigned int n)
{
double* A = new double[n+1];

for (unsigned int m = 0; m <= n; m++)
{
A[m] = 1.0 / (m + 1.0);

for (unsigned int j = m; j > 0; j--)
{
A[j - 1] = j*(A[j - 1] - A[j]);
}
}

double res = A[0];

delete[] A;

return res;
}

Algorytm działa, ale każda kolejna liczba zaczyna być opatrzona coraz to większym błędem. Np dla 30 kolejnych liczb otrzymuje się:
1 0.5
2 0.1666666666666666
3 -2.220446049250313e-16
4 -0.03333333333333399
5 1.77635683940025e-15
6 0.02380952380956758
7 3.794742298168785e-13
8 -0.03333333333154209
9 -1.044986319698182e-11
10 0.07575757526731397
11 -9.93349424938117e-09
12 -0.2531137033204133
13 -1.556503844035717e-06
14 1.166667679153587
15 0.0006419491273961242
16 -7.068502074522296
17 0.6405601281966771
18 69.99698015616998
19 323.0140711709549
20 5986.641669860796
21 120040.0651014931
22 1589860.901390899
23 -19576696.20832111
24 -3163545259.292155
25 -195508362222.1589
26 -9583584454807.713
27 -413822699863629.6
28 -1.630954724494887e+16
29 -5.98305130690999e+17
W miejscach nieparzystych 3, 5, 7 itd powinno być 0.0. Np B18 = 54.97 a u mnie 69.99.
Ktoś wie co może być przyczyną tak szybko rosnącego błędu? Wydaje mi się, że to jest błąd zaokrąglenia, ale może są to jakieś ustawienia kompilatora.

5
OpenGL / Odp: Renderowanie wielu okien i rwanie klatek
« dnia: Październik 15, 2015, 12:30:54 »
To jest chyba bolączka kart graficznych, że mają problem z rysowaniem na kilku osobnych oknach jednocześnie. Może lepiej zrobić jedno okno + kilka viewportów albo zmienić kartę graficzną coś na w stylu Quadro;)

6
Szkółka / Odp: Okreslanie wspoliniowosci trzech punktow.
« dnia: Sierpień 21, 2015, 23:52:57 »
Nie rozwiązuje to jednak problemu z precyzją obliczeń i w efekcie tą metodą nie jesteś w stanie ustalić, czy punkty są na pewno na jednej prostej, czy tylko tak mniej więcej.
Metoda z prostą pod postacią Ax+By+C = 0 też jest obarczona błędem precyzji, jak w zasadzie każda gdzie stoi znak równości.

Jeszcze inny sposób, który mi przyszedł do głowy to zbudowanie dwóch wektorów z trzech punktów zaczepionych w jednym i wyznaczenie kąta między nimi. Jeśli kąt wyjdzie 180 stopni to punkty są współliniowe.

7
Szkółka / Odp: Okreslanie wspoliniowosci trzech punktow.
« dnia: Sierpień 21, 2015, 11:48:45 »
Nie zawsze. Jeśli mają tą samą współrzędną X to nijak Ci równanie w tej postaci nie wyjdzie. Poza tym współrzędne na wejściu są całkowite, a przechodząc do tej postaci 'a' musi być rzeczywiste, więc zapraszasz tu błędy precyzji.
Niestety nie każdej prostej, jak powyżej.

Fakt trzeba by policzyć wcześniej czy te punkty mają różne współrzędne x x1 =/= x2 =/= x3 i dopiero wtedy liczyć równanie prostej.

Prościej byłoby policzyć pole powierzchni trójkąta S, którego wierzchołkami są te punkty. Jeśli S = 0 to są one współliniowe. S można wyliczyć z:
            | x1 y1 1 |
S = det| x2 y2 1 |
            | x3 y3 1 |

8
Szkółka / Odp: Okreslanie wspoliniowosci trzech punktow.
« dnia: Sierpień 21, 2015, 00:35:07 »
Mamy trzy punky: P1 = (x1,y1), P2 = (x2,y2) i P3 = (x3, y3). Przez dwa punkty zawsze można poprowadzić prostą (mówią o tym dwa pierwsze aksjomaty Euklidesa). Równanie tej prostej można zapisać w postaci y = ax+b, gdzie a i b można znaleźć podstawiając współrzędne dwóch pierwszych punktów. Wtedy otrzymamy układ równań: y1 = a*x1 + b i y2 = a*x2 + b. Znając a i b można sprawdzić czy trzeci punkt leży na tej prostej jeśli spełniona jest równość: y3 = a*x3 + b. Można też spróbować sprawdzić czy te trzy punkty tworzą trójkąt. Jeśli tak to nie leżą na prostej i vice versa.

9
Szkółka / Odp: Okreslanie wspoliniowosci trzech punktow.
« dnia: Sierpień 21, 2015, 00:18:41 »
I po co tak kombinować? Dwa punkty zawsze są współliniowe i tworzą pewną prostą o równaniu y = ax+b. Trzeci punkt jest współliniowy jeśli leży na tej prostej. Współczynniki a, b można znaleźć podstawiając współrzędne dwóch pierwszych punktów.

10
C++ / Odp: Wczytywanie obj - wyrażenia regularne
« dnia: Kwiecień 06, 2015, 21:33:09 »
Prostszy? W życiu. No chyba że piszesz loader (lub nawet plik) pod konkretny eksporter z konkretnym formatem nagłówka.
Jak dla mnie jest prostszy, wczytuje nagłówek i mam wszystko jak na tacy: ile wierzchołków, trójkątów, atrybuty wierzchołka itp. Samo wczytanie nagłówka to nie jest jakaś filozofia. Poza tym .ply przechowuje tylko listę trójkątów, co najwyżej quadów za to obj trafiają się kilkunastokąty, które trzeba rozbijać na pojedyńcze trójkąty i wtedy dopiero jest zabawa.
A OBJ ma to do siebie, że raz napiszesz i wczytasz każdy plik z koniecznością co najwyżej przestawiania osi, skrętności trójkątów i skali.
To samo można napisać o ply.

Wadą ply jest przechowywanie tylko jednego obiektu na plik, co utrudnia sprawę przy eksporcie jak mamy model składający się z kilku obiektów, ale do przechowywania surowej (pojedyńczej) geometrii i tak lepiej sprawuje się niż obj.

11
C++ / Odp: Wczytywanie obj - wyrażenia regularne
« dnia: Kwiecień 06, 2015, 20:20:49 »
W .ply się kiedyś bawiłem i niezbyt się moim zdaniem nadawał. Przede wszystkim .ply trzyma tylko jeden obiekt, a .obj może ich trzymać ile wlezie (grupy) dodatkowo do każdego dodając nazwę, dzięki czemu w .obj można wyeksportować nawet całą mapę. Po drugie, .ply ma dość uniwersalny nagłówek, co w naszych zastosowaniach bardziej przeszkadza niż pomaga. A w .obj po prostu jest zawsze to samo podane w ten sam sposób i kwita.

Ale .ply ma też zalety względem .obj. Po pierwsze szybciej się wczytuje, loader też jest prostszy do napisania. Po drugie w .obj w przeciwieństwie do ply nie wspiera indeksowania wierzchołków co przekłada się na wydajność, a po trzecie z geometrii zapisanej w obj niewłaściwie generują się wektory tangent (przynajmniej w moim przypadku), zatem odpada wsparcie dla normalmappingu.

12
Sprzedam / Odp: Asus Nexus 7 Quad Core 16GB GB Wersja
« dnia: Czerwiec 12, 2013, 16:33:52 »
A tak z ciekawości, gdzie go wygrałeś?

13
Gry / Odp: NFS: Porsche 2000 w 1080
« dnia: Grudzień 05, 2012, 08:19:28 »
Masz pecha, bo NFS Porsche jest jedną z niewielu gier, w których nie da się ustawić niestandardowej rozdzielczości http://www.wsgf.org/dr/need-speed-porsche-unleashed.

14
Matematyka i fizyka / Odp: Obliczenie obwodu dowolnej bryły3D
« dnia: Listopad 12, 2012, 13:45:40 »
Można i tak. Dla każdej krawędzi trójkąta zrób test płaszczyzna-krawędź i policz punkt przecięcia. Musisz wyznaczyć dwa takie punkty, żeby otrzymać odcinek potrzebny do obliczenia obwodu.

15
Matematyka i fizyka / Odp: Obliczenie obwodu dowolnej bryły3D
« dnia: Listopad 12, 2012, 13:01:45 »
Ciężka sprawa, gdyby to była bryła parametryczna to jeszcze jakoś by się dało policzyć. W tym wypadku jedyne co mi przychodzi do głowy to polyczyć przecięcie płaszczyzny i każdego trójkąta, wyznaczyć odcinek takiego przecięcia i zsumować go dla wszystkich przecięć co da obwód.

Strony: [1] 2 3 4 5 ... 14