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.

Chyba nie będzie to specjalnie wymagające...
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[] tablica
x = new PointF[320];
for (i=1;i<tablica
x.Length;i++)
{
if (double.TryParse(B.Text,out b))
{
tablica
x[i].X = i;
tablica
x[i].Y = 150 + (float)Math.Pow(b*tablica
x[i].X,−1);
}
}
Rysownica.DrawLines(pioro, tablica
x);
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