vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 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

VB.NET - Ein- und Umsteiger
Punkt Rotation berechnen 
Autor: Bazi
Datum: 04.05.16 22:25

Hallo,
ich habe mir einen Winkelmesser mit Optik eines Geodreieckes programmiert. Ähnlich MB-Ruler.
Hintergrund ist ein Bitmap das in einer Picturebox gedreht werden kann.
Der Teil funktioniert soweit.
Auf der PictureBox habe ich auch Flächen gezeichnet, die als Buttons funktionieren sollen. Das tun sie solange ich das Dreieck nicht drehe. Sobald ich das mache passen die definierten Klick-Rechtecke nicht mehr. Die neu zu berechnen ist gerade mein Problem.

Klickpunkte, die den Mittelpunkt der jeweiligen Rechtecke darstellen habe ich für die unrotierte Grafik berechnet und als Variable gespeichert.
Auf dieser Basis wollte ich nun die rotierten Punkte berechnen:

 Private Function RotatedPoint(ByVal Pt As PointF, ByVal Angle As Integer, _
   ByVal Drehpunkt As PointF) As PointF
        Dim x = (Pt.X - Drehpunkt.X) * Math.Cos(Bogenmass(Angle)) - (Pt.Y - _
        Drehpunkt.Y) * Math.Sin(Bogenmass(Angle)) + Drehpunkt.X
        Dim y = (Pt.X - Drehpunkt.X) * Math.Sin(Bogenmass(Angle)) + (Pt.Y - _
        Drehpunkt.Y) * Math.Cos(Bogenmass(Angle)) + Drehpunkt.Y
        Return New PointF(x, y)
    End Function
Mit dem Ergebnis dass sich meine Punkte beim Rotieren des Bildes in doppelter Geschwindigkeit drehen. Also wenn ich das Dreieck um 180° drehe haben meine berechneten rotierten Punkte 360° durchlaufen.

Wo liegt mein Fehler?

Danke für die Hilfe

Gruß Christian

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Punkt Rotation berechnen1.608Bazi04.05.16 22:25
Re: Punkt Rotation berechnen943Bazi05.05.16 00:32

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