Vinnaren i pepparkakshustävlingen!
  • 1
  • 2
2009-10-16, 19:57
  #1
Avstängd
Leker lite tänkte fråga er som är en aning bättre på matte än vad jag är.
Det är så att jag har tänkt att rita en cirkel med 100 punkter.
Räknar i units radien är 100 units mitten är x:0 och y:0.

Detta är vel en simpel upgift för er?
Vill ha en formel och möjligtvis en förklaring.
Citera
2009-10-16, 20:06
  #2
Medlem
Derangements avatar
Du får väl använda trigonometri för att räkna ut x- och y-värdet för respektive punkt?

http://www.pluggakuten.se/formulas/img/enhetscirkel.gif


Där X=cosV och Y=sinV.
Citera
2009-10-16, 20:07
  #3
Avstängd
Citat:
Ursprungligen postat av Derangement
Du får väl använda trigonometri för att räkna ut x- och y-värdet för respektive punkt?

http://www.pluggakuten.se/formulas/img/enhetscirkel.gif

Där X=cosV och Y=sinV.

och då är problemet jag kan inte trigonometri, men jag vet att det är vel det som ska användas i detta sammanhang.
Citera
2009-10-16, 20:12
  #4
Medlem
Derangements avatar
Eftersom du ville använda 100 punkter, så får du väl dividera 360° med 100, alltså 3,6. Du skall alltså hoppa 3,6° mellan varje punkt. Jag kan prova att göra en tabell åt dig.

EDIT: Måste bara installera matlab på den här datorn...
__________________
Senast redigerad av Derangement 2009-10-16 kl. 20:14.
Citera
2009-10-16, 20:16
  #5
Avstängd
Citat:
Ursprungligen postat av Derangement
Eftersom du ville använda 100 punkter, så får du väl dividera 360° med 100, alltså 3,6. Du skall alltså hoppa 3,6° mellan varje punkt. Jag kan prova att göra en tabell åt dig.

EDIT: Måste bara installera matlab på den här datorn...


jag programmerar så jag kan sätta ut frågesatser och växlar.

om man har x,y och röra sig på och det ska repeteras 100 ggr.
varje gång så sätts en punkt ut, och x,y ska då generara nästa position.
Citera
2009-10-16, 20:24
  #6
Medlem
Derangements avatar
Vad du behöver göra är en tabell som ser ut som följande:
Där X=cos(V+(3,6*n)) och Y=sin(V+(3,6*n), där V=vinkeln och n= ett heltal från 1-100.
X | Y
---|---
---|---
---|---
osv, 100 gånger...
Citera
2009-10-16, 20:30
  #7
Avstängd
Citat:
Ursprungligen postat av Derangement
Vad du behöver göra är en tabell som ser ut som följande:
Där X=cos(V+(3,6*n)) och Y=sin(V+(3,6*n), där V=vinkeln och n= ett heltal från 1-100.
X | Y
---|---
---|---
---|---
osv, 100 gånger...
hur får jag reda på v?
Citera
2009-10-16, 20:34
  #8
Medlem
Derangements avatar
Citat:
Ursprungligen postat av 0g3lami
hur får jag reda på v?
Vänta lite nu, jag är trött och dum. Stryk V:et helt. Y=sin(3,6*n) respektive X=cos(3,6*n), skall det vara.
Citera
2009-10-16, 20:34
  #9
Medlem
deafens avatar
Citat:
Ursprungligen postat av 0g3lami
jag programmerar så jag kan sätta ut frågesatser och växlar.

om man har x,y och röra sig på och det ska repeteras 100 ggr.
varje gång så sätts en punkt ut, och x,y ska då generara nästa position.
Om man kan använda trigonometriska uttryck i ditt programspråk så

xn = 100cos (0,01n*2π)
yn = 100sin (0,01n*2π)

Där n genonlöper (0,1,2,..,99) och där π är konstanten pi = 3,141592... så får du en cirkel med 100 st koordinaterna (xn,yn) och vars radie är 100.
Citera
2009-10-16, 20:37
  #10
Medlem
deafens avatar
Citat:
Ursprungligen postat av Derangement
Vänta lite nu, jag är trött och dum. Stryk V:et helt. Y=sin(3,6*n) respektive X=cos(3,6*n), skall det vara.
Radianer är väl ändå standardenhet för vinklar, vilket är troligast att hans program använder sig av.
Citera
2009-10-16, 20:38
  #11
Medlem
Derangements avatar
Citat:
Ursprungligen postat av deafen
Radianer är väl ändå standardenhet för vinklar, vilket är troligast att hans program använder sig av.
Sant. Jag använde vinklar för att det är enklare på miniräknaren.
Citera
2009-10-16, 20:40
  #12
Avstängd
Citat:
Ursprungligen postat av deafen
Om man kan använda trigonometriska uttryck i ditt programspråk så

xn = 100cos (0,01n*2π)
yn = 100sin (0,01n*2π)

Där n genonlöper (0,1,2,..,99) och där π är konstanten pi = 3,141592... så får du en cirkel med 100 st koordinaterna (xn,yn) och vars radie är 100.

for($i = 0;$i<100;$i++){
$x = 100+(100 * cos(0.01 * $i + ($i^2 * pi())));
$y = 100+(100 * sin(0.01 * $i + ($i^2 * pi())));
}

med denna formeln så känns det som prickarna hamnar på måfå lite här och lite där och dom har inte alls samma avstånd mellan varandra.

Här är en bild på den.

http://img11.imageshack.us/img11/825/78056771.png
Och på bilden har jag använt mig av bara 20 prickar.

Efter att ha testat mig fram lite så märker jag att

for($i = 0;$i<31;$i++){
$x = 100 + (90 * cos(0.1 * $i + ($i * pi())));
$y = 100 + (90 * sin(0.1 * $i + ($i * pi())));
}
resulterar i en symetrisk rund cirkel men då är det bara 30 prickar, varför?
__________________
Senast redigerad av 0g3lami 2009-10-16 kl. 21:18.
Citera
  • 1
  • 2

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback