Useful Function
You can make a hexagon with circle math. Just limit the points to 8.
https://wiki.multitheftauto.com/wiki/DxDrawCircle
-IIYAMA
[/quote]
angleAmount
360 / 8 = 45
Just play with it and debug it. It is the only way to understand it...
[/quote]
Ezt küldte, viszont én akárhogy átírom az angleAmount-ot, nem jön ki hatszög.- Cím: Háromszög DxDraw
Írta: ustanmufj - 2017. december 26. - 20:47:45
Just play with it and debug it. It is the only way to understand it...
[/quote]
Gondolom 45 fokra állítsd az angleAmountot?- Cím: Háromszög DxDraw
Írta: MakroBox - 2017. december 26. - 20:50:16
local sx, sy = guiGetScreenSize()
local gyok3 = math.sqrt(3)
function drawHatszog(kx, ky, w)
local x, y = kx-w/2, ky-(w/2*gyok3)
local csucsok = {{x, y}, {x+w, y}, {x+w+w/2, y+(w/2*gyok3)}, {x+w, y+(w/2*gyok3)*2}, {x, y+(w/2*gyok3)*2}, {x-w/2, y+(w/2*gyok3)}, {x, y}}
for i=1,6 do
dxDrawLine(csucsok[1], csucsok[2], csucsok[i+1][1], csucsok[i+1][2], tocolor(255,255,255,255))
end
end
addEventHandler(\'onClientRender\', root, function()
drawHatszog(sx/2, sy/2, 100)
end)
Én meg hetedikes vagyok.
Most teszteltem, néhány helyen kicsit pixelesnek tűnik, de ez már a dx hibája.
Szívesen!
![]()
- Cím: Háromszög DxDraw
Írta: MakroBox - 2017. december 26. - 20:51:27- Ha esetleg vmit nem értesz, akkor szívesen elmagyarázom.
- Cím: Háromszög DxDraw
Írta: MakroBox - 2017. december 26. - 20:55:01 Idézetet írta: thegergo02 date=1514318012
Az ilyet már vettem 1 éve is (szóval 5.-ben) csak nehezebb átvinni azért kódba :)
Én is kb. akkor, kellett valamelyik versenyen.- Cím: Háromszög DxDraw
Írta: MakroBox - 2017. december 26. - 20:58:37- @xerox0224 Ebből a kódból szerintem már menni fog az \"elfogyás\". :D
- Cím: Háromszög DxDraw
Írta: xerox0224 - 2017. december 26. - 21:01:05- Igen. Nekem ezek a számolások így nem mennek, tudom mi az a gyök, ki tudom számolni a számnak a gyökét. ( pl.: 9 négyzetgyöke 3, mert 3×3 az 9. ), viszont amikor egy kódról van szó, ott valamiért leblokkol az agyam. És 1000 hálám, nagyon köszönöm!
- Cím: Háromszög DxDraw
Írta: ustanmufj - 2017. december 26. - 23:18:43- Írd le a problémát mateknyelven egy papírra és próbáld meg a logikáját átírni programkódba.
- Cím: Háromszög DxDraw
Írta: MakroBox - 2017. december 27. - 00:03:35 Idézetet írta: thegergo02 date=1514326723
Írd le a problémát mateknyelven egy papírra és próbáld meg a logikáját átírni programkódba.
Pont így csináltam.
Leírtam, mit tudunk. Tudjuk az oldalhosszt (w), a középpontot (O) és hogy egy szabályos 6szögünk van. Azt is tudjuk, hogy O és bármely csúcs távolsága w lesz. O-t és a csúcsokat összekötjük, így 6 db szab. 3szöget kapunk. Aztán ott tudjuk, hogy a magasság az w/2*gyök(3), és ha ezt mindenhova beírjuk, kiegészítjük az ábrát, megvan a feladat..
Ezek után már csak egy adott ponthoz viszonyítva kell kiszámolni a többit, és ezt leírni a kódban. (Én a középpontot, O-nak a pozícióját kértem be, abból kiszámoltam a “bal felső” pontot, az lett x és y, majd ahhoz viszonyítva a többi pontot, és ezeket összekötöttem. Így gyakorlatilag egy olyan function-t csináltam, aminek megadod a 6szög középpontját és oldalhosszát, ő cserébe kirajzolja neked azt.)