vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Koordinaten von Punkt C eines gleichseitigen Dreiecks 
Autor: met
Datum: 20.03.18 10:53

Hallo,

ich habe XY-Koordinaten von Punkt A und B eines gleichseitigen Dreiecks, sowie die Länge der Strecken AC und BC.

Kennt jemand eine Funktion, die mir die Koordinaten von C liefert?

Danke im Voraus
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Koordinaten von Punkt C eines gleichseitigen Dreiecks 
Autor: Manfred X
Datum: 20.03.18 12:22

Hallo!

Hier wird der allgemeine Fall behandelt:
http://www.weltderfertigung.de/archiv/jahrgang-2015/ausgabe-juli-2015/schnittpunktberechnung-kreis-kreis.php
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Koordinaten von Punkt C eines gleichseitigen Dreiecks 
Autor: Franki
Datum: 26.03.18 02:27

Hallo,

was ist denn der Hintergrund deiner Frage?
Du hast alle Koordinaen, zusätzlich die Angabe dass es sich um en gleiche Abmessungen handelt. Gleichseitig, gleichschenklig, usw., usw. Soweit so gut, du scheinst mathenatische Grundlagen zu beherrschen. Aber warum nicht erst mal enfach auf Papier die Formeln erstellen, dann rechnen und wenn du das verstanden hat in die Programmierung umsezten.

Wie das dann geht ist eine andere Sache. Ich vermute mal, dass du mangelnde Kenntnisse in Mathe auf die Programmierung verlagern möchtest. Das wird nicht funktionieren....

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Easy: Senkrechte zeichnen 
Autor: VB3-Guru
Datum: 14.07.18 17:59

Ach nu sei doch nicht so streng. Immerhin hat er eine berechtigte Frage gestellt.

@met
Also die Sache ist ganz einfach:
Du legts die Gerade von A nach B zunächst mal horizontal. C liegt irgendwo darüber.
Dann zeichnest du auf der Mitte dieser Geraden eine Senkrechte. Diese teilt dein Dreieck.
Nun weißt du dass beim gleichseitigen Dreieck alle Winkel in den Ecken gleich sind. Sie sind .... - sag du es - ungefähr haargenau alle 60°.
Nun kannst du die Formel:
y = L * Sin(alpha) 
'wobei L die Seitenlänge des gleichschenklichen Dreieckes ist, anwenden.
' Alpha ist 60°, also in Radian: Pi/3.VB rechnet in Radian, 
' also muss der Winkel in Radian angegeben werden
Pi = 4 * Atn(1) ' liefert dir 3,14159...etc
h = L * Sin(Pi/3)
'Das ist also die Höhe der Senkrechten, die das Dreieck halbiert. 
Die wird zum y-Wert von A dazuaddiert.
In x-Richtung ist eh alles klar: Die x-Position ist die Position von A + L/2, also der X-Wert von A + L/2
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Gleichseitiges Dreieck Konstruieren 
Autor: VB3-Guru
Datum: 15.07.18 17:52

So, und weils so schön ist, hier der gesamte Code für VB3 bis VB6

' Gleichseitiges Dreieck konstruieren
' -----------------------------------
 
' Autor: K. Langbein, www.ActiveVB.de, Juli 2018
' Ziegruppe: Schüler ab 8.Klasse, VB-Anfänger, Lehrer ;-)
'
' Siehe auch: https://de.wikipedia.org/wiki/Gleichseitiges_Dreieck
'
' Benötigt: Form1 mit Picture1 (ca. 15 x 15 cm) und Command-Button: cmdSet
 
Dim Pi As Double
 
Private Type PointD ' Variablentyp für Punkte (x,y)
    X As Double
    Y As Double
End Type
 
Dim A As PointD
Dim B As PointD
Dim C As PointD
Dim E As PointD
Dim F As PointD
 
Dim L As Double     ' Seitenlänge des gleichschenklichen Dreiecks
Dim Alpha As Double ' Winkel
 
 
Private Sub cmdDraw_Click()
 
    Pi = 4 * Atn(1)
    Picture1.Scale (0, 10)-(10, 0) ' Koordinatensystem von 10 x 10 Einheiten ( 
    ' z.B cm) einrichten.
 
    ' Werte setzen
    A.X = 2 ' X-Wert willkürlich bei 2
    A.Y = 3 ' Y-Wert für A - auch willkürlich, wie es halt passt
    B.X = 8 ' X-Wert für B kann nach belieben eingestellt werden
    B.Y = 3 ' Gleiche Y-Position wie bei A
    ' C.X und C.Y sind zunächst unbekannt.
 
    L = (B.X - A.X)      ' Seitenlänge bestimmen
    E.X = A.X + (L / 2)  ' Position der Halbierenden bestimmen
    E.Y = A.Y
 
    F.X = E.X ' X-Position der Halbierenden
    F.Y = 9.5 ' Y-Position von F ist zunächst willkürlich
 
 
    Picture1.Cls           ' Tafel wischen
    Picture1.ForeColor = 0 ' Schwarzmalerei
 
    Picture1.Line (A.X, A.Y)-(B.X, B.Y) ' Grundlinie Zeichnen
 
    Picture1.ForeColor = vbRed
    Picture1.Circle (A.X, A.Y), 0.1 ' Kleine Kreise zur Markierung der Punkte
    Picture1.Circle (B.X, B.Y), 0.1
 
    Picture1.Line (E.X, E.Y)-(F.X, F.Y) ' vertikale Einzeichnen
 
    ' --------------------------------------------------------------
 
    ' Jetzt gehts los: C wird bestimmt
    C.X = A.X + L / 2 ' Punkt C befindet sich an der Halbierenden des Dreiecks
    Alpha = Pi / 3    ' Beim gleichseitigen Dreieck haben alle Ecken einen 
    ' Winkel
                      ' von 60° entspricht Pi/3
 
    C.Y = A.Y + L * Sin(Alpha) ' Y-Position von C ist A.Y plus die errechnete 
    ' Höhe
 
    ' weitere Seiten des Dreiecks einzeichnen.
    Picture1.ForeColor = 0 ' Schwarzmalerei
    Picture1.Line (A.X, A.Y)-(C.X, C.Y) ' Seite A-C Einzeichnen
    Picture1.Line (B.X, B.Y)-(C.X, C.Y) ' Seite b-C Einzeichnen
 
    Picture1.ForeColor = vbRed
    Picture1.Circle (C.X, C.Y), 0.1 ' Kleine Kreise zur Markierung der Punkte
 
    ' Beschriftung
    Picture1.ForeColor = 0 ' Schwarzmalerei
    Picture1.CurrentX = A.X - 0.4 ' A wird etwas nach links gesetzt
    Picture1.CurrentY = A.Y + 0.2 ' etwas nach oben
    Picture1.FontSize = 12
    Picture1.FontBold = True
    Picture1.Print "A"
 
    Picture1.CurrentX = B.X + 0.2 ' "B" wird etwas nach rechts von Punkt B _
      versetzt
    Picture1.CurrentY = B.Y + 0.2
    Picture1.FontSize = 12
    Picture1.FontBold = True
    Picture1.Print "B"
 
    Picture1.CurrentX = C.X + 0.2
    Picture1.CurrentY = C.Y + 0.2
    Picture1.FontSize = 12
    Picture1.FontBold = True
    Picture1.Print "C"
 
    Picture1.CurrentX = A.X + 0.3
    Picture1.CurrentY = A.Y + 0.45
    Picture1.FontSize = 12
    Picture1.FontBold = False
    Picture1.Print "60" & Chr$(176) ' Beschriftung mit Winkel
 
    Picture1.Circle (A.X, A.Y), 1, , 0, (Pi / 3) ' Kreissegment für Winkel 
    ' einzeichnen.
 
    ' Aufgabe: Zeichne den Winkel bei B ein
    '          Zeichne das Kreissegment für B (Winkel bestimmen)
 
 
End Sub
 
Private Sub Form_Load()
    Picture1.AutoRedraw = True
    Picture1.BackColor = &HF0FFFF
End Sub
siehe auch:
www.ActiveVb.de/members/klaus/Math/Triangle/Equilateral_Triangle/Equilateral_Triangle.zip

Mehr zum Thema Mathe-Hausaufgaben gibts bei www.ActiveVB.de - ich wünsche einen angenehmen Schlaf und gute Noten.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel