Witaj Gościu ( Zaloguj | Rejestruj )

 
Reply to this topicStart new topic
[Delphi] Wykresy funkcji
Marek M
post pon, 08 mar 2010 - 13:41
Post #1


Nowy na forum


Grupa: Użytkownicy
Postów: 12
Dołączył: sob, 30 sty 10
Nr użytkownika: 2,031



Cześć

Jak Waszym zdaniem najlepiej zrobić rysowanie wykresów?

Jest jakieś pole gdzie wpisuje się formułę typu x*sin(2*x), a na kanwie będzie namalowany wykres.

Jak szybko analizować formuły i przechowywać je w pamięci w formie niewymagającej już ponownego parsowania?
Go to the top of the page
 
+Quote Post
Toster
post pon, 08 mar 2010 - 14:24
Post #2


Archon


Grupa: Moderatorzy
Postów: 1,869
Dołączył: pią, 28 paź 05
Skąd: Wieża Archona
Nr użytkownika: 10
Gadu-Gadu: posiadam



1) ale w ktorej wersji delphi bo w niektorych sa komponenty w niektorych nie ma.
2) jesli wpisujesz formule to masz jakis parser do analizy tego wzoru aby wyliczyc wartosc, wiec nie rozumiem o co ci chodzi z drugim pytaniem.


--------------------
Always Dark
Obrazek Obrazek Obrazek
Go to the top of the page
 
+Quote Post
Marek M
post pon, 08 mar 2010 - 15:11
Post #3


Nowy na forum


Grupa: Użytkownicy
Postów: 12
Dołączył: sob, 30 sty 10
Nr użytkownika: 2,031



1) Tak naprawdę, to nie wiem, czy w ogóle będę to robił w delphi.. prawdopodobnie w Javie..
2) Chodzi mi o to, że jak będę miał wykres, powiedzmy 1000 punktów na osi OX, to będę musiał parsować 1000 razy, zamiast raz. Myślałem, żeby zrobić jakiś stos wskaźników na funkcje, gdzie podstawiałbym po prostu dany x. Ale wolałbym jakieś prostsze rozwiązanie
Go to the top of the page
 
+Quote Post
Toster
post pon, 08 mar 2010 - 18:58
Post #4


Archon


Grupa: Moderatorzy
Postów: 1,869
Dołączył: pią, 28 paź 05
Skąd: Wieża Archona
Nr użytkownika: 10
Gadu-Gadu: posiadam



1) Czyli pytasz jak zrobic cos w delphi planujac pisac w javie ? ok nie wnikam
2) na wykres wystarczy ze dodasz tyle punktow jaka masz podzialke na osi X, ale ok. Funkcje parsujesz raz, ale liczysz 1000 razy. Nie wiem o co chodzi z stosem wskaznikow na funkcje mam wrazenie ze popuszczasz wodze fantazji. Sprawa dla mnie jest prosta i oczywista i sklada sie z punktow:
a) wprowadzasz wzor (np. string)
cool.gif przepuszczasz wzor przez parser, ktory wyznacza sobie metode obliczeniowa (ONP, atomizacjia czy co tam wybierzesz)
c) wywolujesz w petli metode na parserze(?) albo klasie proxy(?) ktora potrafi obliczyc wartosc funkcji wsadzonej w parser z punktu b
d) rysujesz to co policzyles w punkcie c


--------------------
Always Dark
Obrazek Obrazek Obrazek
Go to the top of the page
 
+Quote Post
Marek M
post pon, 08 mar 2010 - 19:15
Post #5


Nowy na forum


Grupa: Użytkownicy
Postów: 12
Dołączył: sob, 30 sty 10
Nr użytkownika: 2,031



no wlasnie o to mi chodzilo.

"wyznacza sobie metode obliczeniowa" + ONP to będzie jakiś taki stos, z którego będziemy brać operatory / operandy i liczyć.

Tyle że jak będą tam stringi w stylu "2", "3","+" to chyba da się to tylko "if'ować" że jak taki operator to taka akcja.
A ja chciałem zrobić żeby to było "2", "3", adres_fcji, żeby nie if'ować tylko wykonać po kolei


chyba ze coś pokrecilem wink.gif
Go to the top of the page
 
+Quote Post
Toster
post pon, 08 mar 2010 - 21:06
Post #6


Archon


Grupa: Moderatorzy
Postów: 1,869
Dołączył: pią, 28 paź 05
Skąd: Wieża Archona
Nr użytkownika: 10
Gadu-Gadu: posiadam



1) wybierz najpierw jezyk bo nie wszystko w kazdym jezyku da sie zrobic tak samo.
2) zrob najpierw najprostrza rzecz pozniej bierz sie za bardziej zaawansowane. Jak nie masz doswiadczenia i od razu wezmiesz sie za pointery na metody + stosy i rzutowania to polegniesz


--------------------
Always Dark
Obrazek Obrazek Obrazek
Go to the top of the page
 
+Quote Post
Marek M
post pon, 08 mar 2010 - 21:24
Post #7


Nowy na forum


Grupa: Użytkownicy
Postów: 12
Dołączył: sob, 30 sty 10
Nr użytkownika: 2,031



CYTAT(Toster @ pon, 08 mar 2010 - 21:06) *

1) wybierz najpierw jezyk bo nie wszystko w kazdym jezyku da sie zrobic tak samo.
(...)


Hehe, i właśnie dlatego piszę w forum Delphi, bo to język prosty i używany raczej przez początkujących wink.gif
Co do 2)... miałem to na myśli pisząc pytanie: gdybym mógł użyć c++, to zrobiłbym tak jak opisałem, a jak to zrobić "optymalniej" gdy nie ma wskaźników na funkcje?
Go to the top of the page
 
+Quote Post
Toster
post pon, 08 mar 2010 - 21:35
Post #8


Archon


Grupa: Moderatorzy
Postów: 1,869
Dołączył: pią, 28 paź 05
Skąd: Wieża Archona
Nr użytkownika: 10
Gadu-Gadu: posiadam



CYTAT(Marek M @ pon, 08 mar 2010 - 21:24) *

Hehe, i właśnie dlatego piszę w forum Delphi, bo to język prosty i używany raczej przez początkujących wink.gif


loool, to mnie rozbawiłeś smile.gif

co do metody optymalnej to najpierw odpowiedz sobie na pytanie co to znaczy optymalna metoda.
jesli chcesz robic ze wskaznikami na funkcje w delphi mozesz to zrobic bez problemu w javie tak sie nie da, ale java daje sie automatycznie In/OutBoxing wiec nie musisz martwic sie stringiem o ktorym wspominales na poczatku


--------------------
Always Dark
Obrazek Obrazek Obrazek
Go to the top of the page
 
+Quote Post
Marek M
post pon, 08 mar 2010 - 22:51
Post #9


Nowy na forum


Grupa: Użytkownicy
Postów: 12
Dołączył: sob, 30 sty 10
Nr użytkownika: 2,031



ad java: ale nie da się pominąć fazy "if then" przy pobieraniu operatora, tak?

ps. napisałem optymalniej, a nie optymalnie tongue.gif
Go to the top of the page
 
+Quote Post
Toster
post pon, 08 mar 2010 - 23:29
Post #10


Archon


Grupa: Moderatorzy
Postów: 1,869
Dołączył: pią, 28 paź 05
Skąd: Wieża Archona
Nr użytkownika: 10
Gadu-Gadu: posiadam



faze if/then mozna zrobic w parserze, ktory pozniej moze przykladowo zamienic operatory +- itd na obiekty odpowiednich klas, a obiekty mozna ustawic np w liste jednokierunkowa. Wtedy przy obliczeniach nie bedzie if'ow. Jesli dobrze rozumiem o co ci chodzi.


--------------------
Always Dark
Obrazek Obrazek Obrazek
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: piątek, 10 wrzesień 2010 - 22:51