vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

Visual-Basic Einsteiger
Re: "V" zeichnen 
Autor: Manfred X
Datum: 31.03.10 10:17

Hallo!

Teillösung für 2 Quadranten.
Die Bildschirm-Relationen x,y müssen evt.
noch zusätzlich beachtet werden.
(Bin schon zu lange aus VB6 raus ...)

Private Sub GeneriereV(ByVal x1 As Double, ByVal y1 As Double, _
                   ByVal x2 As Double, ByVal y2 As Double, _
                   ByVal winkel As Double, _
                   ByRef xv As Double, ByRef yv As Double)
 
'Schneller Vorschlag
'funktioniert wenn x1 > x2 und y1 > y2
'oder wenn x1 < x2 and y1 < y2 (also nur in 2 Quadranten)
 
Const eps As Double = 0.0001
Const PI As Double = 3.14159265358979
'Länge bestimmen
Dim l As Double: l = Abs(x1 - x2) ^ 2 + Abs(y1 - y2) ^ 2
If l < eps Then xv = x1: yv = y1: Exit Sub
l = Sqr(l)
 
Dim winkel1 As Double: winkel1 = Asin(Abs(y2 - y1) / l)
If x1 > x2 And y1 >= y2 Then winkel1 = winkel1 + PI
 
'Endpunkt der zweiten Linie berechnen
'Winkel (wie üblich) im Bogenmass
yv = y1 + l * Sin(winkel + winkel1)
xv = x1 + l * Cos(winkel + winkel1)
 
 
'gegebene Linie zeichnen
With Line1
   .x1 = x1: .y1 = y1: .x2 = x2: .y2 = y2
End With
 
'berechnete Linie zeichnen
With Line2
   .x1 = x1: .y1 = y1: .x2 = xv: .y2 = yv
End With
 
End Sub
 
 
Public Function Asin(ByVal x As Double) As Double
   If x >= 1 Then Asin = Atn(1): Exit Function
   If x <= -1 Then Asin = -Atn(1): Exit Function
   Asin = Atn(x / Sqr(-x * x + 1))
End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
"V" zeichnen1.582LesPaul30.03.10 15:54
Re: "V" zeichnen1.109Zardoz30.03.10 17:35
Re: "V" zeichnen1.150Manfred X30.03.10 18:06
Re: "V" zeichnen1.100LesPaul31.03.10 09:49
Re: "V" zeichnen1.088Manfred X31.03.10 10:17
Re: "V" zeichnen1.098LesPaul31.03.10 16:28
Re: "V" zeichnen1.096Manfred X31.03.10 17:34
Re: "V" zeichnen1.062LesPaul01.04.10 09:32
Re: "V" zeichnen1.026Manfred X01.04.10 09:59
Re: "V" zeichnen1.077LesPaul01.04.10 12:01
Re: "V" zeichnen1.021LesPaul01.04.10 12:02

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-2025 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