Ako by ste v Delphi graficky znazornili prepojenia medzi uzlami?
Mam maticu ktora popisuje cesty medzi jednotlivymi uzlami a potrebujem to graficky znazornit. Nieje na to nejaka komponenta? Ako by ste to riesili vy?
Pokusal som sa nieco pohladat na www.builder.cz zatial neuspesne.
O komponente nevim.
Ale muzes to resit napr, pomoci TPainBox. Je to komponenta, do ktere kreslis v jeji udalosti OnPaint na jeji Canvas.
Kdyz si prvky matice promitnes jako pixely (nebo treba 10x10 pixelu), muzes bez problemu matici vykreslit a pomoci Canvas.LineTo propojit jednotlive body
Takze pokial som to dobre pochopil navrhujes cisla tych uzlov pouzit ako suradnice v ramci toho Canvasu (ja mam iba cislo uzla nemam druhu suradnicu => potrebujem este jednu maticu co popisuje umiestnenie toho bodu v ramci Canvasu) a pomocou Canvas.LineTo ich navzajom poprepajat tak ako to popisuje ta moja matica (tak to by mohlo byt).
1.) Pozrel som sa na Canvas.LineTo ma iba dve suradnice (X,Y) pre moje ucely by bolo lepsie asi Polyline.
2.) Privital by som este radu ako to vyriesit s tymi suradnicami samotneho uzla v ramci Canvasu?
Sorry ze sa do toho montujem ale uzly si predsa musis nejako rozdelit sam na plochu podla toho kolko ich je a co vyjadruju, napr. do n-uholnika alebo do riadkov/stlpcov po X uzloch (suradnice si vyratas, geometria zakl. skoly).
P.S. ak ide o to zobrazit uzly tak aby sa cesty nepretinali apod., tak to by bol potom predsa zmysel toho programu (to je to co mas vyriesit - suradnice uzlov), o takych veciach je cela matematicka disciplina (teoria grafov, a podobne somariny).
Canvas.LineTo ma sice jen 2 souradnice, ale protoze se jmenuje v prekladu "UseckaDo", znamena to, ze se kresli od posledni pozice.
Pokud bys v tom helpu kliknul na odkaz nahore "See also", uvidel bys metodu MoveTo, ktera ti nastavi prvni pozici. Pak budes pouze kreslit trasu pomoci LineTo.
Psal jsi, ze mas matici. Co znamena, ze mas pouze cislo uzlu ? Jak chces pak kreslit, kdyz nevis, kde jednotlive uzly lezi ?
MM..
To s tym rozdelenim uzlov do riadkov/stlpcov napadlo i mna a pre moje ucely to bude dostacujuce. Zaujimal ma nozor ostatnych ako by to riesili (mal som uviest viacej udajov).
Ide len o zobrazenie tej struktury aby sa nestalo ze nejaky bod je izolovany (vizualna kontrola) pripadne usek cez ktory prechadza viacero ciest by sa mohol zobrazit hrubsou ciarou.
Jan Fiala
Tak to som nevedel, dakujem.
Matica popisuje ako sa dostanem z uzla A do uzla X pretoze uzol A nemusi byt spojeny s uzlom X priamo ale musim ist cez dalsie uzly. Pouziva sa tam jeden algoritmus z teorie grafov.
Ak to zobrazis do mriezky, tak si ale potom daj pozor na ciary ktore vedu presne po uhlopriecke (budu ti pretinat uzly medzi nimi), by som tam urobil nejaku premyslenejsiu kontrolu na ciaru po uhlopriecke, a namiesto ciary nakreslil mierny obluk (funkcia na to bude urcite v delphi, Arc alebo ArcTo apod.)
Vdaka to je dobra pripomienka. Ak ma este niekto dalsie napady budem vdacny
optej se "strejdy": Teorie + grafů + algoritmus + vykreslování
http://www.google.com/search?as_q=teorie+graf%C5%AF +algoritmus+vykreslov%C3%A1n%C3%AD&num=10&hl=cs&btn G=Vyhledat+Googlem&as_epq=&as_oq=&as_eq=&lr=&as_ft= i&as_filetype=&as_qdr=all&as_occt=any&as_dt=i&as_si tesearch=
Omlouvám se, ale "podružnosti" ohledně teorie grafů jsem už fakt zapomněl, umím s nimi už řešit jen praktické problémy