Kezdőoldal » Számítástechnika » Programozás » Hogyan lehetne ezt megvalósíta...

Hogyan lehetne ezt megvalósítani Javascriptben?

Figyelt kérdés

Már sokszor próbálkoztam de nem jött össze.

Canvasban szeretnék egy olyat hogy középen van egy kör és a kör mentén (oldalán) "keringene" egy kisebb kör

Ha lehet akkor kódot kérek



2018. dec. 30. 02:15
 1/8 anonim ***** válasza:
0%
Se canvas, se js nem kell hozza
2018. dec. 30. 05:11
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:
Mégis, mivel próbálkoztál? 😃
2018. dec. 30. 12:32
Hasznos számodra ez a válasz?
 3/8 anonim ***** válasza:

#1: Nem azt kérdezte, hogy kell-e hozzá canvas vagy JS... nyilván meg lehet oldanu egy problémát több féle képpen, css animáció vagy akár berakhat animált gifet is:D


A kérdés adott..


Kérdező: hol akadtál el? Nem tudsz canvasra kört rajzolni?

Vagy nem tudod a keringő kör középontját kiszámolni? Alap matekkal (szinus, koszinusz) megoldható.


Kör rajzolás: [link]

2018. dec. 30. 12:35
Hasznos számodra ez a válasz?
 4/8 A kérdező kommentje:

[link]

Ezt szeretném elérni Javascriptben!


A nagy körig minden megy csak a keringési útvonalnál akadtam el

2018. dec. 30. 14:46
 5/8 anonim ***** válasza:
A kis kör középpontja egy r+R sugarú kör mentén mozog'
2018. dec. 30. 17:30
Hasznos számodra ez a válasz?
 6/8 anonim ***** válasza:

#5: a kép alapján nekem úgy tűnik, hogy a nagy körön mozog a kis kör középpontja, azaz nem csak érinti. Tehát nem r+R sugarú körön mozog, csak R sugarún, feltéve ha a nagy kör sugara R.... vagy csak hiányzik a nagy kör az ábráról, nem az akar lenni a zöld kör.


Kérdező: A kis kör x koordinátája t időpontban:

x = cos(omega*t)

y koordinátája:

y = sin(omega*t)


omega a szogsebesség, ami nálad gondolom konstans, tehát csak próbálj beírbi számokat és majd meglátod melyik a megfelelő sebesség neked.

2018. dec. 30. 18:18
Hasznos számodra ez a válasz?
 7/8 anonim ***** válasza:
Mármint a megadott korrdináták egységsugarú körre vonatkoznak, csak szorozd be a nagy kör sugarával mind2-t.. na meg persze hozzá kell adni a középpont koordinátáját, de gondolom az már egyértelmű.
2018. dec. 30. 18:21
Hasznos számodra ez a válasz?
 8/8 A kérdező kommentje:

Sikerült megoldanom! Köszönöm mindenkinek!

A kód:

ctx.beginPath();


ctx.moveTo(0, H/2);

ctx.lineTo(W, H/2);


ctx.moveTo(W/2, 0);

ctx.lineTo(W/2, H);


ctx.strokeStyle = "red";

ctx.stroke();


ctx.closePath();

ctx.beginPath();

ctx.arc(W/2, H/2, r, 0, 2 * Math.PI);

ctx.fillStyle = "rgba(0, 255, 0, 0.5)";

ctx.fill();

ctx.stroke();

ctx.closePath();


ctx.beginPath();


var omega = 10;

var t = 1;


x = W/2 + Math.cos(omega * t + i) * r;

y = H/2 + Math.sin(omega * t + i) * r;

i += t / 100;

var radius = r/10;


ctx.arc(x, y, radius, 0, 2 * Math.PI);

ctx.fillStyle = "rgba(255, 0, 0, 0.5)";

ctx.fill();

ctx.stroke();

2018. dec. 30. 19:57

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!