| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| liebt Skorpionin Registriert seit: Apr 2003
Beiträge: 1.258
| Berechnungsfrage (Kreisbogen)
Ich weiss:
Ich weiss nicht (würde aber gern wissen):
Ich kriegs nicht alleine hin... |
| | |
| | #2 (permalink) |
| muh Registriert seit: Apr 2002 Ort: Freiburg / Stuttgart
Beiträge: 4.338
|
Ganz grob, der Ansatz sollte stimmen, evtl. noch etwas feilen: Code: var a = Math.atan2(y1 - ym, x1 - xm); var b = Math.atan2(y2 - ym, x2 - xm); var delta = a - b; if (delta < 0) delta += 2 * Math.PI; trace(Math.round(delta * 180 / Math.PI));
__________________ »Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!) Geändert von Janoscharlipp (23-11-2006 um 09:39 Uhr) |
| | |
| | #3 (permalink) |
| liebt Skorpionin Registriert seit: Apr 2003
Beiträge: 1.258
|
Deine Lösung scheint zu klappen, Janoscharlipp, vielen Dank. Nun komm ich schon wieder nicht weiter. Stelle ich fest, dass ich statt Kreise auch Ellipsen benötige. Es gibt also zwei Radien (radiusX und radiusY). Sicher ist die Lösung ähnlich, nur wie....? |
| | |
| | #4 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
|
nur unwesentlich kniffliger ;-) http://www.mathematik-online.de/F57.htm#Ellipse
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #6 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
|
die formel von dem link umgesetzt ist: Code: function fEllipsenUmfang(a, b, toll) {
var e = Math.sqrt((a*a-b*b)/a/a);
var div, ee = e2=e*e, x = 1/2, p = 1;
var sum = 1-x*x*ee;
do {
x *= (p += 2)/(p+1);
sum -= div=x*x*(ee *= e2)/p;
} while (Math.abs(div)>toll);
return 2*a*Math.PI*sum;
}
trace(fEllipsenUmfang(10, 1, 1e-8)); je nachdem, wie exakt du das benötigst: berechne x zwischenpunkte und addiere die jeweiligen abstände von punkt zu punkt.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (23-11-2006 um 13:52 Uhr) |
| | |
| | #7 (permalink) |
| liebt Skorpionin Registriert seit: Apr 2003
Beiträge: 1.258
|
hi hgseib, danke für deine Mühe. Was du schreibst ist mir aber zu hoch (ich mag keinen Code haben den ich nicht selbst durchschaue). Habe nun beschlossen, auf eine simplere Lösung auszuweichen. Da ich ja die Werte der beiden Radien kenne, ermittle ich einfach die "Stauchung" (radiusX / radiusY ) und rechne meine Punkte auf den "ursprünglichen" Kreis hoch. Greetings und danke vielmals - Skorpion |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |