dritte koordinate eines dreiecks

Neue Frage »

toktok Auf diesen Beitrag antworten »
dritte koordinate eines dreiecks
hallo zusammen,

für eine flashanwendung benötige ich eure hilfe einen ansatz zur berechnung der
dritten koordinate eines rechtwinkligen dreiecks von dem mir folgende dinge bekannt sind...

(zur verdeutlichung siehe beigefügtes bild)

- Punkt C (x,y)
- Punkt B (x,y)
- dadurch die länge der kathete b
- länge der kathete a

und somit alle winkel...

--------------

soweit so gut... leider fehlt mir ein ansatz bei der berechnung der x- & y-koordinate
des punktes A. dazu sollte ich aber noch erwähnen, das in der finalen flashanwendung,
bei der aktuellen anzahl der dreiecke und einer framerate von 40 fps somit allein in
einer sekunde die berechnung 1600 mal ausgeführt werden muss. umso wenig wie möglich
ressourcen des rechner in anspruch zu nehmen, bin ich an dem kürzesten lösungsansatz
interessiert.

vielen lieben dank schon mal für eure hilfe!!!

gruss
toktok
JochenX Auf diesen Beitrag antworten »

wie das mit dem aufwand aussieht, kA

wir nehmen die zeicheneben als den IR^2
aufstellen des vektors senkrecht zu BC
diesen auf die länge von a bringen
an C ansetzen

ergibt 2 mögliche koordianten für A, einmal "nach unten" und einmal "nach oben"
toktok Auf diesen Beitrag antworten »

hi LOED,

mag sein das ich bei dem thema vectoren in diesem moment 'krank' war oder liegt es daran,
das es schon 'so lange' her ist (zwei argumente die hier wahrscheinlich öffters zu hören sind) ...

ich habe deinen ansatz leider nicht verstehen können. könntest du bitte darauf detaillierter
eingehen? vielleicht sogar den ein oder anderen tipp geben auf welchen seiten ich mir für
die benötigten schritte mehr hintergrund verschaffen kann?

vielen dank!

toktok
phi Auf diesen Beitrag antworten »

Hallo Toktok, Willkommen

Auf die Schnelle bekomm´ ich´s auch grade nicht hin (..schäm!), werde aber bis Morgen dranbleiben, da es eine intressante Grundlagenfrage ist.

Bis dahin: Wäre es nicht sinnvoller ein Dreieck mit den gewünschten Eigenschaften in ein Symbol zu konvertieren? Flash nimmt dir dann nämlich genau die Vektorberechnungen alle ab. Als Symbol kannst du es ja dann drehen, wenden und verzerren wie du willst.

Gruß, phi
Sciencefreak Auf diesen Beitrag antworten »

Also rein vom Rechenaufwand würde ich das ganze mit Steigung betrachten, zuerst rechnest du einfach die Steigung der Strecke b aus. Daraus kann man dann die Steigung der Strecke a bestimmen (ein -1/m) daraus kann man dann einfach die Längenverhätnisse der Entfernung in x- und y-Richtung von C aus bestimmen. Dann einfach ein Mal den Phytagoras und du hast die Verschiebung bezügich des Punktes C und somit den letzten Punkt

Edit1:So etwas kriegt man nämlich wenigstens ordentlich programmiert, ich weiß nicht, wie dein Programm mit Vektorrechnung klar kommt und dort erst mal etas in der Richtung zu programmieren halte ich auch für sinnlos.

@phi:Ich weiß nicht, ob er immer die gleichen Seitenverhältnisse haben will, oder einfach nur die oben genannten Werte eintippen will

Edit2: Das ganze sähe dann in etwas so aus



Das sind erst mal nur Nebenrechnungen






)






wenn du Lust hast, kannst du in der Zeile wo y definiert wird auch noch ein Plus-Minus machen, dann hast du beide Dreiecke.

Edit3:Latex verbessert, ich hoffe das stimmt dann alles in etwa
phi Auf diesen Beitrag antworten »

@Sciencefreak: Find ich gut das du dir die Mühe gemacht hast für ´nen Nichtmathematiker die Aufgabe zu lösen. Ich weiß aus eigener Erfahrung das man mit solchen Grafikprogrammen zuweilen genug zu tun (und zu lernen) hat. Deswegen sollte in diesem Fall eine Ausnahme gemacht werden, und die komplette Lösung gepostet werden.

Da ich heute meine Analytische Geometrie Unterlagen nicht parat habe, hab´ ich auch das Dreieck als drei lineare Funktionen betrachtet. Bin aber aus Zeitgründen noch nicht ganz fertig. Morgen kann ich vielleicht meine Lösung mit deiner vergleichen, um sicher zu gehen.
 
 
Sciencefreak Auf diesen Beitrag antworten »

Eigentlich sollte sich kein Fehler eingeschlichen haben, aber ich hätte trotzdem nichts dagegen. Was das posten der Lösung angeht, so bin ich der Meinung, dass es sich hierbei nicht gerade um ein Mathehausaufgabe handelt und der programmiertechnische Aspekt im Vordergrund steht. Und wenn er sich wirklich mit dem mathematischen Hintergrund beschäftigen will, so kann er dies immer noch tun. Das mit dem Lösung posten hat ja nur das Problem, dass wir dadurch den Leuten die Chance geben das ganze einfach nicht zu tun und es nicht zu lernen, auch wenn sie es eigentlich sollen, aber das scheint mir hier nicht der Fall zu sein
phi Auf diesen Beitrag antworten »

@ Sciencefreak: Ich hab´ bei deinen Ansatz Werte eingesetzt, und festgestellt es stimmt nicht. Was sollen eigentlich x und y genau sein. Pythagoras mit der Strecke b kann ja nur b_1=c_1+x und b_2=c_2+y (Fehler editiert) liefern.

Deswegen hab ich x^2+y^2=|a|^2 probiert, funzt auch nicht.

Ich bin jetzt soweit, dass ich eine Funktion
g(a_1)=|a|^2-(a_1)^2 =m_ax+g_o=a_2.

Läuft also auf eine quadratische Gleichung hinaus.

Grade beim abtippen, hab ich bei mir einen Vorzeichen- Fehler entdeckt. Werd´s gleich berichtigen und dann sehen ob mein Ansatz dann funzt.

Kann es sein das du bei den linearen Gleichungen die Absolutglieder vergessen hast?

Gruß, phi.
toktok Auf diesen Beitrag antworten »

vielen dank ihr zwei! - als visuell fokussierter mensch, möchte ich euch
meine frage nochmals skizzieren.

in flash möchte ich mit ein unregelmäßiges viereck zeichen. soweit kein
problem, nur soll das viereck einen dropShadow bekommen. diesen muss
ich in flash aber aufwendig berechnen, da das viereck in seinen ausmaßen,
position seiner eckpunkte & rotation sich dynamisch in seinen werten ver-
ändern kann. der schatten an den seiten zu erzeugen ist relativ einfach,
da ich eine 1px breite schatten linie an den eckpunkten der seite ausrichte
(skalierung & rotation). die ecke des vierecks dagegen ist tricky. da die winkel
sich je nach position der eckpunkte verändern. im prinzip ist der schatten
der ecke ein kreis (ROT), der deckungsgleich mit dem eckpunkt des
vierecks in seiner position ausgerichtet wird. um diesen schatten in seiner
ausdehnung zu begrenzen, damit er mit den schatten der seitenlänge ab-
schließt, muss ich den kreis mit einer dynamisch erzeugten maske (BLAU)
begrenzen.

mein gedankengang, da ich jeweils die eckpunkte des vierecks und die höhe
der schattenkante kenne, müsste sich daraus der mir fehlende punkt (B)
errechnen lassen, um die eckschattenmaske zu zeichnen.

jetzt wo ihr den anwendungsfall kennt, habt ihr vielleicht sogar noch einen
besseren lösungsansatz.

vielen dank nochmals für euer engagement bei der beantwortung meiner
frage und ja.. ich möchte sämtliche hintergründe verstehen um gegebenenfalls
bei einer ähnlichen situation in flash das nächste mal mit einem lächeln, die aufgabe selbstständig lösen zu können Augenzwinkern

laters
toktok
Sciencefreak Auf diesen Beitrag antworten »

Ich glaub ich hab ein kleines Verständnisproblem. Wieso hat dein Schatten den Rundungen? Ein Viereck, das von einer punktförmigen Lichtquelle bestrahlt wird hat sicher keine solche runden Schatten haben sondern der Schatten hat dort keine Rundung sondern hört da auf, wo sich die beiden Schattenkanten schneiden.
toktok Auf diesen Beitrag antworten »

die schattenkante ist aus acht übereinander liegenden vektor-quadraten
aufgebaut. mit dem oben beschriebenen kreisausschnitt, der ja auch aus
acht kreisen aufgebaut ist, triffst du die nächste seite des vierecks, sprich
die acht quadrate ohne einen optischen bruch im schatten zu haben.
du darfst auch nicht vergessen, das flash nur vektoren zeichnen kann.
Poff Auf diesen Beitrag antworten »

d=sqrt((Bx-Cx)^2+(By-Cy)^2)

Ax=Cx+a*(By-Cy)/d
Ay=Cy-a*(Bx-Cx)/d

bzw
A'x=Cx-a*(By-Cy)/d
A'y=Cy+a*(Bx-Cx)/d

sollte stimmen
toktok Auf diesen Beitrag antworten »

tut es leider nicht... oder ich liege total daneben http://www.matheboard.de/images2/smilies/kopfkratz.gif

ich gehe von eine gleichschenkligen dreieck mit folgenden koordinaten aus.

C = 100/100
B = 400/100
a = 300
b = 300

der gesuchte punkt A sollte also auf 100/300 liegen

c=sqrt((Bx-Cx)^2+(By-Cy)^2)
c = 424,26406871

Ax=Cx-a*(By-Cy)/c
Ay=Cy+a*(Bx-Cx)/c

Ax = 100
dieser x-wert wird richtig berechenet

Ay = 312.132034355964
dieser y-wert sollte aber bei 300 liegen
Poff Auf diesen Beitrag antworten »

Bring deiner Maschine mal ordentliches Rechnen bei.
Die Richtigkeit der Lösung lässt sich allgemein zeigen.


c=sqrt((Bx-Cx)^2+(By-Cy)^2)
c = 424,26406871


bei mir ergibt das glatte 300 !!

und in Folge
Ax = 100
Ay = 400


Probe:
CA = (0;300)
|CA| = sqrt(0^2+300^2) = 300

CA*CB = 0 dh. rechter Winkel bei C

... alles wie erwünscht
toktok Auf diesen Beitrag antworten »

danke, ihr habt mir sehr geholfen!

(-: toktok
Cookiie Auf diesen Beitrag antworten »

Hi,

ich bin neu hier und habe aber ein ähnliches Problem wie TokTok.
Für eine Programmieraufgabe benötige ich den Mittelpunkt eines Kreises.
Gegeben habe ich nur 2 Punkte (jeweils x,y-Koordinate) und den Winkel des Kreisbogens zwischen diesen 2 Punkten.
Soweit so gut, Ich weiß das ich damit alles berechnen kann. Der Radius ist jeweils der Abstans von beiden Punkten zum Mittelpunkt die damit ein gleichschenkliges Dreieck bilden, da ich das weiß, kann ich alle Winkel und alle Seitenlängen berechnen. Das klappt auch alles.
Mien Problem liegt nun darin die Koordinaten des Mittelpunktes zu bestimmen, ich komme einfach nicht auf ein vernünftiges Ergebniss. Beispiel, bei Winkel 180° müßte der Mittelpunkt direkt auf der Verbindungslinie zwischen den 2 Punkten liegen.
Ich konnte das Problem soweit eingrenzen, daß wenn ich von der Skizze im ersten Post ausgehe, ich Punkt C und Punkt A gegeben hab. Ich brauche also die Koordinaten von Punkt B. Logischerweise gibt es 2 Lösungen, einmal rechts und einmal links von der Strecke CA.
Da im Thread leider nur fertige Lösungen stehen, konnte ich leider nicht nachvollziehen wie man zu der Lösung kommt.
Ein umstellen der Formel half auch nicht weiter, es ist nicht ersichtlich auf welches Dreieck sich jeweils bezogen wird, also wofür a. b, c steht.

Ich hoffe es erbarmt sich noch jemand und hilft mir weiter.

Gruß Michael
riwe Auf diesen Beitrag antworten »

sei C der mittelpunkt der stecke AB und der öffnungswinkel 2alpha,
dann hast du c1=(x1+x2)/2 und c2=(y1+y2)/2 und mit


hast du die koo der mittelpunkte


der radius ist wohl kein problem
werner
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »