Spojení několika bodů čarou - Small Basic Vyřešeno
Spojení několika bodů čarou - Small Basic
Potřebuji nareslit zahnutou čáru... Mohl by mi někdo poradit, jak spojit ty body čarou? Díky
Naposledy upravil(a) PetrJan dne 22 kvě 2012 19:21, celkem upraveno 1 x.
Re: Spojení několika bodů čarou
Musíš spočítat jednotlivé body, nebo nepříliš vzdálené body na křivce, a sousední dvojice spojit čarou. Ukázka přímo z příručky: GraphicsWindow.DrawLine(prevX, prevY, x, y)
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
Re: Spojení několika bodů čarou
Díky, tak už mi to kreslí parabolu... Ale jak odeberu tu první přímou čáru?
Díky
Kód: Vybrat vše
x[1]=-10
x[2]=-9
x[3]=-8
x[4]=-7
x[5]=-6
x[6]=-5
x[7]=-4
x[8]=-3
x[9]=-3
x[10]=-1
x[11]=0
x[12]=1
x[13]=2
x[14]=3
x[15]=4
x[16]=5
x[17]=6
x[18]=7
x[19]=8
x[20]=9
x[21]=10
For i = 1 To 21
y[i] = x[i]*x[i]
EndFor
For i = 1 To 21
GraphicsWindow.DrawLine(((x[i]+52)*5), (y[i]*5), ((prewX+52)*5), (prewY*5))
prewX = x[i]
prewY = y[i]
EndFor
Díky
- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Spojení několika bodů čarou
DrawCurve?
v čem to programuješ? kreslíš? maluješ? řežeš?
v čem to programuješ? kreslíš? maluješ? řežeš?
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Re: Spojení několika bodů čarou
Small Basic...
Re: Spojení několika bodů čarou - Small Basic
Takže už jsi přišel na to jak udělat zvětšení a posunutí 
Já bych zkusil ještě trochu jiné řešení:
Je to v QBasicu, takže tu mám velikost plochy pouze 640*480, a čemu odpovídají příkazy LINE a NEXT si asi domyslíš, stejně jako to, proč tahle smyčka počítá jen do 20... Zvýraznil jsem ti ty body na křivce:
Hádám že ta první čára vychází z levého horního rohu, tedy souřadnic 0,0. Zapomněl jsi do proměnných prevX a prevY vložit nějakou hodnotu, takže jsou v nich zatím nuly. Kdyby to byl jiný jazyk, třeba C, byl by jejich obsah náhodný, podle toho co na místě kde se v paměti nacházejí bylo při jejím minulém použití!
Mohl bys jim před začátkem smyčky přiřadit hodnoty x(1) a y(1), a smyčku počítat až od 2.

Já bych zkusil ještě trochu jiné řešení:
Kód: Vybrat vše
meritkoX = 30
meritkoY = 3
FOR i = 1 TO 20
LINE (x(i)*meritkoX+320, 400-y(i)*meritkoY) - (x(i+1)*meritkoX+320, 400-y(i+1)*meritkoY)
NEXT i
Je to v QBasicu, takže tu mám velikost plochy pouze 640*480, a čemu odpovídají příkazy LINE a NEXT si asi domyslíš, stejně jako to, proč tahle smyčka počítá jen do 20... Zvýraznil jsem ti ty body na křivce:
Hádám že ta první čára vychází z levého horního rohu, tedy souřadnic 0,0. Zapomněl jsi do proměnných prevX a prevY vložit nějakou hodnotu, takže jsou v nich zatím nuly. Kdyby to byl jiný jazyk, třeba C, byl by jejich obsah náhodný, podle toho co na místě kde se v paměti nacházejí bylo při jejím minulém použití!
Mohl bys jim před začátkem smyčky přiřadit hodnoty x(1) a y(1), a smyčku počítat až od 2.
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
Re: Spojení několika bodů čarou - Small Basic
Jo, na to jsem již přišel...
mám přepsané to Vaše do SB, ale ve SB to začíná na souřadnicích [0;0], takže u mě, když to mám posunuté [260;0] a poté až jede na další souřadnice..
dále mám parabolu vzhůru nohama :( vrchol má nahoře...
to je jedno, s dovolením použiji Vaše ření
dále mám dotaz, kam dát osový kříř
Díky moc
mám přepsané to Vaše do SB, ale ve SB to začíná na souřadnicích [0;0], takže u mě, když to mám posunuté [260;0] a poté až jede na další souřadnice..
dále mám parabolu vzhůru nohama :( vrchol má nahoře...
to je jedno, s dovolením použiji Vaše ření
dále mám dotaz, kam dát osový kříř
Díky moc
- domitea
- Tvůrce článků
-
Level 4.5
- Příspěvky: 1971
- Registrován: červen 09
- Bydliště: Královehradecký kraj
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Spojení několika bodů čarou - Small Basic
Vypočítat souřadnice středu......
Re: Spojení několika bodů čarou - Small Basic Vyřešeno
To obrácení vzhůru nohama zařídí právě to 400-y(i), tím pádem mám i osu x na souřadnicích (x,400).
Osa y ti stejným způsobem vyjde přesně tam, kam sis posunul nulu na ploše, takže (260,y).
Osa y ti stejným způsobem vyjde přesně tam, kam sis posunul nulu na ploše, takže (260,y).
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
Re: Spojení několika bodů čarou - Small Basic
Jo, díky moc... Použil jsem Vaši metodu a hotovo.
Ještě jednou díky moc
Kód: Vybrat vše
TextWindow.WriteLine("Zadej číslo funkce, které graf chceš zobrazit:")
TextWindow.WriteLine("1 - y = x^2")
TextWindow.WriteLine("2 - y = x+2")
Znovu:
operace = TextWindow.ReadNumber()
If operace = 1 Then
x[1]=-10
x[2]=-9
x[3]=-8
x[4]=-7
x[5]=-6
x[6]=-5
x[7]=-4
x[8]=-3
x[9]=-3
x[10]=-1
x[11]=0
x[12]=1
x[13]=2
x[14]=3
x[15]=4
x[16]=5
x[17]=6
x[18]=7
x[19]=8
x[20]=9
x[21]=10
For i = 1 To 21
y[i] = x[i]*x[i]
EndFor
FOR i = 1 TO 20
GraphicsWindow.DrawLine(x[i]*3+260, 300-y[i]*3, x[i+1]*3+260, 300-y[i+1]*3)
EndFor
GraphicsWindow.DrawLine(260, 10, 260, 510)
GraphicsWindow.DrawLine(10, 300, 510, 300)
ElseIf operace = 2 Then
GraphicsWindow.DrawLine(260, 10, 260, 510)
GraphicsWindow.DrawLine(10, 300, 510, 300)
x[1]=-10
x[2]=-9
x[3]=-8
x[4]=-7
x[5]=-6
x[6]=-5
x[7]=-4
x[8]=-3
x[9]=-3
x[10]=-1
x[11]=0
x[12]=1
x[13]=2
x[14]=3
x[15]=4
x[16]=5
x[17]=6
x[18]=7
x[19]=8
x[20]=9
x[21]=10
For i = 1 To 21
y[i] = x[i]+2
EndFor
FOR i = 1 TO 20
GraphicsWindow.DrawLine(x[i]*15+200, 300-y[i]*15, x[i+1]*15+200, 300-y[i+1]*15)
EndFor
Else
TextWindow.WriteLine("Špatně, zadej 1 nebo 2")
Goto Znovu
EndIf
Ještě jednou díky moc
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 7
- 4299
-
od vasekpetr1
Zobrazit poslední příspěvek
03 úno 2025 10:39
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti