Avatar billede jakwag Nybegynder
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
Avatar billede rohaje Nybegynder
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
Avatar billede japping Nybegynder
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.
Avatar billede japping Nybegynder
28. april 2006 - 09:57 #3
ops, tastefejl. Det er selvfølgelig

angle:=angle-90
Avatar billede jakwag Nybegynder
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 :)
Avatar billede rohaje Nybegynder
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));
Avatar billede japping Nybegynder
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.
Avatar billede japping Nybegynder
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));
Avatar billede jakwag Nybegynder
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 ;)
Avatar billede japping Nybegynder
28. april 2006 - 11:04 #9
Man kan ikke være god til alt, det er derfor vi har eksperten.dk ;-)

Velbekommen
Avatar billede rohaje Nybegynder
28. april 2006 - 11:14 #10
et -svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester