Kirjautuminen

Haku

Tehtävät

Koodit: QB: Säännölliset monikulmiot

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 a

Kommentit

Sami [24.03.2003 22:12:09]

#

Ainiin, 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 a

tä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)

T.M. [27.03.2003 19:58:15]

#

heh, aika yksinkertanen mutta silti toi on vaikee :)

Heikki [30.03.2003 17:29:18]

#

jooh...

Kai tosta on jollekkin apua..

Sami [30.03.2003 22:03:30]

#

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ä...)

Kirjoita kommentti

Muista lukea kirjoitusohjeet.
Tietoa sivustosta