Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Sippo

Anmeldungsdatum: 17.04.2008 Beiträge: 125
|
Verfasst am: 22.04.2008, 16:18 Titel: Kreise die um kreise kreisen |
|
|
Ich will ein Universum für ein spiel machen und dafür benötige icheinen Kreis in der Mitte und darum herum kreise die auf bahnen kreisen. Ich habe so etwas schon einmal gesehen weiß aber nicht mehr wo. Könnt ihr mir helfen? Danke schon mal. |
|
Nach oben |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 22.04.2008, 16:28 Titel: |
|
|
Läßt sich leicht mit ausrechnen, wenn Du z. B. für die X-Koord. Sinus und für die Y-Koord. den Cosinus von irgendwas nimmst. _________________ Und die Grundgebihr is aa scho drin- DOS is jo nett. |
|
Nach oben |
|
 |
Sippo

Anmeldungsdatum: 17.04.2008 Beiträge: 125
|
Verfasst am: 22.04.2008, 16:30 Titel: |
|
|
das kapier ich nich so ganz. also sin und cos und so kenn ich aber kannst mir vll ein codebeispiel geben? |
|
Nach oben |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 22.04.2008, 16:33 Titel: |
|
|
Ja, habe aber im Moment nicht griffbereit. Heute abend dann  _________________ Und die Grundgebihr is aa scho drin- DOS is jo nett. |
|
Nach oben |
|
 |
Sippo

Anmeldungsdatum: 17.04.2008 Beiträge: 125
|
Verfasst am: 22.04.2008, 16:44 Titel: |
|
|
ok danke |
|
Nach oben |
|
 |
Klößchn 1x verwarnt

Anmeldungsdatum: 22.03.2008 Beiträge: 77 Wohnort: Donauwörth
|
Verfasst am: 22.04.2008, 17:27 Titel: |
|
|
Code: |
Dim X As Integer
Dim Y As Integer
Dim I As Single
screen 18
Do
screenlock
cls
pset(x,y),15
screenunlock
sleep 1
x = (sin(i)*320)+320
y = (sin(i)*240)+240
i += .01
Loop Until Multikey(1)
|
Sollte so gehn |
|
Nach oben |
|
 |
Sippo

Anmeldungsdatum: 17.04.2008 Beiträge: 125
|
Verfasst am: 22.04.2008, 17:41 Titel: |
|
|
das ja lustig. Sry aber sinn der sache war dass sich der kreis um etwas dreht und nicht auf einer linie hin und her fetzt.
gibts denn irgendwo ein tutorial dafür (ausser beim freebasicportal )? |
|
Nach oben |
|
 |
Caran

Anmeldungsdatum: 11.03.2007 Beiträge: 290 Wohnort: Lörrach
|
Verfasst am: 22.04.2008, 17:54 Titel: |
|
|
Ist es das, was du meinst?
Code: |
Dim As Integer x,y
Dim As Single i
Screen 16, 32
Do
i += 0.01
x = Sin(i)*50 + 200
y = Cos(i)*50 + 200
screenlock
Cls
Circle (x,y), 10, &hFFFFFF
PSet (200,200),&hFFFFFF
ScreenUnLock
Sleep 1
Loop Until LCase(InKey) = "q" |
MfG Caran
Edit:
Jetzt noch mal etwas besser.
Code: | Dim As Integer x,y
Dim As Integer x1,y1
Dim As Single i
Screen 16, 32
Do
i += 0.005
x = Sin(i)*100 + 200
y = Cos(i)*100 + 200
x1 = Sin(i*2)*75 + x
y1 = Cos(i*2)*75 + y
screenlock
Cls
Circle (x,y), 50, &hFFFFFF
Circle (x1,y1), 10, &hFFFFFF
PSet (200,200),&hFFFFFF
ScreenUnLock
Sleep 1
Loop Until LCase(InKey) = "q" |
_________________ Eine Erkenntnis von heute kann die Tochter eines Irrtums von gestern sein. |
|
Nach oben |
|
 |
Sippo

Anmeldungsdatum: 17.04.2008 Beiträge: 125
|
Verfasst am: 22.04.2008, 18:00 Titel: |
|
|
genau danke. aber trotzdem noch die Frage gibts für das zeichnen mit Befehlen und das bewegen auf linien und so irgendwo ein tutorial?
und wie kann man den kreis füllen?
das mit der änderung ist perfekt, danke. Nun muss ich nur noch rauskrigen wie ich das auch selber machen kann. |
|
Nach oben |
|
 |
Caran

Anmeldungsdatum: 11.03.2007 Beiträge: 290 Wohnort: Lörrach
|
Verfasst am: 22.04.2008, 18:05 Titel: |
|
|
Ein Tutorial wüsste ich auf Anhieb nich, aber wie man den Kreis ausfüllt weis ich:
Code: | Circle (x,y), 50, &hFFFFFF,,,,F |
Hierzu kann man ja mal in die Befehlsreferenz schauen, was die Funktion Circle noch alles kann.
MfG _________________ Eine Erkenntnis von heute kann die Tochter eines Irrtums von gestern sein. |
|
Nach oben |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 22.04.2008, 18:24 Titel: |
|
|
Hier mein Proggy, ursprünglich für QBasic geschrieben (und auch ein bißchen fehlerhaft, aber funzt )
Es produziert ein Sonnensystem mit 3 Planeten und einen Mond.
Code: | DECLARE SUB Mond (X!, Y!, K!, G!, P!, Bogen)
DECLARE SUB Zeichnen (X0!, Y0!, K!, G!, P!, Bogen)
DIM SHARED P(1 TO 4): ' Index der Planeten
FOR Ph = 1 TO 4
P(Ph) = Ph
NEXT Ph
DIM SHARED X(1 TO 4), Y(1 TO 4): 'Variablen der aktuellen Parameter
DIM SHARED XA(1 TO 4), YA(1 TO 4): 'Variablen der alten Parameter
DIM SHARED G0(1 TO 4): ' AusgangsgrӇe des Kreises
DIM SHARED G(1 TO 4): 'sichbare GrӇe des Kreises
DIM SHARED GA(1 TO 4): ' GrӇe des alten Kreises
DIM SHARED K(1 TO 4): ' Kreisbahn
DIM Bogen: Bogen = 3.141592654# / 180
K(1) = 0: K(2) = 0: K(3) = 0: K(4) = 0
CONST X0 = 320, Y0 = 240: 'Variablen der Ausgangskoordinaten
G0(1) = 7: G0(2) = 10: G0(3) = 18: G0(4) = 3 'AusgangsgrӇen der Planeten
SCREEN 12: ' Graphikdarstellung
CLS
CIRCLE (X0, Y0), 25, 15: ' Sonne
DRAW "P15,15"
DO
FOR PL1 = 0 TO 1
FOR PL2 = 0 TO 1
FOR PL3 = 0 TO 2
CALL Zeichnen(X0, Y0, K(1), G(1), P(1), Bogen)
K(1) = K(1) + 1
IF K(1) = 360 THEN K(1) = 0
Taste$ = INKEY$
IF Taste$ <> "" THEN EXIT DO
FOR M = 1 TO 2
K(4) = K(4) + 1
CALL Mond(X(4), Y(4), K(4), G(4), P(4), Bogen)
IF K(4) = 360 THEN K(4) = 0
NEXT M
NEXT PL3
K(2) = K(2) + 1
CALL Zeichnen(X0, Y0, K(2), G(2), P(2), Bogen)
IF K(2) = 360 THEN K(2) = 0
NEXT PL2
K(3) = K(3) + 1
CALL Zeichnen(X0, Y0, K(3), G(3), P(3), Bogen)
IF K(3) = 360 THEN K(3) = 0
NEXT PL1
LOOP
SUB Mond (X!, Y!, K!, G!, P!, Bogen)
X(4) = X(2) + SIN(K(4) * Bogen) * P * (15 + 2 * COS(K(2) * Bogen))
Y(4) = Y(2) + COS(K(4) * Bogen) * P * (6 + 2 * COS(K(2) * Bogen))
G(P) = G0(P) + COS(K(2) * Bogen) + COS(K(4) * Bogen)
CIRCLE (XA(P), YA(P)), GA(P), 0: ' alten Kreis berzeichnen
CIRCLE (X(P), Y(P)), G(P), 7: 'neuen Kreis zeichnen
XA(P) = X(P): YA(P) = Y(P): GA(P) = G(P): ' šbergabe der Altparameter
END SUB
SUB Zeichnen (X0!, Y0!, K!, G!, P!, Bogen)
X(P) = X0 + SIN(K(P) * Bogen) * 100 * P: 'Berechnung X-Position aus X0
Y(P) = Y0 + COS(K(P) * Bogen) * 42 * P: 'Berechnung Y-Position aus Y0
G(P) = G0(P) + (G0(P) / 2) * COS(K(P) * Bogen): 'Berechnung der GrӇe aus G0
CIRCLE (XA(P), YA(P)), GA(P), 0: ' alten Kreis berzeichnen
CIRCLE (X(P), Y(P)), G(P), 7: 'neuen Kreis zeichnen
XA(P) = X(P): YA(P) = Y(P): GA(P) = G(P): ' šbergabe der Altparameter
FOR V = 1 TO 4000: NEXT V: ' Verz”gerung
END SUB
| Die Berechnung der Kreisbahn liet in der Sub "Mond". _________________ Und die Grundgebihr is aa scho drin- DOS is jo nett. |
|
Nach oben |
|
 |
Sippo

Anmeldungsdatum: 17.04.2008 Beiträge: 125
|
Verfasst am: 22.04.2008, 18:33 Titel: |
|
|
wow danke nochmal an alle dir mir geholfen haben. Allerdings funzt das letzte nicht in freebasic ohne es zu verändern. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 22.04.2008, 18:54 Titel: |
|
|
Ein bisschen Eigeninitiative wäre wünschenswert... Ich seh da eh nicht viel, was es zu ändern gäbe, höchstens die !-Suffice in AS SINGLE umzuwandeln... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Sippo

Anmeldungsdatum: 17.04.2008 Beiträge: 125
|
Verfasst am: 22.04.2008, 19:08 Titel: |
|
|
jaja die änderungen werde ich natürlich selbst vornehmen. habe mich falsch ausgedrückt sry.  |
|
Nach oben |
|
 |
Sippo

Anmeldungsdatum: 17.04.2008 Beiträge: 125
|
Verfasst am: 22.04.2008, 19:45 Titel: |
|
|
doch noch eine Frage wie kann ich denn nun noch die Farbe der Kreise ändern und was sind das für viele f's? |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Sippo

Anmeldungsdatum: 17.04.2008 Beiträge: 125
|
Verfasst am: 22.04.2008, 19:51 Titel: |
|
|
ok habe ich bisher auch vermieden, das war ein versehen. und mit dem color befehl gehts net, hab ich schon versucht. trotzdem danke. |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4699 Wohnort: ~/
|
Verfasst am: 22.04.2008, 20:07 Titel: |
|
|
Die Farbe bei Kreisen kannst du in der Befehlsreferenz unter dem Befehl CIRCLE finden. Ansonsten empfehle ich, allgemein zu Grafik, all die anderen Befehlslinks, die unten auf der CIRCLE-Seite zu finden sind (insb. auch SCREEN für Auflösung und Farbenzahl). _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 22.04.2008, 20:14 Titel: |
|
|
Sippo hat Folgendes geschrieben: | und mit dem color befehl gehts net, hab ich schon versucht. trotzdem danke. |
Würdest du den Artikel, den ich dir nicht ganz grundlos verlinkt habe, freundlicherweise bitte wenigstens bis zum Ende durchlesen? Der Abschnitt ab "Die Farbnummern und die zugehörige Farbe [...]" beantwortet deine Frage nach den Fs. _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
Sippo

Anmeldungsdatum: 17.04.2008 Beiträge: 125
|
Verfasst am: 22.04.2008, 20:19 Titel: |
|
|
sry aber ich glaube ich programmiere heute schon zu lange.  |
|
Nach oben |
|
 |
|