2016-07-25 22 views
0

Ich versuche ein richtig gedrehtes gleichschenkliges Dreieck zu machen. Ich habe folgende Daten:Wie finde ich alle Punkte eines gleichschenkligen Dreiecks mit dem Eckpunkt, dem Basismittelpunkt und der Basisbreite?

  • Die (x, y) Koordinaten des Scheitelpunktes, A
  • Die (x, y) Koordinaten des Mittelpunkts der Basis, a m
  • Die Breite des Basis , ein

Und ich muss die Koordinate finden tes der anderen beiden Punkte, B und C. Was ist ein Algorithmus zum Finden dieser letzten zwei Punkte mit nur den obigen Informationen? Suche Google hat mir gerade eine Menge von Gleichungen, die davon ausgehen, dass es direkt nach oben gerichtet ist, aber ich muss diese platziert werden vor eine Transformation durchgeführt wird.

An isosceles triangle rotated so that the vertex (labeled with a blue capital A) is in the lower-left and the base (labeled with a red lower-case a) is on the upper-right. The base is bisected by its midpoint (labeled by a green a with a subscript m). The other two points are labeled with a purple capital B and an orange capital C, respectively.

+2

Ich wähle diese Frage als Wegthema zu schließen, weil es über Mathematik ist. –

+0

@HighPerformanceMark Bitte lassen Sie mich wissen, wo die Grenze zwischen Rechenfehlern im Pseudocode und Problemen mit Mathe liegt, damit ich weiß, wo ich zukünftige Fragen stellen kann. Außerdem unterscheidet sich meine Frage von den anderen 25k ['math'] (http://stackoverflow.com/questions/tagged/math) Fragen. –

Antwort

1

Für B und C:

  1. die normalisierte Richtungsvektor finden a_mA = (A - a_m)/|A - a_m|
  2. einen Vektor orthogonal a_mA zum Vektor finden - die es a_mA'
    • a_mA' = (-a_mA.y, a_mA.x) nennen lassen
  3. B, Schritt width/2 Einheiten in Richtung a_mA' zu finden und fügen a_m:
    • B = (width/2)*a_mA' + a_m
  4. C zu finden, Schritt -width/2 Einheiten in Richtung a_mA' und fügen a_m:

JsFiddle Beispiel: https://jsfiddle.net/asq7h2jd/

+0

Warum der Downvote? Die Antwort liefert einen konkreten Algorithmus mit einer beispielhaften Implementierung. – sarasvati

+0

Schön, funktioniert wie ein Charme! Keine Ahnung warum der Downvote, aber mein Up konterte es :) –

+0

@BenLeggiero Danke :) Ich bin froh, dass ich helfen konnte. Wenn Sie die Antwort mögen, ziehen Sie bitte in Betracht, es anzunehmen. – sarasvati