Kirjoittaja: Sami
Kirjoitettu: 24.03.2003 – 24.03.2003
Tagit: grafiikka, koodi näytille, vinkki
Eli siis näin lyhyesti tämä piirtää näytölle säännölisen monikulmion kaikkine lävistäjineen.
' Tämän ohjelman ideana on piirtää säännöllisiä monikulmioita ja niille kaikki lävistäjät
SCREEN 12
CLS
CONST pii = 3.141592654#
DIM kulma AS SINGLE
DIM kulmia AS INTEGER
kulmia = 10 ' Näitä viittä voi luonnollisesti muuttaa saadakseen erilaisia kuvioita aikaiseksi
koko = 200
keskix = 320
keskiy = 240
vari = 4
TYPE xy
x AS INTEGER
y AS INTEGER
END TYPE
DIM kulmat(1 TO kulmia) AS xy ' Varaa taulukon kulmille
kulma = (2 * pii / kulmia) / 2 ' Kiertää kuviota hieman ettei kuviot seisoisi kärjellään
FOR i = 1 TO kulmia ' Laskee kulmien sijainnit
kulmat(i).x = SIN(kulma) * koko + keskix ' kulman x-koordinaatin laskeminen
kulmat(i).y = COS(kulma) * koko + keskiy ' kulman y-koordinaatin laskeminen
kulma = kulma + (2 * pii) / kulmia ' Muuttaa keskuskulman suuruutta, jotta pisteet olisivat ympyrän kehällä tasaisin välein
NEXT i
FOR a = 1 TO kulmia
FOR b = a TO kulmia
LINE (kulmat(a).x, kulmat(a).y)-(kulmat(b).x, kulmat(b).y), vari ' Piirtää kaikki reunat ja lävistäjät
NEXT b
NEXT aAiniin, jos haluatte vai reunaviivat näkyviin korvatkaa tämä:
FOR a = 1 TO kulmia
FOR b = 1 TO kulmia
LINE (kulmat(a).x, kulmat(a).y)-(kulmat(b).x, kulmat(b).y), vari ' Piirtää kaikki reunat ja lävistäjät
NEXT b
NEXT atällä:
for a = 1 to kulmia - 1 line (kulmat(a).x,kulmat(a).y)-(kulmat(a+1).x,kulmat(a+1).y) next a line (kulmat(kulmia).x,kulmat(kulmia).y)-(kulmat(1).x,kulmat(1).y)
heh, aika yksinkertanen mutta silti toi on vaikee :)
jooh...
Kai tosta on jollekkin apua..
Jos ei muuten, niin voihan sitä muutella hieman hauskemmaksi ja hyödyllisemmäksi tai ainakin yrittää opetella sinin ja kosinin käyttöä... (ihan niinkuin siitä ei olisikaan vielä koodivinkkejä...)