Kezdőoldal » Számítástechnika » Programozás » Javascipt rajzolás? (több lent)

Javascipt rajzolás? (több lent)

Figyelt kérdés

Hella,


Van eddig egy kódom, jelenleg megrajzolja a kört, amit szeretnék és full random valahova egy random vonalat is. A vonalon szeretnék változtatni, azt szeretném, ha a vonal kezdőpontja mindig a kör húrján lenne.

Eddigi kód:


<script language="JavaScript" type="text/javascript">

var c = document.getElementById("RajzLap");

var ctx = c.getContext("2d");

var KorPontjai = new Array();

var RandomSzam = Math.floor((Math.random() * 360) + 1);

var RandomSzam2 = Math.floor((Math.random() * 250) + 100);

for(i = 0; i < 360; i++){

KorPontjai[i] = (i+1);

}

ctx.beginPath();

ctx.arc(143,143,142,0,2*Math.PI);

ctx.moveTo(KorPontjai[RandomSzam], KorPontjai[RandomSzam]);

ctx.lineTo(RandomSzam2, RandomSzam);

ctx.stroke();


</script>


Előre is köszönöm a segítséget



2016. júl. 12. 11:36
1 2
 1/16 anonim ***** válasza:
48%

Első gondolatom az volt, hamár egy tömbben letároltad az "összes" pontját a körnek... ...hogy


1.: miért nem kötöd össze ezeket a pontokat "lineTo"-kal? ...és bár nem lenne egy szép kör, de hasonlítana rá és ha már az megvan, akkor...


2.: miért nem kötöd össze 2 véletlenszerű pontját a körnek, ami a húr lenne?


Mellesleg megjegyzem, hogy a "KorPontjai"-tömböd nem a kör pontjait tartalmazza, hanem 1-től 360-ig számokat. Ha így akarod kiszámolni előre a kör pontjait, akkor ajánlom figyelmedbe a szöfüggvényeket (sin, cos) és természetesen minden pontot a körvonalon két koordináta határoz meg (x, y)...

2016. júl. 12. 13:08
Hasznos számodra ez a válasz?
 2/16 anonim ***** válasza:

Sokat segítene, ha tudnánk mit akarsz rajzolni. Meg ha betennéd a kódot valahová, ahol lehet látni, hogy mit csinál. Codepen pl.


Apróság de érdemes betartani: a változók nevét kisbetűvel szokás kezdeni. A nagybetűvel kezdődők konstruktor-függvényeknek, típusoknak, ilyesmiknek vannak.

2016. júl. 12. 13:12
Hasznos számodra ez a válasz?
 3/16 anonim ***** válasza:
100%

Ja, asszem értem. Te húrt akarsz rajzolni a körbe, ugye?


Ne csináld ezt a KorPontjai dolgot.


Sorsolj 2 számot 0 és 2*PI kozott

var rnd1 = Math.random()*Math.PI*2

var rnd2 = Math.random()*Math.PI*2


számold ki az ezekhez a szögekhez tartozó, de a kör vonalán levő pontok koordinátáit (R legyen a kör sugara)

x1: sin(rnd1)*R

y1: cos(rnd1)*R


a másik pontra ugyanígy, aztán össezötöd a 2 pontot, ahogy csináltad is: moveTo(x1, y1), majd lineTo(x2, y2)

2016. júl. 12. 13:20
Hasznos számodra ez a válasz?
 4/16 anonim ***** válasza:
100%

annyi még, hogy mivel a kör sugara nem az origóban van

legyen ox és oy a kör középpontjának koordinátái


x1: ox + sin(rnd1)*R

y1: oy - cos(rnd1)*R

2016. júl. 12. 13:23
Hasznos számodra ez a válasz?
 5/16 anonim ***** válasza:
100%

valahogy így:

[link]

2016. júl. 12. 13:31
Hasznos számodra ez a válasz?
 6/16 A kérdező kommentje:
Nem húrt szeretnék rajzolni, a kör valóban 2 részre esne szét, de nem egyenlő részekre, több vonallal szeretném elválasztani a 2 részt, a vonalak pedig együtt kiadnak 1 szabálytalan vonalat. Ennek a szablytalan vonalnak lenne több része a résszek iránya és hossza is random kell legyen. Ezután még ki kell számolni a kör 2 részének területét is %-ban és be kell színezni az egyik felét egy random színre, de az már másik történet.
2016. júl. 12. 13:40
 7/16 anonim ***** válasza:

Még mindig nem igazán értem. Lerajzolhatnád egy darab papírra.

Valami ilyesmire gondolsz?

[link]


Azóta kicsit átírtam. Esetleg frissítsd párszor, nem küszöböltem ki, hogy ne adjon saját magát metsző vonalat.

2016. júl. 12. 16:02
Hasznos számodra ez a válasz?
 8/16 A kérdező kommentje:
Igen pontosan erre köszönöm :)
2016. júl. 12. 16:28
 9/16 A kérdező kommentje:
Még annyit szeretnék kérdezni, hogy, hogyan lehet csak az egyik felét kiszínezni x színre és kiszámolni a felek területét? (A területek a végén kellenek kiírásba)
2016. júl. 12. 16:51
 10/16 anonim ***** válasza:

Színezéshez kicsit más sorrendben érdemes rajzolni

[link]


A területet most így hirtelen nem tudom. Majd mélázom rajta, de te is írd meg, ha van ötleted.

2016. júl. 12. 18:34
Hasznos számodra ez a válasz?
1 2

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!