algoritmus pro vykreslení křivky

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Z@chi 26. 4. 2008 14:00

Dobry den,
potřeboval by jsem algoritmus pro vykreslení zaoblené křivky.
jedná se o křivku, která se bude vykreslovat v grafu.
Vykresluji jednoduché grafy, kde po zadání souřadnic se jednotlivé souřadnice propojí.
Propojují se pouze přímou čarou a já potřebuju vykreslit zaoblení.
čili znám jednotlivé body a potřebuji mezi nimi proložit křivku.

Pro pochopení se můžete podívat na příklad:
http://grafy.zaachi.com/?type=line
- tohle jsou grafy, kde jsou body propojeny pouze přímou křivkou a já potřebuji tuto krivku zaoblit.

Na internetu jsem zatim nic pouzitelneho nenasel.
Dekuji
Z@chi
Junior
Uživatelský avatar

Odeslat příspěvekod Z@chi 26. 4. 2008 14:05

Z@chi
Junior
Uživatelský avatar

Odeslat příspěvekod aacid 26. 4. 2008 16:24

no myslim ze zaklad, ktory by mal byt kazdemu jasny ked si vyskusa ten graf nakreslit je, ze ked sa graf sklada z 10 bodov, tak bude hranaty, ked tych bodov bude 100, bude uz vyzerat trochu lepsie a ked ich bude trebars 100000, tak ziadnu hranatost uz neuvidis, bude sa ti zdat zaobleny...

samozrejme ze ich nemusi byt stotisic, zalezi od rozlisenia samotneho grafu...
aacid
Junior
Uživatelský avatar

Odeslat příspěvekod Z@chi 26. 4. 2008 16:37

No to je jasne, ale u kazdych trech bodu musis vypocitat zaobleni, ktere vznika pri jejich propojovani.

Kdyz napriklad chces sinusoidu a zadas na ose x body:
0, 1, 2, 3, 4, 5
a na ose y body:
1, 2, 1, 2, 1, 2
aby jsi nedostal hranaty graf, ale sinusoidu.
Pri propojovani bude vznikat zaobleni, ktere prave ja potrebuju dopocitat.
Z@chi
Junior
Uživatelský avatar

Odeslat příspěvekod Klesta490 27. 4. 2008 09:43

Pouzij NURBS nebo BSPLINE

Tady sem ti vygooglil: http://www.root.cz/clanky/krivky-nurbs-1/
Co můžeš udělat dnes, odlož na pozítří a získáš tak 2 dny volna!!! :-)
Klesta490
Junior
Uživatelský avatar

Odeslat příspěvekod Z@chi 27. 4. 2008 10:25

Diky.
Z@chi
Junior
Uživatelský avatar

Odeslat příspěvekod aacid 27. 4. 2008 10:43

Z@chi píše:No to je jasne, ale u kazdych trech bodu musis vypocitat zaobleni, ktere vznika pri jejich propojovani.

Kdyz napriklad chces sinusoidu a zadas na ose x body:
0, 1, 2, 3, 4, 5
a na ose y body:
1, 2, 1, 2, 1, 2
aby jsi nedostal hranaty graf, ale sinusoidu.
Pri propojovani bude vznikat zaobleni, ktere prave ja potrebuju dopocitat.


si vobec nepochopil co som ti napisal, skus si to zobrazit trebars aj v exceli.
ked zadas 0,1,2,3,4,5 tak bude ten graf hranaty, ale ked uz zadas 0, 1/2, 1, 3/2, 2, 5/2, 3, 7/2, 4, 9/2, 5 tak uz bude hranaty menej... a keby si zobral 100 hodnot vsetky medzi 0 a 5, tak uz ti to bude pripadat krasne zaoblene...

to je ten najjednoduchsi algoritmus...
aacid
Junior
Uživatelský avatar

Odeslat příspěvekod _BoB_ 27. 4. 2008 11:04

aacide, trošku mimo mísu, ne? Říká ti něco spline? Nebo aspoň polynom?
_BoB_
Junior

Odeslat příspěvekod Yarda 27. 4. 2008 11:35

Mně to připomíná předmět "Syntéza lineárních obvodů" kde byly dány body a hledal se polynom který by vytvořil křivku těmito body proloženou (a pak se podle toho předpovídalo počasí nebo co). Samozřejmě jsem už dávno zapomněl i to málo co jsem věděl.
Svět je divadlo, které se jen proto tak špatně hraje, abych já se měl čemu smát. Ladislav Stroupežnický
Yarda
Junior
Uživatelský avatar

Odeslat příspěvekod Z@chi 27. 4. 2008 11:41

2aacid: diky za snahu, bohuzel ty nechapes co ja potrebuji.
Nicmene diky vsem. Uz to mam.
Z@chi
Junior
Uživatelský avatar


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků