28. april 2006 - 09:44
Der er
8 kommentarer og 2 løsninger
matematik spørgsmål
Hej Jeg er ved at lave en masse thumbs der orbitter omkring en y akse. Det går fint nok, men nu kunne jeg godt tænke mig at "dreje" den cirkel den køre i en kvart omgang. Lige nu er 0 grader helt til højre (300) og 180 grader helt til venstre (100). 90 og 270 grader er altså midt for (200). For at skære til benet har jeg lavet denne: radius = 100; xcenter = 200; angle = 0; trace(Math.round(Math.cos(angle* Math.PI / 180) * radius + xcenter)); Jeg ville gerne have følgende angle=0; //outputter 200 angle=180; //outputter 200 angle=270; //outputter 100 angle=90; //outputter 300 Er der nogen der kan regne den ud? : ) Jakob
Annonceindlæg tema
28. april 2006 - 09:53
#1
function getCord(angle) { radius = 100; xcenter = 200; //angle = 0; return (Math.round(Math.sin(angle*Math.PI/180)*radius+xcenter)); } //Jeg ville gerne have følgende trace(getCord(0)); //outputter 200 trace(getCord(180)); //outputter 200 trace(getCord(270)); //outputter 100 trace(getCord(90)); //outputter 300
28. april 2006 - 09:55
#2
Nu kender jeg ikke lige Math.round, men foreslår i første omgang at du bare sætter angel:=angle-90 inden din beregning, så brude det virke. Ellers kan jeg matematikken og kan godt lave en ny funktion, men hvorfor opfinde den dybe talerken.
28. april 2006 - 09:57
#3
ops, tastefejl. Det er selvfølgelig angle:=angle-90
28. april 2006 - 10:20
#4
japping > ved ikke helt hvad du mener. rohaje > Ja det ser ud til at virke, men nu får jeg så et andet problem: radius = 100; zcenter = 200; angle=0; trace(Math.round(Math.sin(this.angle * Math.PI / 180) * radius + zcenter)) i denne skal: angle=0; //outputte 100 angle=180; //outputte 300 angle=270; //outputte 200 angle=90; //outputte 200 Kan du også løse det? Det kan du jo sikkert, så læg bare et svar :)
28. april 2006 - 10:32
#5
// du kan jo bruge jappings forslag og så lave en angle offset radius = 100; xcenter = 200; function getCord(angle, angleOff) { angle -= angleOff; return (Math.round(Math.cos(angle*Math.PI/180)*radius+xcenter)); } trace("outputter 100 :"+getCord(0, 180)); trace("outputter 300 :"+getCord(180, 180)); trace("outputter 200 :"+getCord(270, 180)); trace("outputter 200 :"+getCord(90, 180)); // trace("outputter 200 :"+getCord(0, 90)); trace("outputter 200 :"+getCord(180, 90)); trace("outputter 100 :"+getCord(270, 90)); trace("outputter 300 :"+getCord(90, 90));
28. april 2006 - 10:33
#6
Ok, jeg forsøger at forklare. Du har lavet denne: radius = 100; xcenter = 200; angle = 0; trace(Math.round(Math.cos(angle* Math.PI / 180) * radius + xcenter)); Du skriver i stedet radius = 100; xcenter = 200; angle = 0; angle = angle -90; trace(Math.round(Math.cos(angle* Math.PI / 180) * radius + xcenter)); på linien "angle =0;" skal du så indsætte din vinkel og efterfølgende linie "angle=angle-90;" drejer så cirklen.
28. april 2006 - 10:35
#7
Hvis du hellere vil have det indlagt i din formel burde følgende også virke: radius = 100; xcenter = 200; angle = 0; trace(Math.round(Math.cos((angle-90)* Math.PI / 180) * radius + xcenter));
28. april 2006 - 10:46
#8
ja, det virker. Tak for hjælpen! I fortjener vist begge point. læg et svar rohaje. ... Det kunne godt være at jeg skulle læse lidt matematik på et tidspunkt ;)
28. april 2006 - 11:04
#9
Man kan ikke være god til alt, det er derfor vi har eksperten.dk ;-) Velbekommen
28. april 2006 - 11:14
#10
et -svar :)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.