2D Drawing ... Bug im Kopf
2D Drawing ... Bug im Kopf
Hi Leute !
Gestern habe ich mir scheinbar die letzten Gehirnzellen weg gesof.....
Ich kriege das nicht mehr hin, dass ich in 2D Linien von der Mitte eines Kreises nach Außen zeichne im Abstand von zb. 20 Grad.... sollten dann ja 18 Linien sein. Ich steh völlig am Schlauch.... Hilfe, Bitte !
Gestern habe ich mir scheinbar die letzten Gehirnzellen weg gesof.....
Ich kriege das nicht mehr hin, dass ich in 2D Linien von der Mitte eines Kreises nach Außen zeichne im Abstand von zb. 20 Grad.... sollten dann ja 18 Linien sein. Ich steh völlig am Schlauch.... Hilfe, Bitte !
PB 5.62 / Windows 11 64Bit (i5/32GB/240GB-SSD+3TB-HDD/1050GTX4GB) / 27" Multitouch Monitor
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
Re: 2D Drawing ... Bug im Kopf
Code: Alles auswählen
EnableExplicit
Define ww, wh, style, win, canvas, event, quit
ww=800
wh=600
style | #PB_Window_ScreenCentered
style | #PB_Window_SystemMenu
style | #PB_Window_MinimizeGadget
win = OpenWindow(#PB_Any, 50,100, ww,wh, "", style)
AddKeyboardShortcut(win, #PB_Shortcut_Escape, 10)
canvas = CanvasGadget(#PB_Any, 0, 0, ww, wh, #PB_Canvas_Keyboard)
StartDrawing(CanvasOutput(canvas))
Define a.f = 0
Define r.f = 100
While a < 360
LineXY(ww/2, wh/2, ww/2 + (r * Cos(Radian(a))), wh/2 + (r * Sin(Radian(a))), $00ff00)
a + 20
Wend
StopDrawing()
Repeat
event = WaitWindowEvent(100)
Select event
Case #PB_Event_CloseWindow
quit = #True
Case #PB_Event_Menu
Select EventMenu()
Case 10
quit = #True
EndSelect
EndSelect
Until quit
Re: 2D Drawing ... Bug im Kopf
Musste kurz überlegen. Urzeiger sinn
Code: Alles auswählen
Define x, y, dx, dx, len
len = 100
x = 0
y = y
For winkel = 0 To 359 Step 20
alpha.f = Radian(winkel)
dx = x + Sin(alpha) * len
dy = y + Cos(alpha) * len
Debug "w = " + winkel +" dx = " + dx + " dy = " + dy
Next
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: 2D Drawing ... Bug im Kopf
Danke, habe jetzt im dem Codearchiv gesucht und diesen Code missbraucht.... aber eurer ist schöner....
DANKE !
DANKE !
PB 5.62 / Windows 11 64Bit (i5/32GB/240GB-SSD+3TB-HDD/1050GTX4GB) / 27" Multitouch Monitor
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
Re: 2D Drawing ... Bug im Kopf
Herje, ist mir schon peinlich.
Der Code sieht gut aus, aber wie mach ich es, dass er nicht aus der Mitte zeichnet, sondern quasi ca 10 Pixel vor dem Ende des Striches beginnt... es soll also nur der äußere Ring zu sehen sein.... Hätte ich mal in Mathe besser aufgepasst
Der Code sieht gut aus, aber wie mach ich es, dass er nicht aus der Mitte zeichnet, sondern quasi ca 10 Pixel vor dem Ende des Striches beginnt... es soll also nur der äußere Ring zu sehen sein.... Hätte ich mal in Mathe besser aufgepasst
PB 5.62 / Windows 11 64Bit (i5/32GB/240GB-SSD+3TB-HDD/1050GTX4GB) / 27" Multitouch Monitor
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
Re: 2D Drawing ... Bug im Kopf
Sollte so stimmen ...
Code: Alles auswählen
Define.d x, y, dx, dy, dx1, dx1, len1, dx2, dy2, len2
Define alpha.d
len1 = 100
len2 = 110
x = 0
y = 0
For winkel = 0 To 359 Step 20
alpha = Radian(winkel)
dx = Sin(alpha)
dy = Cos(alpha)
dx1 = x + dx * len1
dy1 = y + dy * len1
dx2 = x + dx * len2
dy2 = y + dy * len2
Debug "w = " + winkel +" dx = " + dx + " dy = " + dy
Next
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: 2D Drawing ... Bug im Kopf
Danke, habe extra meinen Commodore c16 ausgegraben, weil ich da irgendwo auf einer Kassette so einen code habe
Werde es mir aber morgen früh nochmal angucken. Heute muss ich noch Mr. Puniverse, Boulder Dash und "one man and His Android" spielen.... Wenn der grad mal läuft
Werde es mir aber morgen früh nochmal angucken. Heute muss ich noch Mr. Puniverse, Boulder Dash und "one man and His Android" spielen.... Wenn der grad mal läuft
PB 5.62 / Windows 11 64Bit (i5/32GB/240GB-SSD+3TB-HDD/1050GTX4GB) / 27" Multitouch Monitor
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
Re: 2D Drawing ... Bug im Kopf
Du kannst bei LineXY() auch dem Startpunkt einen Radius mit draufgeben, z.B. 0.5 mal deinen vollen Radius, dann zeichnet er von der Hälfte bis außen (1.0*Radius). Genauso kannst du den End-Radius auch verringern, z.B. (0.75*Radius).
Code: Alles auswählen
EnableExplicit
Define ww, wh, style, win, canvas, event, quit
ww=800
wh=600
style | #PB_Window_ScreenCentered
style | #PB_Window_SystemMenu
style | #PB_Window_MinimizeGadget
win = OpenWindow(#PB_Any, 50,100, ww,wh, "", style)
AddKeyboardShortcut(win, #PB_Shortcut_Escape, 10)
canvas = CanvasGadget(#PB_Any, 0, 0, ww, wh, #PB_Canvas_Keyboard)
StartDrawing(CanvasOutput(canvas))
Define a.f = 0
Define r.f = 100
While a < 360
; grün: ganze Linie von r 0 (Mittelpunkt) zu r (ganz außen)
LineXY(ww/2,
wh/2,
ww/2 + (r * Cos(Radian(a))),
wh/2 + (r * Sin(Radian(a))),
$00ff00)
; rot: Teilradius, *0 wäre Mittelpunkt, *1.0 wäre ganz außen also voll r
Define r1.f = r * 0.5
Define r2.f = r * 0.75
LineXY(ww/2 + (r1 * Cos(Radian(a))),
wh/2 + (r1 * Sin(Radian(a))),
ww/2 + (r2 * Cos(Radian(a))),
wh/2 + (r2 * Sin(Radian(a))),
$0000ff)
a + 20
Wend
StopDrawing()
Repeat
event = WaitWindowEvent(100)
Select event
Case #PB_Event_CloseWindow
quit = #True
Case #PB_Event_Menu
Select EventMenu()
Case 10
quit = #True
EndSelect
EndSelect
Until quit