kreisförmige Flugbahn(2D)
Übersicht

![]() |
DottakopfBetreff: kreisförmige Flugbahn(2D) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hio Blitzer !!
Wie es der Titel schon sagt gehts um ne kreisfürmige flugbahn eines 2D punktes... In 3D ist das mit pointentity,moveentity,entityparent recht leicht zu lösen aber in 2D nicht... Ok was soll es überhaupt mal werden : Ne art Bildschirmschoner, in der mitte befindet sich eine Kugel, welche nach geregelten intervalen kleinere kugeln erstellt. Diese bewegen sich dan kreisförmig von der "Mutter-kugel" nach außenhin weg. Wie so ein hypnosedingens... ![]() Gibts da bestimte befehle bzw. lösungsweg für ?.. Ich bin natürlich ned untätig gewesen und hab des selber mal probiert, naja seht selbst ![]() Code: [AUSKLAPPEN] Graphics 800,600,32 SetBuffer BackBuffer() Global x#= 400,y# = 300 Global wert# = 5,wert2# = 5 Global l = 1, l2 = 1 ;richtung l= 1 : links l= 0 : rechts Repeat Cls lala() Text 0,0, "wert2# : " + wert2# Text 0,20,"l2 : " + l2 Text 0,40,"wert# : " +wert# Text 0,60,"l : " +l Flip Until KeyHit(1) Function lala() ;rechts - links If l = 1 Then wert# = wert# -0.08 x# = x# - wert# If l = 0 Then wert# = wert# -0.08 x# = x# + wert# If l = 1 And wert# <= - 5 Then wert# = 5 l = 0 If l = 0 And wert# <= - 5 Then wert# = 5 l = 1 ;rauf runter If l2 = 1 Then wert2# = wert2# -0.1 y# = y# - wert2# If l2 = 0 Then wert2# = wert2# -0.1 y# = y# + wert2# If l2 = 1 And wert2# <= - 5 Then wert2# = 5 l2 = 0 If l2 = 0 And wert2# <= - 5 Then wert2# = 5 l2 = 1 Oval x#,y#, 2,2 End Function mfg Dottakopf |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
![]() |
the FR3AK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sin und Cos ![]() |
||
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
mist ich dachte ich könnte des umgehen ^^
kanst du mir kurz n crash kurs geben wie ich ihn anwende... muss die berechnung dan ja auch noch in nen type für jeden pachen ![]() ~Edit~ sry sry ich habs scho |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
![]() |
Justus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du hast eine Zählervariable, die du von 0 bis 360 inkrementierst und du positionierst deinen Pixel/deine Grafik immer an der Position Cos(zählervariable),Sin(zählervariable). Die Maße des Kreises kannst du bestimmen, indem du die Cos/Sin-Werte mit Zahlen multiplizierst. Also sind auch Ellipsen möglich.
Beispiel: Code: [AUSKLAPPEN] For i=0 to 360
plot Cos(i)*50,Sin(i)*50 next |
||
![]() |
pixelshooter |
![]() Antworten mit Zitat ![]() |
---|---|---|
also, ich erklär auch noch, was die machen, dann verstehst du den code ![]() in einem rechtwinkligen dreieck berechnen die beiden das verhältnis der längen von hypotenuse zu kathete zu einem bestimmten winkel an der hypotenuse. beispielsweise käme bei 90° für Sin 1 raus, was heißt, dass die gegenkathete zu dem winkel (die gegenüberliegende seite) 1 mal so lang ist, wie die hypotenuse. Cos beschreibt die anliegende kathete, ist also dann 0. für den kreis heißt das: Alle winkel durchzählen (also 0 - 360 für vollkreis, abstand = unterteilung) und dann immer x=Sin(winkel):y=Cos(Winkel) verstanden= wenn nicht frag ruhig, ist ja keine schande, sondern eher wie ich erkläre^^ -edit- mist, da war einer schneller^^. aber jetz verstest du hoffentlich, wozu die da sind...manchmal ganz praktisch |
||
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc |
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
jow danke für eure schnellen Antworten !
Sin cos tan ... nehmen wir gerade in der Schule durch... daher bin ich da noch nicht alzu helle ![]() Ich glaub des mit sin un cos bekomm ich scho gebacken, was auch recht schön erklärt wurde. Außerdem gibts n beispiel in der OH was ich eigentlich selbst sehen hätte müssen .... ![]() Also nochmal danke und bei rückfragen melde ich mich nochmal ! mfg Dottakopf |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das was du in der Schule im Bezug auf Sinus und Cosinus lernst, kannst sogut wie zu Null in einer Programmiersprache anwenden. Um es sich ganz einfach zu machen:
Stelle dir eine analoge Uhr vor deren Zeiger auf 3 Uhr den Startwert entspricht. Jede weitere 3 Stunden sind dann mit +90° zu bewerten. Also ist: 3 Uhr = 0° 6 Uhr = 90° 9 Uhr = 180° 12 Uhr = 270° 3 Uhr = 360° oder 0° (was identisch ist) Man positioniert den Mittelpunkt per X/Y -Koordinaten und kann mit Cos und Sin einen 'Kreis' um dem Mittelpunkt zeichnen. Der Radius wird gewöhnlich in Pixel angegeben. als Beispiel: X=XPositionMitte+ ql:Cos (Winkel)*Radius Y=YPositionMitte+ ql:Sin (Winkel)*Radius Wenn man die Variable 'Winkel' nun hoch zählt, kreist der Pixel um den Mittelpunkt mit dem Abstand von Radius. Um eine Umkehrfunktion zu berechnen, kann man das sehr vereinfachte ql:Atan2 von BB anwenden. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
- Zuletzt bearbeitet von hectic am Fr, März 23, 2007 21:01, insgesamt einmal bearbeitet
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das ist eigentlich das was du in der Mittelschule lernen solltest, sonst hattest du nen komischen Lehrer ![]() sin: Länge der Y Projektion des Radius im Einheitskreis mit Radius 1 cos: Länge der X Projektion des Radius im Einheiteskreis mit Radius 1 wenn man sich das Bild im Kopf behält, wird man nie Probleme haben, sich das vorzustellen und zu wissen wie und wo Cos und Sin sind und wie man mit ihnen programmiert ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group