matematykaszkolna.pl
algorytmy Bartek: Czy zna ktoś może algorytm funkcji homograficznej do zastosowania np w c#? Tzn. wiem co to jest funkcja homograficzna i nawet zgodnie z tym, co jest na m.pisz.pl piszę w kodzie, ale cały czas zamiast krzywej rysuje mi poziomą linię prostą. Pomożecie? A tak w ogóle, to nie jest zadany projekt, tylko sam sobie go wymyśliłem i trochę mnie martwi, że mi nie wychodzi.
6 lut 14:16
Draghan: Nie za bardzo wiem, o co Ci chodzi. Zależy jeszcze, co piszesz − w najbardziej topornym przypadku − masz wzór tej funkcji i lecisz punkcik po punkciku w wybranym układzie odniesienia, podstawiając wartości, każda większa od poprzedniej o jakieś małe ale sensowne Δx. I musi wyjść według wzoru, nie ma siły.
6 lut 14:33
Bartek: No właśnie sęk w tym, że mnie zamiast krzywej rysuje się linia prosta. y= 1/a w dużym skrócie. y float, a float, wszystko w pętli for. Pętla for leci po tablicy pointf od 1 do 120. No i tak jak mówię. Rysunek się rysuję, ale nie krzywą, tylko poziomą linię prostą.
6 lut 14:38
Bartek: A tak swoją drogą, ci z wolframu to spece. U nich takie algorytmy to codzienność.
6 lut 14:39
wmboczek: bo pewnie 1/a traktuje jako dzielenie całkowitoliczbowe. Spróbuj 1.0/a
6 lut 14:42
Bartek: Dzięki za podpowiedź, ale niestety. Wpisałem 1.0F/a i cały czas rysuje linie prostą. Ja się pochlastam.
6 lut 14:59
Dziadek Mróz: Spróbuj Math.pow(a, −1)
6 lut 15:01
Bartek: Dzięki, to może być pomysł, tylko teraz mi krzyczy o dzieleniu przez zero. Może dlatego, że 1/2 widzi jako 0...,5 a że 5 nie widzi, to myśli, że...no nie wiem, już tak kombinuję jakoś...
6 lut 15:11
Bartek: Dobra, narysowało mi coś innego niż poziomą linię. Też nie to, co bym chciał, ale poruszam się do przodu.
6 lut 15:20
Draghan: Zamiast wykresu najpierw zbadaj wartości liczbowe, jakie Ci zwraca Twoja funkcja (ta matematyczna, homograficzna). Może ich analiza da Ci jakiś trop. Jeśli wartości będą dobre, musisz szukać błędu w algorytmie rysującym.
6 lut 15:23
Bartek: Czyli debagowanie krok po kroku. Tyle, że ja i bez tego zauważyłem, że to właśnie w algorytmie coś nie gra.
6 lut 15:27
Draghan: Napisz go od nowa. emotka Chyba nie będzie to specjalnie wymagające... emotka
6 lut 15:34
Bartek: Draghan, ja go cały czas piszę od nowa. Sęk w tym, że brakuje mi pomysłu co wpisać, że hulało jak należy. Algorytm: Rysownica = Graphics.FromImage(ramy.Image); PointF[] tablicax = new PointF[320]; for (i=1;i<tablicax.Length;i++) { if (double.TryParse(B.Text,out b)) { tablicax[i].X = i; tablicax[i].Y = 150 + (float)Math.Pow(b*tablicax[i].X,−1); } } Rysownica.DrawLines(pioro, tablicax); Teraz możecie napisać, że jestem tumanem. Algorytm jest banalny, a mój mózg...? no właśnie.
6 lut 15:40
Bartek: Ale okej, muszę dokładnie przedebagowac kod, tylko dzisiaj za bardzo mi już głowa puchnie: dwa apapy...te sprawy...
6 lut 15:43
Dziadek Mróz: @Bartek zmień tampona
6 lut 15:52