Strecke berechnen
Will
- javascript
Hi, Ich habe volgendes Problem:
Ich habe ein JS gecodet, mit dem ich die aktuellen Maus-koordinaten anzeigen lassen kann.
Nun möchte ich eine Strecke berechnen, von einem Punkt zum anderen...
Wie mache ich das??
Schreibt mir die Antwort bitte auch per Mail!!
Hi,
Wie mache ich das??
mit dem Satz von Pythagoras: a²+b²=c²
Cheatah
mit dem Satz von Pythagoras: a²+b²=c²
und wie genau? mit welchem Script?
Hat jemand ein vertiges?
hi
und wie genau? mit welchem Script?
mit deinem?
wende einfach den satz auf die von dir erhaltenen kordinaten an, fettisch.
wo ist das problem?
wenn du das eine script hinbekommen hast, wird diese kleine erweiterung nun wirklich keine herausforderung für dich sein.
so long
ole
(8-)>
wenn du das eine script hinbekommen hast, wird dieseerweiterung nun wirklich keine herausforderung für dich sein.
ich habe das Script aber nicht ganz alleine Hinbekommen...ich bin so zu Sagen ein newbie in Java Script...ich mavh mehr mit pHP
<html>
<head><title>Test</title>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var isNav = (navigator.appName.indexOf("Netscape") !=-1);
function handlerDC(e){
Xdc = (isNav) ? e.pageX : event.clientX;
Ydc = (isNav) ? e.pageY : event.clientY;
document.dataholder.dcX.value=Xdc;
document.dataholder.dcY.value=Ydc;
}
function handlerMU(e){
Xmu = (isNav) ? e.pageX : event.clientX;
Ymu = (isNav) ? e.pageY : event.clientY;
document.dataholder.muX.value=Xmu;
document.dataholder.muY.value=Ymu;
}
function handlerMD(e){
Xmd = (isNav) ? e.pageX : event.clientX;
Ymd = (isNav) ? e.pageY : event.clientY;
document.dataholder.mdX.value=Xmd;
document.dataholder.mdY.value=Ymd;
}
function handlerMM(e){
Xmm = (isNav) ? e.pageX : event.clientX;
Ymm = (isNav) ? e.pageY : event.clientY;
document.dataholder.mmX.value=Xmm;
document.dataholder.mmY.value=Ymm;
}
function handlerMO(e){
Xmo = (isNav) ? e.pageX : event.clientX;
Ymo = (isNav) ? e.pageY : event.clientY;
document.dataholder.moX.value=Xmo;
document.dataholder.moY.value=Ymo;
}
if (isNav) {
document.captureEvents(Event.MOUSEMOVE);
document.captureEvents(Event.MOUSEDOWN);
document.captureEvents(Event.MOUSEOVER);
document.captureEvents(Event.MOUSEUP);
document.captureEvents(Event.DBLCLICK);
}
document.onmouseover = handlerMO;
document.onmousedown = handlerMD;
document.onmouseup = handlerMU;
document.onmousemove = handlerMM;
document.ondblclick = handlerDC;
// End -->
</script>
</head>
<body>
<form name="dataholder"></center>
<center><table BORDER >
<tr>
<td></td>
<td>X Position</td>
<td>Y Position</td>
</tr>
<tr>
<td>
<center>Aktuell</center>
</td>
<td>
<center><input type="text" size=5 name="mmX" value="0"></center>
</td>
<td>
<center><input type="text" size=5 name="mmY" value="0"></center>
</td>
</tr>
<tr>
<td>
<center>Taste losgelassen</center>
</td>
<td>
<center><input type="text" size=5 name="muX" value="0"></center>
</td>
<td>
<center><input type="text" size=5 name="muY" value="0"></center>
</td>
</tr>
<tr>
<td>
<center>Taste gedrückt</center>
</td>
<td>
<center><input type="text" size=5 name="mdX" value="0"></center>
</td>
<td>
<center><input type="text" size=5 name="mdY" value="0"></center>
</td>
</tr>
<center></form>
</body>
<p align="center"><img src="albert.jpg"></p>
</html>
das ist mein Script!
bitte helft mir
hi
ich habe das Script aber nicht ganz alleine Hinbekommen...ich bin so zu Sagen ein newbie in Java Script...ich mavh mehr mit pHP
ist ein grund aber kein hinderniss.
du mußt nur herrausfinden wie du mit javascript
so long
ole
(8-)>
Hi,
ich habe das Script aber nicht ganz alleine Hinbekommen...ich bin so zu Sagen ein newbie in Java Script...ich mavh mehr mit pHP
völlig wurscht. Hier geht es erst einmal um Mathematik - diese dann in einer x-beliebigen Programmiersprache umzusetzen fällt in den Bereich der Trivialität.
Cheatah
Hi,
ich habe das Script aber nicht ganz alleine Hinbekommen...ich bin so zu Sagen ein newbie in Java Script...ich mavh mehr mit pHP
völlig wurscht. Hier geht es erst einmal um Mathematik - diese dann in einer x-beliebigen Programmiersprache umzusetzen fällt in den Bereich der Trivialität.
dem ersten Teil des Satzes stimme ich voll zu.
Der zweite ist - in meinen Augen - an Überheblichkeit kaum zu überbieten.
Gruß
Reiner
hi Reiner
dem ersten Teil des Satzes stimme ich voll zu.
Der zweite ist - in meinen Augen - an Überheblichkeit kaum zu überbieten.
naja in einer belieben programmiersprache herrauszufinden wie man
fällt nun wirklich in den bereich des trivialen.
das traue ich mir sogar zu :)
so long
ole
(8-)>
Hi,
dem ersten Teil des Satzes stimme ich voll zu.
Der zweite ist - in meinen Augen - an Überheblichkeit kaum zu überbieten.naja in einer belieben programmiersprache herrauszufinden wie man
- variablen definiert
- multipliziert/expotenziert
- und eine wurzel ziehst
fällt nun wirklich in den bereich des trivialen.
das traue ich mir sogar zu :)
ok, aus diesem Blickwinkel gestehe ich auch jedem Interessierten zu, über Google und Co. darauf zu kommen, wie man einen Abstand zweier Punkte berechnet, ohne das Wort Pythagoras jemals gehört zu haben.
Dennoch stört mich eine in dieser Weise gegebene Antwort sehr!
Gruß
Reiner
hi
Dennoch stört mich eine in dieser Weise gegebene Antwort sehr!
hmmm...ich finde nichts an der "weise" wie die antwort gegeben wurde auzusetzten.
sie ist nicht unfreundlich oder etwas in der richtung...sie ist eher neutral und sogar mit einer prise humor versehen und, ganz wichtig, sie ist korrekt.
so long
ole
(8-9>
Hi,
Dennoch stört mich eine in dieser Weise gegebene Antwort sehr!
hmmm...ich finde nichts an der "weise" wie die antwort gegeben wurde auzusetzten.
sie ist nicht unfreundlich oder etwas in der richtung...sie ist eher neutral und sogar mit einer prise humor versehen und, ganz wichtig, sie ist korrekt.
ist die Aussage "...trivial..." wertfrei?
Wenn ja, gebe ich Dir Recht!
Gruß
Reiner
hi
ist die Aussage "...trivial..." wertfrei?
Die Brockhaus Enzyklopädie sagt dazu:
trivial [ lateinisch ], bildungssprachlich für: abgedroschen, platt; alltäglich, gewöhnlich; unmittelbar einsichtig.
Ich denke nicht das es wertfrei ist, in diesem zusammenhang aber wohl nicht im negativen sinne, sondern eher als hinweis auf die simplizität der umsetzung des vorhabens und des somit kleinen problems :).
so long
ole
(8-)>
ps: viel geschwollener geht schon bald nicht mehr ;)
Hi,
ist die Aussage "...trivial..." wertfrei?
[...]
Ich denke nicht das es wertfrei ist, in diesem zusammenhang aber wohl nicht im negativen sinne, sondern eher als hinweis auf die simplizität der umsetzung des vorhabens und des somit kleinen problems :).
gut, da sind wir uns einig!
Jetzt erläutere mir mal genau, wie etwas, was NICHT wertfrei ist, in Deinem Sprachgebrauch so offensichtlich "korrekt" ist!
Nur ein Tip:
Wenn es für Dich "einfach" ist, über eine Pfütze zu hüpfen. Ist dann diese Aussage generell korrekt, daß es einfach ist, über eine Pfütze zu hüpfen? Ist das naheliegend, offensichtlich?
Muß ich dazu erst meine Oma anschleppen, um meine Kritik (s. Thread weiter oben) zu verdeutlichen?
Gruß
Reiner
hi,
Wenn es für Dich "einfach" ist, über eine Pfütze zu hüpfen. Ist dann diese Aussage generell korrekt, daß es einfach ist, über eine Pfütze zu hüpfen? Ist das naheliegend, offensichtlich?
Muß ich dazu erst meine Oma anschleppen, um meine Kritik (s. Thread weiter oben) zu verdeutlichen?
wenn es deine oma ist, die die frage stellt, wie sie über die pfütze kommt, wird die antwort sicher anders ausfallen, als wenn ein junger, vor kraft strotzender strammer (...) bursche die frage stellt. im letzteren fall ist die antwort "hüpf' doch einfach drüber!" wohl durchaus angebracht.
gruss,
wahsaga
Hi,
Wenn es für Dich "einfach" ist, über eine Pfütze zu hüpfen. Ist dann diese Aussage generell korrekt, daß es einfach ist, über eine Pfütze zu hüpfen? Ist das naheliegend, offensichtlich?
Muß ich dazu erst meine Oma anschleppen, um meine Kritik (s. Thread weiter oben) zu verdeutlichen?wenn es deine oma ist, die die frage stellt, wie sie über die pfütze kommt, wird die antwort sicher anders ausfallen, als wenn ein junger, vor kraft strotzender strammer (...) bursche die frage stellt. im letzteren fall ist die antwort "hüpf' doch einfach drüber!" wohl durchaus angebracht.
kannst Du mein bewußt "einfach" gehaltenes Beispiel jetzt auch anwenden?
Gruß
Reiner
hi,
kannst Du mein bewußt "einfach" gehaltenes Beispiel jetzt auch anwenden?
wenn du mir nochmal kurz sagst, auf welches beispiel du dich jetzt beziehst ...?
gruss,
wahsaga
hej Will,
also einen kleinen Exkurs in die Geometrie:
Stell dir vor du startest an einem Punkt P1(x1,y1) und kommst an einem Punkt P2(x2,y2) an. Jetzt verbindest du die Punkte P1 und P2 zur Strecke "c". (Zeichne dir mal ne schräge Strecke auf ein Blatt Papier). Jetzt zeichnest du einfach mal eine Waagerechte durch den Punkt P1 und ne Senkrechte durch den Punkt P2. Da wo die beiden sich schneiden (und das rechtwinklig, damit ist der Pythagoras anwendbar) ist P3.
Dann ist
P1P3 = x2-x2
P2P3 = y2-y1
Soviel zur Grundlage. Jetzt brauchst du nur die Position der Maus am Anfangs- und Endpunkt entsprechende Variablen zuzuordnen und die Berechnung durchzuführen.
Wenn du wirklich die Länge eines Bogens und nicht der Verbindungslinie bestimmen willst, bestimmst du ein zeitlich oder örtlich hinreichend kleines Intervall und zerlegst den Bogen in Sekanten, deren Längen du bestimmst und einfach zusammen addierst.
Zur technischen Umsetzung wird dir in erster Linie wohl das
http://selfhtml.teamone.de/javascript/objekte/event.htm#page_x_y
http://selfhtml.teamone.de/javascript/objekte/window.htm#set_interval
helfen.
Und natürlich brauchst du alles Allgemeine zu Abfragen (do...while bietet sich wohl an) Variablen und Funktionen.
Grüße i.
Hi
welche strecke?
ich nehme mal an, dass du eine strecke meinst, die mit einem mausklick beginnt und endet. richtig?
dann speicher doch die beiden klicks in ein array oder string und lass' sie dann ausgeben. wo ist das problem?
gruß.
roger.
Hallo,
Ich habe ein JS gecodet, mit dem ich die aktuellen Maus-koordinaten anzeigen lassen kann.
Nun möchte ich eine Strecke berechnen, von einem Punkt zum anderen...Wie mache ich das??
Die Pythagoras-Antwort hast Du ja bereits erhalten.
In so einem "Mathe-Thread" will ich mal auf die Loesung mit einer SVG-Technik verweisen (koennte ja mal interessant werden). Gegeben seien zwei Punkte (100,100) und (200,200). Ihr Abstand ergibt sich demnach "klassisch" als Quadratwurzel(20000).
Wenn man beide Punkte als SVG-Pfad auffasst und dann die fuer beliebige Pfade (Linien, Boegen, Bezier-Kurven usw.) verfuegbare SVG-DOM-Methode getTotalLength() anwendet erhaelt man auch den gewuenschten Wert:
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg xmlns="http://www.w3.org/2000/svg">
<path id="pfad" d="M 100,100 L 200,200" style="stroke: #F00" onload="alert(svgDocument.getElementById('pfad').getTotalLength())"/>
</svg>
Ausgabe (unter Adobe SVG Viewer 3.01): 141.421
MfG, Thomas