1

salut
j'ai fait une routine pour une rotation d'un sprite de 16*16 avec comme centre de rotation le point (8,8) dans ce sprite. Ca marche mais y'a plein de trous dans le sprite final, et on m'a dit que c'était pas forcemment la bonne méthode, alors je viens chercher des idées
voici mon code:
Bon, c'est surement très mal fait mais j'ai juste cherché à ce que cela marche, alors ...
si vous voyez comment résoudre mon problème, allez y grin
(ici, c une rotation fixe de 90 degres, mais j'implanterai une table + tard smile)
merci d'avance smile


[edit]Edité par gugusg le 16-12-2001 à 20:38:26[/edit]
En préretraitre

2

il y a truc aussi avec les sinus mais bon je ne m'en souviens plus donc je ne pense pas que cela ai un rapport avec ta question smile

3

La meilleure façon c'est l'inverse... tu prend un point sur l'écran et tu regarde à quel pixel de ton sprite ça correspond, comme ça t'es sur de ne pas te retrouver avec des trous à la fin smile
[ Come take us out of here / take us anywhere... oh yeah ]

4

c donc cela cette "fameuse" méthode tongue
En préretraitre

5

même principe ke le texture mapping, on y revient encore tongue
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

6

muls #0,d0
muls #-256,d1
muls #-256,d2
muls #0,d3

j'adore ces lignes. Tu as fait un effort particulier, non ?

7

gringringrin
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

8

??? confus
c juste que ca va etre remplacé par une table, alors je voit pas le prob confus
En préretraitre

9

ok,ok... c'est la valeur de tes angles, c ça?
bah, d'accord... ms quand même, 6 multiplications... tu dois pouvoir faire + simple et + rapide qd même... déjà tu pe en virer deux qui servent pas à grand chose...
tes deux muls #2,dx, bah tu fé add dx,dx c qd même mieux grin
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

10

celle là, j'allais les virer grin
mais les 4 autres, je vois pas confus
En préretraitre

11

Est-ce que ces valueurs sont suceptibles de varier ?
Sinon rappel :
0 x 1 = 0
0 x 2 = 0
0 x 3 = 0
0 x 4 = 0
0 x 5 = 0
0 x 6 = 0
...

12

Pour les muls, fais des lsl à la place...
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

13

lol le rappel gringrin
c vrai que des muls #0 c rare de voir ça wink

14

Et moi qui pensais que clr.l était la manière la plus lente d'effacer un registre de données... grin Je me demande si on peut trouver pire que muls #0,dn... grin
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

15

mais nan! vs avez pas compris son code ou koi?
regardez le titre du topic! "rotations" ok? winkgrin

tous ces muls, a mon avis, servent à effectuer cette rotation, enfin, il me semble... il a du mettre ça en attente d'une table précalculée de sin/cos wink
dc en fait, ça sert à rien qu'il optimise ça, ça lui donnera une fausse idée de la vitesse finale quand ça variera... apparemment de 256 à -256
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

16

laisse les, va ! ils ont pas lus la phrase imporante :
Bon, c'est surement très mal fait mais j'ai juste cherché à ce que cela marche, alors ...

la vraie question est celle ci : comment on passe de la forme finale (comment l'obtient-on), et comment fait on pour la remplir correctement après.

si on a un truc comme ça à l'arrivée :

   8
  888
 88888
  000
   0


j'éspère que ce shéma va rendre qqchose
:D

17

heuresement que Sbibi comprend quelquechose roll
sinon, je pense avoir compris l'autre méthode donc tout baigne wink
En préretraitre

18

j'ai aussi compris la question, mais le schéma est tout pourri et moche, désolé.

si t'as compris une méthode, tout baigne alors wink
:D

19

toi aussi rv wink
oué, je pense avoir compris, mais je pourrais vérifier que ce week-end
en fait j'ai mis longtemps à comprendre un truc du fait que le sprite fait 16*16, donc si le centre est au milieu ca merde un peu (en fait y'a pas vraiment de milieu sad)
mais je pense avoir compris, donc tout baigne smile
En préretraitre

20

CETTE ROUTINE MARCHE PARFAITEMENT
Si vous voyez des améliorations possibles, faites moi signe s'il vous plait smile
me demander pour la routine smile
[edit]Edité par gugusg le 30-12-2001 à 22:51:50[/edit]
En préretraitre

21

bon, déjà, ça n'a aucun rapport avec ton pbl, mais pkoi tu recalcules les sin/cos dans TA BOUCLE D'AFFICHAGE ?????

fais le à l'extérieur, ils ne changeront pas!
tu sauvegardes les valeurs trouvées et tu fé tes muls dans ta boucle...
pareil pour tous les lea! pas besoin de les refaire à chaque itération de la boucle!!
sinon, ton bug, j'en c rien, chuis cmpltm naze là, et v dormir... @+ bonnuit
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

22

sBibi > g pigé ce que tu veut dire smile
sinon pour mon pb confus
personne sad
En préretraitre

23

ben non, on dirai personne mourn
En préretraitre

24

bah déjà essaye de l'écrire en basic, ça doit être une couille avec les conditions... ptet un bge au lieu d'un bgt, des trucs comme ça...
t'essayes de voir d'où vien le pbl en basic, et après tu corriges dans ton code asm smile
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

25

oué, mais c bizarre que ca couille que pour le 180°
confus
pour le 90 et -90° y'a pas de pb !!
En préretraitre

26

qua pour 180° hein? dis moi, quand tu dépasses un angle de 180 °, ça fé koi?
ça mets -180° dans l'angle, -179 ° ? 181° ?
tes angles vont de koi à koi?
0/360 ?
-180/180 ?

et, je v peut-être dire une connerie, mais le pbl pourrait venir de là:

 cmp #0,d3	      ;on verifie que x et y sont dans le sprite
  blt continue
  cmp #15,d3
  bgt continue
  cmp #0,d0
  blt continue
  cmp #15,d0
  bgt continue


pourquoi tu fais ces tests? c'est por vérifier que la position calculée des points est dans le sprite non? je pense pas que ça serve à grand chose... si tu le vires, ça devrait faire pareil, vu que la position calculée sera toujours dans le sprite...
et essaye en remplaçant tous les blt/bgt par ble/bge dans le bout de code ci-dessus, voir ce ke ça fait...
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

27

pour les autres rotations proches je sais pas > y'a la deformation et on voit pas trop
pour les tests> ben si
1- je prend tous les octets un par un du sprite d'arrivée
2- je fait la rotation inverse
3- JE TESTE S'ILS SONT BIEN SUR LE SPRITE DE DEPART et si c un blanc ou un noir
4- je change ou pas le bit sur le sprite d'arrivée

Si je fait pas le test ca risque bien de foirer pour le test sur le sprite d'arrivée (vu que je teste entre les bits 0 et 15)

En préretraitre

28

mais si tu prends les points du sprite d'arrivée et que tu les rotate, ils seront dans le sprite de départ!
à mon avis y a pas besoin de tt ça...
et essaye ble bge à la place de blt bgt smile
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

29

ben pas forcement
attention si on prend un angle et que tu fait une rotation < à 90°, il sera pas dans le nouveau sprite
je vais essayer les bge et ble sans conviction grin
En préretraitre

30

g peut etre compris mais faut que je verifie smile
En préretraitre