PlanetSwitch Planet3DS PlanetVita PSP.de PlanetiPhone Classics Forum Handheld-Wiki

PGN-ID:[?] (Nicht eingeloggt)
Login
Registrieren
PlanetDS PlanetGameboy N-Page.de
portablegaming.de  

Zurück   portablegaming.de > Allgemeines Spielehandheldforum, GBA, N-Gage und Development > Development Abteilung


Development Abteilung Ihr wollt für euren Lieblingshandheld Spiele oder Tools entwickeln?
Bitte die Präfixe benutzen!

Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
Alt 10.02.2003, 20:11   #1
 
Registriert seit: 27.12.2002

Flash106 hat die Renommee-Anzeige deaktiviert

Unglücklich Kreise Zeichnen??(HAM)

Hallo.... ich hab grad angefangen mich mal etwas mit gab dev zu beschäfftigen.. wollt erstmal was kleines wie tictacto machen... da gibts ja cuh so zeichen funktion wie line oder putpixel... aber keine circle....

wie zeichne ich denn jetzt nen kreis?? ich weis da man kreise berechnen kann... ... vielleicht kann mir jemand dabei helfen.. vielen dank

Flash
Flash106 ist offline   Mit Zitat antworten
Sponsored Links
Alt 10.02.2003, 20:20   #2
Ehemaliger Admin
 
Benutzerbild von hurik
 
Registriert seit: 27.12.2001
Ort: Konstanz
Alter: 36
Spielt gerade: Original Wars (PC, 2001) sack schwer ...

hurik ist jedem bekannthurik ist jedem bekannthurik ist jedem bekannthurik ist jedem bekannthurik ist jedem bekannthurik ist jedem bekannthurik ist jedem bekannthurik ist jedem bekannt

hurik eine Nachricht über ICQ schicken
Standard

das kann ich auch net und es ist auch nicht so einfach. sogar recht schwer. also ohne fundierte mathematische kenntnisse keien chance ausser du klaust es dir irgendwo zu sammmen oder benutzt doch einfach sprites und bgs.
hurik ist offline   Mit Zitat antworten
Alt 10.02.2003, 20:31   #3
 
Registriert seit: 27.12.2002

Flash106 hat die Renommee-Anzeige deaktiviert

Standard

Also mein freund hat das in einer zeile gelöst aber in pascal... hab die zeile in ham übernommen dann die mathe.h eingebunden.. aber ... grrr...
ham hat kein round befehl.. den brauch ich aber... man muß doch irgendwie zahlen runden können oder??? das ist der code für den kreis:

for (i=1; i<360;i++)
{
ham_PutPixel(x+20+ round(sin(i)*19),y+20+ round(cos(i)*19) , 5000);
}

aber wiegsagt... kein round.. *hilflos*
Flash106 ist offline   Mit Zitat antworten
Alt 10.02.2003, 21:40   #4
Ehemaliger Admin
 
Benutzerbild von hurik
 
Registriert seit: 27.12.2001
Ort: Konstanz
Alter: 36
Spielt gerade: Original Wars (PC, 2001) sack schwer ...

hurik ist jedem bekannthurik ist jedem bekannthurik ist jedem bekannthurik ist jedem bekannthurik ist jedem bekannthurik ist jedem bekannthurik ist jedem bekannthurik ist jedem bekannt

hurik eine Nachricht über ICQ schicken
Standard

einfach mal weglassen. hab da keien ahnugn aber wir waren ma auf eien antwort vom dummen anfänger. der weis da mehr.
hurik ist offline   Mit Zitat antworten
Alt 10.02.2003, 22:23   #5
 
Registriert seit: 27.12.2002

Flash106 hat die Renommee-Anzeige deaktiviert

Standard

Ich habs!! *freu*... SO:
ham_PutPixel(x+20+floor(sin(i)*19),y+20+floor(cos( i)*19) , 5000);
hihi... ganz einfach... ist nur leider sehr langsam... aber es funzt ertsma.... an dem langsam problem arbeite ich noch
Flash106 ist offline   Mit Zitat antworten
Alt 10.02.2003, 22:33   #6
Moderator
 
Benutzerbild von goldmomo
 
Registriert seit: 03.02.2003

goldmomo hat die Renommee-Anzeige deaktiviert

Standard RE: Kreise Zeichnen??(HAM)

Wenn du einen schnelle Kreis willst,
dann nimm kommst du um den Bresenham-Kreis
nicht drumrum !

Hab hier mal einen Algo. in MaxonBasic,
sollte leicht in C umschreibar sein.
Pset ist Punkt machen, DEFINT ist eigentlich nur
int ....

Also schneller gehts bestimmt nicht

DEFINT xh,yh,d,dx,dy

x = 160
y = 128
r = 80

xh = 0
yh = r

d = 1-r
dx = 3
dxy = -2*r + 5


WHILE(yh >= xh)

PSET(x+xh,y+yh)
PSET(x+yh,y+xh)
PSET(x+yh,y-xh)
PSET(x+xh,y-yh)
PSET(x-xh,y-yh)
PSET(x-yh,y-xh)
PSET(x-yh,y+xh)
PSET(x-xh,y+yh)

IF d<0 THEN

d=d+dx
dx=dx+2
dxy=dxy+2
xh=xh+1
ELSE
d=d+dxy
dx=dx+2
dxy=dxy+4
xh=xh+1
yh=yh-1

END IF
WEND
goldmomo ist offline   Mit Zitat antworten
Alt 10.02.2003, 22:50   #7
Ehemaliger Admin
 
Benutzerbild von hurik
 
Registriert seit: 27.12.2001
Ort: Konstanz
Alter: 36
Spielt gerade: Original Wars (PC, 2001) sack schwer ...

hurik ist jedem bekannthurik ist jedem bekannthurik ist jedem bekannthurik ist jedem bekannthurik ist jedem bekannthurik ist jedem bekannthurik ist jedem bekannthurik ist jedem bekannt

hurik eine Nachricht über ICQ schicken
Standard

erinnerung taucht in meinem hirn auf. ich glaube auch gelesen zu haben das das mit dem brensenham oder wie imemr er heisen mag am schnellsten geht.

du könntest auch alternativ oben die cos und sin werte vorberechnen also das hier "+20+ round(sin(i)*19". also in einer header alle 720 (360 * 2) werte berechent haben das is sehr angenehm. udn sehr schnell. benutzte ich auch bei rotation.

der gba ist sack lahmmit koma zahlen hat keinen coprozessor dafür bzw. wrd net vo nder hardware unterstützt.

frage: floor() macht ganzzahlen?
hurik ist offline   Mit Zitat antworten
Alt 10.02.2003, 23:28   #8
Moderator
 
Benutzerbild von goldmomo
 
Registriert seit: 03.02.2003

goldmomo hat die Renommee-Anzeige deaktiviert

Standard RE: Kreise Zeichnen??(HAM)

So jetzt hats mich gepackt
Das musste ich mal in Assembler schreiben,
also ich schaffe ~2100 Kreise mit Radius 60 in einer Sekunde (im Mode 4, Code im IRAM). Geht bestimmt noch schneller

Wenn du Assembler einbinden kannst, dann hier der
Code. Das Setpoint solltest du evtl. austauschen oder
modifizieren. Achso, keine Garantie und bitte
nicht über meine Optimierung meckern

;**** zeichne kreis
;
; r0 = x , r1 = y
; r3 = r
;

draw_circle

stmfd sp!,{r0-r12,lr}


mov r4,#0 ;xh = 0
mov r5,r3 ;yh = r

rsb r6,r3,#1 ;d = 1-r
mov r7,#3 ;dx = 3

;dxy = -2*r + 5

rsb r8,r3,#0 ;-r
mov r8,r8 lsl 1 ;*2
add r8,r8,#5 ;+5

rep_circle
cmp r5,r4 ;WHILE(yh >= xh)
blt stop_circle

add r9,r0,r4 ;PSET(x+xh,y+yh)
add r10,r1,r5
bl setpoint

add r9,r0,r5 ;PSET(x+yh,y+xh)
add r10,r1,r4
bl setpoint

add r9,r0,r5 ;PSET(x+yh,y-xh)
sub r10,r1,r4
bl setpoint

add r9,r0,r4 ;PSET(x+xh,y-yh)
sub r10,r1,r5
bl setpoint

sub r9,r0,r4 ;PSET(x-xh,y-yh)
sub r10,r1,r5
bl setpoint

sub r9,r0,r5 ;PSET(x-yh,y-xh)
sub r10,r1,r4
bl setpoint

sub r9,r0,r5 ;PSET(x-yh,y+xh)
add r10,r1,r4
bl setpoint

sub r9,r0,r4 ;PSET(x-xh,y+yh)
add r10,r1,r5
bl setpoint

teq r6,#0 ;IF d<0 THEN

addmi r6,r6,r7 ;d=d+dx
addmi r7,r7,#2 ;dx=dx+2
addmi r8,r8,#2 ;dxy=dxy+2
addmi r4,r4,#1 ;xh=xh+1
;ELSE
addpl r6,r6,r8 ;d=d+dxy
addpl r7,r7,#2 ;dx=dx+2
addpl r8,r8,#4 ;dxy=dxy+4
addpl r4,r4,#1 ;xh=xh+1
subpl r5,r5,#1 ;yh=yh-1

b rep_circle

stop_circle

ldmfd sp!,{r0-r12,lr}
mov pc,lr



;**** setpoint im mode 4
; r9 = x
; r10 = y

setpoint

mov r11,#$6000000

add r11,r11,r9 ;+x
add r11,r11,r10 lsl 8 ;+y*256
sub r11,r11,r10 lsl 4 ;-y*16

ands r12,r11,#1 ;adresse gerade ?
bic r11,r11,#1 ;mache gerade

ldrh r12,[r11] ;hole wort

orreq r12,r12,#1 ;
orrne r12,r12,#$100 ;

strh r12,[r11] ;schreibe wort

mov pc ,lr

;****
P.s.:

Da sag noch einer Assembler ist gross länger als BASIC

Leider mag dieses Forum keine TABS und auch keine SPACES??? Deshalb sieht der Code etwas verschoben aus
goldmomo ist offline   Mit Zitat antworten
Alt 11.02.2003, 16:16   #9
 
Registriert seit: 27.12.2002

Flash106 hat die Renommee-Anzeige deaktiviert

Standard

danke für die antworten ...

ich hab auch gehört das das mit dem vorberechnen der sin und cos werte schneller geht... werd ich dann auch machen... das mit dem asm speicher ich mir erstmal

flash
Flash106 ist offline   Mit Zitat antworten
Alt 11.02.2003, 16:39   #10
ehem. Teammitglied
 
Benutzerbild von Tharo
 
Registriert seit: 02.09.2002
Ort: フランクフルト
Spielt gerade: FF7 Remake

Tharo wird schon bald berühmt werdenTharo wird schon bald berühmt werden

Standard

Endlich mal Freaks in unsrem Forum !

Bin begeistert
Zeit mal wieder ein paar Tutos zu schreiben und tools zu veröffentlichen !!
__________________
Ney ney ney. So viel Sand und keine Förmchen

Code:
Hey DU! Join uns im PG Discord! https://discord.gg/SVqutfFpTc
Tharo ist offline   Mit Zitat antworten
Alt 11.02.2003, 16:51   #11
 
Registriert seit: 27.12.2002

Flash106 hat die Renommee-Anzeige deaktiviert

Standard

JA!!! TUTS!!!

*haben will* *g*...
Flash106 ist offline   Mit Zitat antworten
Alt 12.02.2003, 09:02   #12
 
Registriert seit: 12.02.2003
Alter: 38

drogenbote hat die Renommee-Anzeige deaktiviert

drogenbote eine Nachricht über ICQ schicken
Standard

@hurik:

allgemein

floor-funktion: nächstkleinere ganze Zahl
ceiling-funktion: nächstgrößere ganze Zahl

müsste stimmen...

sorry für meinen kleinen ausrutscher ... ich bin noch müde und hab daneben geklickt

CU
drogenbote ist offline   Mit Zitat antworten
Alt 14.02.2003, 19:41   #13
 
Registriert seit: 27.12.2002

Flash106 hat die Renommee-Anzeige deaktiviert

Standard

tja.. irgendwie bin ich zu blöd für den asm code... bin jetzt nämlich soweit fertig mit meinem tictactoe und dachte da probier ich mal den asm.. aber nö... kriegs nich implementiert... hab mindestens zwei seiten voll fehlermeldungen.. grr..und nu?? *schnief*... mag doch diss schnelle asm haben
Flash106 ist offline   Mit Zitat antworten
Alt 15.02.2003, 11:55   #14
ehem. Teammitglied
 
Benutzerbild von Tharo
 
Registriert seit: 02.09.2002
Ort: フランクフルト
Spielt gerade: FF7 Remake

Tharo wird schon bald berühmt werdenTharo wird schon bald berühmt werden

Standard

Das mag daran liegen das dies nich sooo einfach geht.

Mein Tip: Geh mal zur Visual Boy Advance HP. Da iss nen Sample wie man eine Funktion schreibt die Text in der DOS Konsole ausgibt.

Die Funktion bekommt sogar parameter übergeben ...

Bau dir deinen ASM Teil in sowas rein, dann geht dess sicher
__________________
Ney ney ney. So viel Sand und keine Förmchen

Code:
Hey DU! Join uns im PG Discord! https://discord.gg/SVqutfFpTc
Tharo ist offline   Mit Zitat antworten
Antwort

  portablegaming.de > Allgemeines Spielehandheldforum, GBA, N-Gage und Development > Development Abteilung

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Hamtaro-Ham-Ham-Heartbreak Nudelsuppe12 Hilfe (GBA) 1 24.05.2007 12:45
Symbole Zeichnen Space_Ghost Sonstiges (Nintendo DS) 3 10.05.2006 21:25
Menschen zeichnen kirinriki Art 15 27.06.2005 16:29
Der HAM HAM Hype Topic! randis Spiele (GBA) 8 30.06.2003 18:42


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:21 Uhr.


Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0
Template-Modifikationen durch TMS
PortableGaming.de © bk 2000 - 2010

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231