Oprettet søn. d. 09. januar 2011 kl. 16:46:45

a2p-dk
a2p-dk (4.480 point. Point ude: 0)

Elipse regning.

Hej.
Jeg har fire punkter i alt, ( start x og y og slut x og y ).

Se tegning:
<pre>
      x1,y1
        v
        .

                . < x2,y2
</pre>

Nu kunne jeg godt tænke mig at få punkterne på 1/4 elipse.
fra start til slut.

Evt kunne tegningen også se sådan ud:
<pre>
      x1,y1
        v
        .

. < x2,y2
</pre>

Altså at forskellen på x1 og x2 kan være både plus og minus, det samme gælder y1 og y2.


Jeg har ingen ide om hvordan jeg skal gribe dette an.

Tak for hjælpen.

Skrevet man. d. 10. januar 2011 kl. 12:29:55| #1

HBP2
HBP2 (4.661 point)
Det lyder som om du kun har 2 punkter: start punktet og slut punktet.

Har jeg ret i at du så ønsker at lave en 1/4 ellipse, som starter i (x1,y1) og slutter i (x2,y2) ?
Skal ellipsen tegnes, eller vil du bare have en formel, eller noget 3. ?

Jeg antager at halv-akserne er hhv. lodret og vandret - ellers er der uendeligt mange løsninger.

Skrevet man. d. 10. januar 2011 kl. 18:53:17| #2

a2p-dk
a2p-dk (4.480 point)
hej HBP2

ja jeg har jo kun to punkter. ;).

"
Har jeg ret i at du så ønsker at lave en 1/4 ellipse, som starter i (x1,y1) og slutter i (x2,y2) ?"

Ja

"Skal ellipsen tegnes, eller vil du bare have en formel, eller noget 3. ?"

Jeg har egentlig bare brug for en formal da jeg bare skal bruge alle punkterne. med evt. 2 px interval.

Mht: "Jeg antager at halv-akserne er hhv. lodret og vandret - ellers er der uendeligt mange løsninger. "

Så forstår jeg ikke helt hvad du mener..  Men jeg har f.eks punkterne: (200x og 150y) og (100x og 200y)

Håber du har noget hjælp at smide...

Skrevet man. d. 10. januar 2011 kl. 20:22:43| #3

HBP2
HBP2 (4.661 point)
En ellipses halv-akser er de to linier som går fra centrum og ud til de 2 punkter på ellipsen som er henholdsvis fjernest og tættest på centrum - i dette tilfælde er det dine to punkter.

Givet 2 punkter (x1,y1) og (x2,y2) er der to mulige ellipser: den med centrum i (x1,y2) og den med centrum i (x2,y1).

Halv-aksernes længde er henholdsvis a=abs(x2-x1) og b=abs(y2-y1) , hvor abs() er den numeriske værdi.

En ellipse er så alle de punkter (x,y) der opfylder:

(x-Xc)^2/a^2 + (y-Yc)^2/b^2 = 1

hvor centrum er i (Xc,Yc).
Det var baggrunden - at beregne punkterne er derimod noget mere besværligt... der er smarte algoritmer til at beregne punkterne (Bresenham Midpoint), men du kan osse bare beregne et punkt for hver 0.1 grader, for vinklen 0..90 grader, eller noget lignende, afhængigt af hvor mange punkter du har brug for:


var v, xc, yc, a, b, step;
a = 100;  b = 200;
xc = 100; yc = 100;
step = 0.1;
for (v = 0.0; v < 90.0; v += step) {
  var x, y;
  x = xc + a*Math.cos(v*Math.PI/180);
  y = yc + b*Math.sin(v*Math.PI/180);
}

At beregne et punkt for hver 0.1 grad er nok i overkanten - hvis du vil have et punkt for ca. hver 2nd pixels så skal du dele de 90 grader ind i ca. halvt så mange intervaller som halv-aksernes gennemsnitlige længde, dvs.:

  avg = (a+b)/2;
  step = 90/(avg/2);

Skrevet søn. d. 23. januar 2011 kl. 00:10:35| #4

a2p-dk
a2p-dk (4.480 point)
okay rigtig fedt!!

jeg kan bare ikke rigtig finde ud af at få elipsen til at gå fra andet en x1 som er mindre end x2 og y1 som er mere end y2.. kan du evt lave formlen om så den gælder alle veje?

Jeg er ikke så god til alt det der regning. Håber du forstår??

På forhånd tak. !

Skrevet søn. d. 23. januar 2011 kl. 08:30:35| #5

HBP2
HBP2 (4.661 point)
Fjern abs() fra beregningen af a og b.

Skrevet man. d. 24. januar 2011 kl. 14:43:43| #6

a2p-dk
a2p-dk (4.480 point)
mange mange tak.

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Hjælp til validering

Oprettet den 26. maj 2012 kl. 14.01
Stefan1 giver 20 point for svar | Giv et svar »

Javascript sliders?

Oprettet den 24. maj 2012 kl. 11.29
NizeGuy giver 15 point for svar | Giv et svar »

Validere navn i form

Oprettet den 22. maj 2012 kl. 15.13
13thsky giver 60 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger