Ha egyenlő oldalú hexagont szeretnék kirajzoltatni kódból, hogyan számoljam ki a szögektől való távolságot?
Figyelt kérdés
A probléma az, hogy a ferde oldalakat nem tudom kiszámolni, mert ha ugyanannyi pixellel tolom el, mint az egyenes vonalakat, akkor az pitagorasz tétel szerint sem jön ki. Egyenlő hat oldalt szeretnék.2013. máj. 14. 19:40
1/8 anonim válasza:
Én nem igazán értem a problémádat. Mit nem tudsz kiszámolni? Ha nagyon nem megy, akkor csinálj egy szabályos háromszöget, aztán rakjál egymás mellé hatot belőle úgy, hogy a szomszédosaknak közös oldaluk legyen.
2/8 A kérdező kommentje:
A felső oldal könnyű, mert ott csak tíz pixel hosszú az egész (amennyinek egy oldalnak lennie kellene). De a következő szöget utána hány pixellel toljam el horizontálisan illetve vertikálisan, hogy a hossza annak is pontosan tíz pixel maradjon?
2013. máj. 14. 19:57
6/8 Srapnel válasza:
Csinálhatod úgy is, hogy a köré írt körre alapozod. A csúcspontok a körön vannak és a középontól alkotott szöge két egymás melletinek konstans.
A kör paraméteres egyenlete ez (origó középponttal):
x = r * cos (t)
y = r * sin (t)
Ahol r a sugár, t pedig egy valós paraméter 0 és 2*pi között (tehát 0-tól a teljes szögig).
Ekkor a t-t 0-tól 2*pi-ig kell növelni, annyi radiánonként, amekkora szöget akarsz a két szomszédos csúcs között (tehát 6 szög esetén 2*pi/6). Így tudsz szabályos 11-szöget is rajzolni akár.
7/8 Srapnel válasza:
Annyi kiegészítés az előzőhöz, hogy ez szabályos sokszögekre vonatkozik.
8/8 A kérdező kommentje:
Köszönöm
2013. máj. 22. 19:19
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!