wie berechne ich ein kreis

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

martin1972

Betreff: wie berechne ich ein kreis

BeitragDo, Feb 02, 2006 15:42
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo zusammen!!!! ich bekomme immer eine box aber ich möchte es das es ne runden kreis wird!!!

danke

Graphics3D 840,620,32,2
SetBuffer BackBuffer()
camera=CreateCamera()
light=CreateLight(1)
RotateEntity light,90,0,0

CameraRange camera,820,2000

Dim c(1000)

Global ax
Global ay
Global a
For i=0 To 1000

test(ax,ay)

c(i)=CreateSphere()
ax=Rnd(820)-400
ay=Rnd(640)-300

PositionEntity c(i),ax,ay,1000

Next




zoom#=.1
While Not KeyDown(1)
If KeyDown(200) And zoom#<80 Then zoom#=zoom#+.01
If KeyDown(208) And zoom#>0 Then zoom#=zoom#-.01
CameraZoom camera,zoom#
RenderWorld
Text 0,0,zoom#
Text 10,10,a
Flip
Wend
End
Function test(ax,ay)
If ax>(ax*Pi) Or ay > (ay*Pi) Then a=a+1:Return True
End Function
 

Ava

Gast

BeitragDo, Feb 02, 2006 15:49
Antworten mit Zitat
Einen Kreis bekommst Du zb. so:
    For i = 0 to 359

    x = cos(i) * 100
    y = sin(i) * 100

    ...

    Next


So, und nun bist Du dran, daraus Deine Schlüsse zu ziehen und diese zu Gunsten Deines Codes zu gebrauchen. Wink

+ Ava +
  • Zuletzt bearbeitet von Ava am Do, Feb 02, 2006 15:49, insgesamt einmal bearbeitet

5k41

BeitragDo, Feb 02, 2006 15:49
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo!
Wo bekommst du wann eine Box? Ich seh da nur 1000 Spheres die da lustig rum fleigen^^
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

Blitzard

BeitragDo, Feb 02, 2006 16:01
Antworten mit Zitat
Benutzer-Profile anzeigen
bei mir funktioniert auch alles so wies soll^^
User posted image

aMul

Sieger des Minimalist Compo 01/13

BeitragDo, Feb 02, 2006 16:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaub, er möchte das sich die Kugeln in einem Kreis verteilen, nicht in einem Viereck.....
Hmm...
Ich schreib mal kurz in deinen Code was um, und schau ob es dann geht...

MfG


EDIT:
Ich kriegs nich hin -.-
Irgendwie bin ich grad zu blöd dafür.....
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver

darth

Betreff: ..

BeitragDo, Feb 02, 2006 18:45
Antworten mit Zitat
Benutzer-Profile anzeigen
y=sqr(r^2 - (x/v - dx)^2) + dy

zur erklärung:
r ist radius
v ist verformung (zur ellipsenbauung)
dx ist die x koordinate
dy ist die y koordinate

das ganze dann noch mit ein paar punkten machen (also in for-next schleife bauen) und: TADAAA!!!

(oder einfach oval nehmen)

[edit]
erstaunlicherweise gehts auf dem taschenrechner (bissl mehr als n normaler tr) besser als mit blitzbasic... :0 strange!
Diese Signatur ist leer.

skey-z

BeitragDo, Feb 02, 2006 20:46
Antworten mit Zitat
Benutzer-Profile anzeigen
oder:

x = x + Cos(winkel)*(entfernung zum Mittelpunkt)
y = y - Sin(winkel)*(entfernung zum Mittelpunkt)
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

hectic

Sieger des IS Talentwettbewerb 2006

BeitragFr, Feb 03, 2006 1:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn man ein immer fortwährenden Kreis zeichnen möchte, dann kann man auch auf die langsamen Sin/Cos-Funktionen verzichten und es wie folgt machen...

Code: [AUSKLAPPEN]
Graphics 400,400,0,2
SetBuffer FrontBuffer()

xm#=200 ;X-Mitte
ym#=200 ;Y-Mitte
xn#=180 ;X-Startposition
yn#=0   ;Y-Startposition


For q=0 To 99
 xn=xn-yn/15.918
 yn=yn+xn/15.918
 Plot xm+xn,ym+yn
Next


WaitKey


EDIT/ Ehmmm, voll an der Fragestellung vorbei geschossen... Sorry. Hier mal auch ein Ansatz wie man die 'Box' etwas minimieren kann.
ax=Rnd(-150,150)+Rnd(-150,150)
ay=Rnd(-150,150)+Rnd(-150,150)

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group