Rotierende Tangente

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Radius+MittelPunkt+Radius
Macht Sinn. Ich war mir dessen auch vorher schon bewusst aber hab kein Plan gehabt das zu eliminieren.

Vielen dank PureLust & Kaeru! BildBild
Zuletzt geändert von Fluid Byte am 16.07.2007 23:09, insgesamt 1-mal geändert.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

jaa... aber mach dann noch die "sinnlosen" Berechnungen weg :

Code: Alles auswählen

#Width = 350 
#Height = 350 
#WhiteSpace = 30 
#Linelength = 100 
#Radius = #Height / 2 - 0.333
#CenterX =  (#Width / 2) + #WhiteSpace - 0.333
#CenterY =  (#Height / 2) + #WhiteSpace - 0.333
Debug #CenterX  
       
CreateImage(0,#Width + (#WhiteSpace * 2),#Height + (#WhiteSpace * 2)) 

OpenWindow(0,0,0,#Width + (#WhiteSpace * 2),#Height + (#WhiteSpace * 2),"void",#WS_OVERLAPPEDWINDOW | 1) 
CreateGadgetList(WindowID(0)) 
ImageGadget(0,0,0,0,0,ImageID(0)) 

SetWindowColor(0,0) 

SetTimer_(WindowID(0),0,40,0) 

Procedure WindowCallback(hWnd,uMsg,wParam,lParam) 
   Static Angle = 0 
    
   Select uMsg 
      Case #WM_TIMER 
      Angle + 90 
       
      StartDrawing(ImageOutput(0)) 
;       Box(0,0,#Width + (#WhiteSpace * 2),#Height + (#WhiteSpace * 2)) 
      Circle((#Width / 2) + #WhiteSpace,(#Height / 2) + #WhiteSpace,11,#Red) 
      DrawingMode(4) 
      Circle((#Width / 2) + #WhiteSpace,(#Height / 2) + #WhiteSpace,#Width / 2,#Red) 
      DrawingMode(0)       

      BogenAngle.f = Angle * #PI/180

      X0.f = Sin(BogenAngle) * #Linelength/2 
      Y0.f = -Cos(BogenAngle) * #Linelength/2 
       
      FX.f = #CenterX + Cos(BogenAngle) * #Radius 
      FY.f = #CenterY + Sin(BogenAngle) * #Radius 
       
      LineXY(FX + X0, FY + Y0, FX - X0, FY - Y0,#Green)       
    
      StopDrawing() 
       
      SetGadgetState(0,ImageID(0))      
   EndSelect 
    
   ProcedureReturn #PB_ProcessPureBasicEvents 
EndProcedure 

SetWindowCallback(@WindowCallback()) 

While WaitWindowEvent() ! 16 : Wend
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Jadoch STARGÅTE, hab Nachsicht. Bild
Windows 10 Pro, 64-Bit / Outtakes | Derek
Antworten