linie in einem bestimmten Winkel machen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

mas93

Betreff: linie in einem bestimmten Winkel machen

BeitragFr, Sep 21, 2007 19:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi leute,
da ich immer noch so meine Probleme mit den Winkeln habe, frag ich euch mal.
Also, ich hab nen bestimmten Winkel.

Jetzt möchte ich von einer bestimmten Koordinate aus eine Linie in dem Winkel zeichnen.
Wie mache ich das??


wäre nett wenn ihr mir helfen könntet.

mfg
mas93
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]

Eingeproggt

BeitragFr, Sep 21, 2007 20:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Freestyle-gecodet:

Code: [AUSKLAPPEN]
length=200 ;Länge der Linie
Line koordinate_x,koordinate_y,koordinate_x+Cos(winkel)*length,koordinate_y+Sin(winkel)*length


mfg

mas93

BeitragFr, Sep 21, 2007 20:41
Antworten mit Zitat
Benutzer-Profile anzeigen
danke, funktioniert sehrgut.
Ich bin gerade dabei eine Uhr zu machen,
leider springt der winkel, wenn er bei 180 grad ist wieder auf 0 zurrück warum ist das so??

Code: [AUSKLAPPEN]
AppTitle"Clock"

Graphics 640,480,32,2
SetBuffer BackBuffer()

Global koordinate_x=100,koordinate_y=100
Global length=50
Global winkel



Repeat
   Zeit$=CurrentTime()
   Datum$=CurrentDate()
   
   hh=Mid$(Zeit$,1,2)
   mm=Mid$(Zeit$,4,2)
   ss=Mid$(Zeit$,7,2)
   Oval 40,40,120,120,0
   dd$=Mid$(datum$,1,2)
   mo$=Mid$(datum$,4,3)
   yy$=Mid$(datum$,8,4)
   
   winkel=ss*3
   Text 20,50,winkel
   
   Text 20,5,"Zeit:  "+hh+":"+mm+":"+ss
   Text 20,20,"Datum: "+dd$+" "+mo$+" "+yy$
   
   Line koordinate_x,koordinate_y,koordinate_x+Cos(winkel)*length,koordinate_y+Sin(winkel)*length
   
   Flip
   Cls
Until KeyHit(1)


mfg
mas93
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]

Eingeproggt

BeitragFr, Sep 21, 2007 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
so vielleicht?:
Code: [AUSKLAPPEN]
winkel=(ss-15)*6


(einfach herumgespielt^^)

ToeB

BeitragSa, Sep 22, 2007 18:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würds dann eher so machen :

Code: [AUSKLAPPEN]
winkel=-(180+(ss*6))


und bei der Linie :

Code: [AUSKLAPPEN]
Line koordinate_x,koordinate_y,koordinate_x+Sin(winkel)*length,koordinate_y+Cos(winkel)*length


Sin und Cos verstauschen, dann kommt auch nicht diese 45° verrückung raus...


mfg Crack93


~EDIT~ :



Code: [AUSKLAPPEN]
AppTitle"Clock"

Graphics 640,480,32,2
SetBuffer BackBuffer()

Global koordinate_x=100,koordinate_y=100
Global length_s=50,length_m=45,length_h=35
Global winkel_s,winkel_m,winkel_h
Global v_s$,v_m$,v_h$



Repeat
Zeit$=CurrentTime()
Datum$=CurrentDate()

hh=Mid$(Zeit$,1,2)
mm=Mid$(Zeit$,4,2)
ss=Mid$(Zeit$,7,2)
dd$=Mid$(datum$,1,2)
mo$=Mid$(datum$,4,3)
yy$=Mid$(datum$,8,4)

winkel_s=-(180+(ss*6))
winkel_m=-(180+(mm*6))
winkel_h=-(180+(hh*6))
If hh < 10 Then v_h = "0":Else v_h = ""
If mm < 10 Then v_m = "0":Else v_m = ""
If ss < 10 Then v_s = "0":Else v_s = ""
Color 255,255,255
Oval 40,40,120,120,0

Text 20,5,"Zeit: "+v_h+hh+":"+v_m+mm+":"+v_s+ss
Text 20,20,"Datum: "+dd$+" "+mo$+" "+yy$
Color 255,0,0:Line koordinate_x,koordinate_y,koordinate_x+Sin(winkel_s)*length_s,koordinate_y+Cos(winkel_s)*length_s
Color 255,255,0:Line koordinate_x,koordinate_y,koordinate_x+Sin(winkel_m)*length_m,koordinate_y+Cos(winkel_m)*length_m
Color 0,255,0:Line koordinate_x,koordinate_y,koordinate_x+Sin(winkel_h)*length_h,koordinate_y+Cos(winkel_h)*length_h

Flip
Cls
Until KeyHit(1)


Hier noch ein Update für :
-Farbe der "Zeiger"
-Länge der "Zeiger"
-Wenn ein Wert < 10 dann soll eine "0" davor gesetzt werden

/~Edit~

Smily

BeitragSa, Sep 22, 2007 19:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Um mathematisch korrekt zu sein muss eigentlich so gearbeitet werden:

x = x + cos(ri)
y = y - sin(ri)

das - im y kommt daher, weil der PC nicht mit dem mathematischen koordinatensystem arbeitet, also dass 0,0 unten links ist. also muss y sozusagen gespiegelt werden.

gruß,
Smily0412
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group