Spirale 2D Vogelperspektive

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Mathias-Kwiatkowski

Betreff: Spirale 2D Vogelperspektive

BeitragFr, Okt 15, 2010 5:19
Antworten mit Zitat
Benutzer-Profile anzeigen
puu ja wie soll ich anfangen der Titel lässt schon was deuten

ich möchte aus einer vogelperspektive eine spirale machen vom punkt a bis punkt b ( die knotenpunkte sind variabel )

so nun fängt mein problem an wenn man es malen sollte wäre es nich wirklcih richtig pixelgenau dehnbar, sei den man strecht es.

nun stellt euch mal 3 linien vor

------------->
------------->
------------->

und diese enden drehen sich ( ende gekenzeichnet mi > ) die unterste nach oben zur ersten die mitlere über die unterste die sich nach oben gedreht hat und die oberste nach unten die linie die halt unten war zur mitte.

ich weiss ich drück mich nun ein wenig mies aus, hab nr keine andere möglichkeit gefunden es zu beschreiben. naja jedenfalls könnt ihr euch nun vorstellen wie diese linien sich drehen sollen (hoffe ich ) nur wie programmiere ich soetwas? gibt irgendwo so ein kleines beispiel? oder sowas?

das sind halt spetzial effekte für spiele, nur eben habe ich von grafik 0 ahnung. (genauso partikel) falls man es dazu braucht...

danke im vorraus für eventuelle hilfe.

Xeres

Moderator

BeitragFr, Okt 15, 2010 10:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein Bild wäre Hilfreich gewesen, genauso Satzzeichen und wohlformulierte Sätze...
Meinst du Ebene Spiralen (WP)?
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Mathias-Kwiatkowski

BeitragFr, Okt 15, 2010 11:59
Antworten mit Zitat
Benutzer-Profile anzeigen
nunja sowas in der art mein ich schon nur halt vogelpers. und 2d ^^

stell dir ne spirale vor als ob es so aus sieht als ob du was an dich ran ziehst. diese spirale hört nie auf sich zu drehen.

habe mir gedacht so ne art "Bögen" wie in paint also grade linie ziehen dann einma unten und einma oben klicken dann hase ne art welle nun muss diese nur noch so animiert sein das es so aussieht als ob man was herran ziehen würde


*edit*
bestes beispiel amplitude, nur das die linien kontroliert ausschwingen sollen. das linke stück der linie nach oben das rechte nach unten und dan umgekehrt

Xeres

Moderator

BeitragFr, Okt 15, 2010 12:07
Antworten mit Zitat
Benutzer-Profile anzeigen
...What The Fuck?
Wenn du schon damit fortfährst kein Deutsch zu schreiben - spätestens jetzt hätte ich gerne eine Zeichnung.
Was ist denn bei dir Vogelperspektive? Ranziehen? Meinst du die optische Illusion die entsteht, wenn man eine Spirale dreht? Bögen?
Was willst du denn überhaupt darstellen?
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

ToeB

BeitragFr, Okt 15, 2010 12:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Besser hab ichs nicht hinbekommen, kannst du n bissel mit rumspielen, weiß nicht ob du sowas gemint hast :
Code: [AUSKLAPPEN]
Graphics 800, 600, 32, 2
SetBuffer BackBuffer()

Global Buffer = BackBuffer()

Repeat
   w = ( w + 1 ) Mod 360
   Spirale( 400, 300, 20, w, 10)
   Flip
   Cls
Until KeyHit(1)
End

;## XMitte, YMitte, Anzahl der spiralen, winkel, abstand der spiralen
Function Spirale( xPos, yPos, a#, w#, ab#=10.0 )
   LockBuffer Buffer
      a# = a# * ab#
      For i = 1 To a
         z# = i
         For j# = 1 To z
            WritePixel( xPos + Cos( i*ab+w+j ) * i, yPos + Sin( i*ab+w+j ) * i, $FF )   
         Next
      Next    
   UnlockBuffer Buffer
End Function 


Edit : Sry ist ja Bmax Embarassed


mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

mpmxyz

BeitragFr, Okt 15, 2010 13:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier habe ich ein BlitzMax-Beispiel:
BlitzMax: [AUSKLAPPEN]
SuperStrict
Framework brl.GLMax2D
Import brl.Math
Import brl.Timer
Import brl.PolledInput
Import brl.KeyCodes

Local Timer:TTimer=CreateTimer(60)

Graphics 800,600,0

Const WINKELSCHRITT:Float=10
Local drehung:Float=0

Local BestimmeRadius:Float(winkel:Float,durchlauf:Int)=Hyperbolisch 'wähle dir hier deine Spiralart aus

Repeat
Cls
drehung:+1
For Local winkel:Float=0 Until 360 Step WINKELSCHRITT
For Local durchlauf:Int=0 Until 10

Local durchlaufNeu:Int=durchlauf
Local winkelNeu:Float=winkel+WINKELSCHRITT
If winkelNeu>=360
winkelNeu:-360
durchlaufNeu:+1
EndIf
Local radiusNeu:Float=BestimmeRadius(winkelNeu,durchlaufNeu)

Local radius:Float=BestimmeRadius(winkel,durchlauf)

Local x1:Float=400+Sin(winkel+drehung)*radius
Local y1:Float=300-Cos(winkel+drehung)*radius
Local x2:Float=400+Sin(winkelNeu+drehung)*radiusNeu
Local y2:Float=300-Cos(winkelNeu+drehung)*radiusNeu
DrawLine x1,y1,x2,y2
Next
Next
WaitTimer(timer)
Flip 0
Until KeyHit(KEY_ESCAPE) Or AppTerminate()
End

Function Archimedisch:Float(winkel:Float,durchlauf:Int)
Return ((winkel+durchlauf*360)/360.0)*10.0
EndFunction
Function Logarithmisch:Float(winkel:Float,durchlauf:Int)
Return 0.001*10^((winkel+durchlauf*360)/360.0)
EndFunction
Function Hyperbolisch:Float(winkel:Float,durchlauf:Int)
Return 100.0/((winkel+durchlauf*360)/360.0)
EndFunction

Ich hoffe, dass ich dich richtig verstanden habe.
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

Holzchopf

Meisterpacker

BeitragFr, Okt 15, 2010 14:35
Antworten mit Zitat
Benutzer-Profile anzeigen
*mitrat*

Ich denke, Mathias sucht sowas:

BlitzMax: [AUSKLAPPEN]
SuperStrict
Framework brl.GLMax2D
Import brl.Timer

Graphics 800,600,0
Local timer:TTimer=CreateTimer(50)

Const LINES:Int = 3
Const DELTAANGLE:Int = 360 /LINES
Const SPEED:Int = 2
Local rot:Float=0

While Not KeyHit(KEY_ESCAPE) And Not AppTerminate()
Cls
rot :- SPEED
For Local i:Int = 0 Until LINES
Local angle:Int = rot +i*DELTAANGLE
For Local x:Int = 0 Until 800
Local a:Float = angle +x/8.0
Local y:Int = Sin(a)*200.0

SetColor x/3,0,Cos(a)*127+128
Plot x,300 +y
Next
Next
WaitTimer(timer)
Flip 0
Wend
End


Also quasi ein drehender Helix von der Seite.

mfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Mathias-Kwiatkowski

BeitragFr, Okt 15, 2010 19:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Holzchopf genu das ding meinte ich ^^ danke an alle die mitgeholfen haben ^^

BladeRunner

Moderator

BeitragSa, Okt 16, 2010 7:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Dies ist ein köstliches Beispiel dafür wie schwer es ist zu helfen wenn der Hilfesuchende sein Problem nicht ordentlich formuliert. Nur durch blankes Raten kamen wir hier zu einer Lösung, und ich könnte es niemandem übelnehmen hier nichts zu schreiben.
Mathias, auch für Dich nochmal:
Wenn Du Probleme hast versuche sie in klaren Sätzen zu formulieren. Interpunktion und Rechtschreibung werden um so wichtiger je komplexer das Problem wird. Skizzen sind gerne gesehen, ein Paint kann ja jeder Windowsnutzer vorweisen.
Nur dannn kann (und will) man vernünftig helfen.
Du hattest jetzt das Glück das Holzchopf genug Zeit und Muße zum Raten hatte, aber darauf kannst Du nicht bauen.

Also bitte: nimm Dir in Zukunft ein wenig mehr Zeit für deine Frage, überdenke ob sie verständlich ist und versuche deine Sätze kurz zu halten oder setze vernünftige Kommata.
Dann klappt's auch mit den Portalsnachbarn Smile
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group