Miten piirrän viisisakaraisen tähden.
eli tarvitsen tietää asteet miten käännytää
Neliön tein näin
CALL rt(90)
CALL fd(100)
CALL rt(90)
CALL fd(100)
CALL rt(90)
CALL fd(100)
CALL rt(90)
CALL fd(100)
Mutta tähteä en saa kirveelläkään
Qbasic ja tähti
2
217
Vastaukset
- Punikki & 7 hyypiötä
Homma menee about näin:
Jokainen sakara on tasakylkinen kolmio. Kun jaetaan 360 astetta (ympyrä) sakaroiden lkm:llä (sakarat), saadaan tulos, montako astetta pitää kääntyä, jotta päästään takaisin lähtöpisteeseen haluttujen askeleiden jälkeen, ts. piirretään monikulmio (tässä 5-kulmio).
Merkitään kolmion eli sakaran korkeutta h:lla ja leveyttä l:llä. Sakara muodostuu siis kolmion kyljistä l. hypotenuusasta (c^2=a^2 b^2). Hypotenuusan ja pohjasivun välinen kulma saadaan modifioimalla kaavasta tan alfa=a/b (alfa-kulman tangentti on kulman vastakkaisen sivun suhde kulman viereiseen sivuun). Varsinainen astekulma saadaan, kun tangentti kerrotaan 180:lla ja jaetaan piillä (kone käyttää radiaaneja eli tehdään muutos rad->deg).
DECLARE SUB piirra (pituus!) 'piirtää viivan
DECLARE SUB kaanna (astetta!) 'kääntää suuntaa asteina (suunnan muutos)
DECLARE SUB suunta (asteet!) 'asettaa suunnan (uusi, absoluuttinen suunta)
SCREEN 12
DIM SHARED astenyt 'pidetään kirjaa nykyisestä suunnasta
pii = ATN(1) * 4 'pii ;)
sakarat = 5 'montako sakaraa tähteen
askel = 360 / sakarat 'montako astetta sakaran pohjasivu kääntyy ympyrän kehällä joka kerta
h = 50 ' sakaran korkeus pisteinä
l = 20 ' sakaran kannan leveys pisteinä
hyp = SQR(h ^ 2 (l / 2) ^ 2) 'sakaran sivun pituus (hypotenuusat, ts. tasakylk. kolmion sivut)
aste = (l / (2 * hyp)) 'kulman tangentti
aste = TAN(aste) * 180 / pii 'kulma asteina
FOR i = 1 TO sakarat 'piirretään sakarat
kaanna (aste) 'eka käännös
piirra (h) 'eka viiva
kaanna (180 - aste * 2) 'toinen käännös
piirra (h) 'toinen viiva
suunta (i * askel) 'käännetään suunta seuraavalle sakaralle
NEXT
SUB kaanna (astetta)
astenyt = (astenyt astetta) MOD 360
DRAW "ta" STR$(INT(astenyt))
END SUB
SUB piirra (pituus)
DRAW "u" STR$(pituus)
END SUB
SUB suunta (asteet)
astenyt = asteet MOD 360
DRAW "ta" STR$(INT(astenyt))
END SUB - Punikki & 7 hyypiötä
Homma menee about näin:
Jokainen sakara on tasakylkinen kolmio. Kun jaetaan 360 astetta (ympyrä) sakaroiden lkm:llä (sakarat), saadaan tulos, montako astetta pitää kääntyä, jotta päästään takaisin lähtöpisteeseen haluttujen askeleiden jälkeen, ts. piirretään monikulmio (tässä 5-kulmio).
Merkitään kolmion eli sakaran korkeutta h:lla ja leveyttä l:llä. Sakara muodostuu siis kolmion kyljistä l. hypotenuusasta (c^2=a^2 b^2). Hypotenuusan ja pohjasivun välinen kulma saadaan modifioimalla kaavasta tan alfa=a/b (alfa-kulman tangentti on kulman vastakkaisen sivun suhde kulman viereiseen sivuun). Varsinainen astekulma saadaan, kun tangentti kerrotaan 180:lla ja jaetaan piillä (kone käyttää radiaaneja eli tehdään muutos rad->deg).
DECLARE SUB piirra (pituus!) 'piirtää viivan
DECLARE SUB kaanna (astetta!) 'kääntää suuntaa asteina (suunnan muutos)
DECLARE SUB suunta (asteet!) 'asettaa suunnan (uusi, absoluuttinen suunta)
SCREEN 12
DIM SHARED astenyt 'pidetään kirjaa nykyisestä suunnasta
pii = ATN(1) * 4 'pii ;)
sakarat = 5 'montako sakaraa tähteen
askel = 360 / sakarat 'montako astetta sakaran pohjasivu kääntyy ympyrän kehällä joka kerta
h = 50 ' sakaran korkeus pisteinä
l = 20 ' sakaran kannan leveys pisteinä
hyp = SQR(h ^ 2 (l / 2) ^ 2) 'sakaran sivun pituus (hypotenuusat, ts. tasakylk. kolmion sivut)
aste = (l / (2 * hyp)) 'kulman tangentti
aste = TAN(aste) * 180 / pii 'kulma asteina
FOR i = 1 TO sakarat 'piirretään sakarat
kaanna (aste) 'eka käännös
piirra (h) 'eka viiva
kaanna (180 - aste * 2) 'toinen käännös
piirra (h) 'toinen viiva
suunta (i * askel) 'käännetään suunta seuraavalle sakaralle
NEXT
SUB kaanna (astetta)
astenyt = (astenyt astetta) MOD 360
DRAW "ta" STR$(INT(astenyt))
END SUB
SUB piirra (pituus)
DRAW "u" STR$(pituus)
END SUB
SUB suunta (asteet)
astenyt = asteet MOD 360
DRAW "ta" STR$(INT(astenyt))
END SUB
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Jens Ihlen (ex Kukka) poika todistaa oikeudessa
10:49 "Välit ovat olemattomat" Minkälainen isäsi ja sinun välinen suhde on tällä hetkellä? "Minulla ei ole minkäännäkö2649922K-kaupassa on mukava käydä, kun ei tarvitse katsella köyhiä
vasemmistolaisia, joista monet myös varastavat. Mielellään maksaa vähän enemmän tuotteista K-kaupassa, jotka ovat paljon1945654Suomeen ei kuulu ihmiset jotka ei halua kätellä toisia ihmisiä, koska tämä on vääräuskoinen
Nainen joka ei halunnut kätellä Stubbia on selvästi ääripään muslimi, eli sitä sakkia josta niitä ongelmia koituu. Ulos1645234PS:n Purra teki -JÄTTI-VELAT
* * PS:n Purra teki -JÄTTI-VELAT - ! ja jätti MaksuHuolet -Kansan Maksettavaksi -! *754881Vain vasemmistolaiset rakennemuutokset pelastavat Suomen
Kansaa on ankeutettu viimeiset 30+ vuotta porvarillisella minäminä-talouspolitiikalla, jossa tavalliselta kansalta on ot12475- 2122449
Nainen, sanotaan että totuus tekee kipeää
Ehkä mutta se voi olla myös se kaikkein kamalin asia kohdata. Kuplassa on turvallista, kun tietää vähemmän on helpompi.122279Valtio lopettaa pienituloisten perheiden kylpylälomien tukemisen
Pienituloiset suomalaiset ovat voineet vuosikymmenten ajan hakea tuettuja lomia terveydellisin, sosiaalisin ja taloudell3532015- 211695
- 901617