π
<-

Un ptit moteur 3D ?

Assembleur, Axe, C/C++, ICE...

Un ptit moteur 3D ?

Unread postby Plokki » 23 Dec 2014, 16:45

Vous savez quoi ? C'est presque Noël alors pour la peine j'ai fait un petit moteur 3D en Axe. 0:]
Voilà ce que ça donne après 3 jours de travail intensif :
Demo3D.gif


On peut faire des rotations selon 2 angles, se rapprocher ou s'éloigner et déplacer la caméra (ou le cube c'est pareil :) ) sur les 3 axes.
Sur la calculatrice je tourne à 30 fps avec 14 points et 24 arrêtes, c'est donc un peu plus fluide que sur le screen shot. B-)
J'avais fait une version en BASIC qui tourne à 1/2 fps, c'était pas génial du coup je l'ai porté en Axe et c'est beaucoup mieux cependant une question se pose : Matref si tu passe par là, comment t'as géré l'occlusion sur ton shooter 3D ?
Tu calcules la distance entre chaque point et la camera et tu n'affiche pas les plus éloignés ou tu affiches des "surfaces" je sais pas trop comment ?

Vu que je n'ai absolument pas regardé de doc à propos de la 3d je me demande si vous faites des projections de vos points sur l'écran (comme en optique) ou alors d'une autre manière ? Et pour les rotations c'est le point de vue ou les points qui tournent ? (pour moi c'est tous les points)
You do not have the required permissions to view the files attached to this post.
User avatar
Plokki
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 40.6%
 
Posts: 124
Joined: 02 Sep 2014, 15:15
Location: Près de... ah bah non !
Gender: Male
Calculator(s):
MyCalcs profile
Class: T°S-spé math

Re: Un ptit moteur 3D ?

Unread postby Victor D » 23 Dec 2014, 17:18

Bonjour,

Très intéressant, je comprend que ça t'ai soûler 3 jours de travail intensif :p ,mais bon tu peut-être satisfait du résultat !

En tout cas tu as bien mériter des vacances :)

Très bonnes fêtes de fin d’année,



Le site pour réussir ton exam !
Annales, corrigés, info, épreuves, calendrier...
Deviens V.I.P ! ;)
Envie d'être repéré facilement sur le forum et sur le chat, et d'avoir des fonctionnalités spéciales ?
Plus d'infos : premium.php
Tu aimes TI-Planet.org ?


Alors rendez-vous sur facebook, pour toutes les actus, toutes les news, et bien plus encore...
Ce site t'a aidé ?

PayPal - la solution de paiement en ligne la plus simple et la plus sécurisée !

Alors aide le à ton tour !
Ce site est géré bénévolement par L'association UPECS, mais tu peux aider à payer le site, les serveurs...
User avatar
Victor DModo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 13.1%
 
Posts: 1581
Images: 98
Joined: 28 Oct 2014, 22:02
Location: France
Gender: Male
Calculator(s):
MyCalcs profile

Re: Un ptit moteur 3D ?

Unread postby Plokki » 23 Dec 2014, 17:20

Au contraire ! Si j'y ai passé 3 jours c'est que c'était super intéressant (pas mal dur aussi :p )
Bonnes fêtes aussi ^^
User avatar
Plokki
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 40.6%
 
Posts: 124
Joined: 02 Sep 2014, 15:15
Location: Près de... ah bah non !
Gender: Male
Calculator(s):
MyCalcs profile
Class: T°S-spé math

Re: Un ptit moteur 3D ?

Unread postby Victor D » 23 Dec 2014, 17:21

Plokki wrote:Au contraire ! Si j'y ai passé 3 jours c'est que c'était super intéressant (pas mal dur aussi :p )
Bonnes fêtes aussi ^^



Je te crois, je te crois, et j'imagine surtout :)

Merci



Le site pour réussir ton exam !
Annales, corrigés, info, épreuves, calendrier...
Deviens V.I.P ! ;)
Envie d'être repéré facilement sur le forum et sur le chat, et d'avoir des fonctionnalités spéciales ?
Plus d'infos : premium.php
Tu aimes TI-Planet.org ?


Alors rendez-vous sur facebook, pour toutes les actus, toutes les news, et bien plus encore...
Ce site t'a aidé ?

PayPal - la solution de paiement en ligne la plus simple et la plus sécurisée !

Alors aide le à ton tour !
Ce site est géré bénévolement par L'association UPECS, mais tu peux aider à payer le site, les serveurs...
User avatar
Victor DModo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 13.1%
 
Posts: 1581
Images: 98
Joined: 28 Oct 2014, 22:02
Location: France
Gender: Male
Calculator(s):
MyCalcs profile

Re: Un ptit moteur 3D ?

Unread postby Wistaro » 03 Jan 2015, 21:34

Très beau travail !! :)

Sa serait possible d'avoir les sources?
User avatar
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 88.5%
 
Posts: 3191
Images: 37
Joined: 25 Feb 2013, 16:21
Location: Toulouse
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingénieur en électronique
YouTube: Wistaro
Twitter: Wistaro
GitHub: Wistaro

Re: Un ptit moteur 3D ?

Unread postby Plokki » 04 Jan 2015, 13:22

Bien sûr ! :p
Par contre je ne m'attends pas à ce que tu comprennes quoi que ce soit, le but était juste d'avoir un truc qui fonctionne et pas d'avoir quelque chose d'optimisé et clair.
En passant je me demande si il existe une commande en axe pour convertir un nombre d'un octet en un nombre de deux octets parce que j'ai ça:
-10→{L1} donc {L1}=246 mais si je fait:
{L1}→A j'ai: A=246 et pas A=65526
du coup je suis obligé de mettre ça dans mon prog pour que mes variables aient la bonne valeur:
X>127?X-256→X
Y>127?Y-256→Y
Z>127?Z-256→Z


Code: Select all
.CUBE3D
Data(1,2,1,4,1,5,7,6,7,8,7,3,5,6,5,8,3,2,3,4,4,8,2,6,9,10,9,11,9,12,9,13,14,10,14,11,14,12,14,13,10,11,10,12,13,11,13,12)→GDB1
/je dit quel sommet doit être relié à quel sommet
Data(10,10,⁻10,⁻10,10,10,⁻10,⁻10,10,0,0,0,0,⁻10)→Pic1X
Data(⁻10,10,10,⁻10,⁻10,10,10,⁻10,0,10,0,0,⁻10,0)→Pic1Y
Data(10,10,10,10,⁻10,⁻10,⁻10,⁻10,0,0,10,⁻10,0,0)→Pic1Z
/les coordonnées x,y,z de mes points

0→θ→W
40→R
50→G

0→r₄→r₅→r₆
Repeat getKey(15)
ClrDraw

cos(θ)→{L₂}ʳ
cos(θ+64)→{L₂+2}ʳ
sin(θ)→{L₂+4}ʳ
sin(θ+64)→{L₂+6}ʳ
cos(W)→{L₂+8}ʳ
cos(W+64)→{L₂+10}ʳ
sin(W)→{L₂+12}ʳ
sin(W+64)→{L₂+14}ʳ
/tout plein de calculs

For(U,0,13
/je calcule les coordonnées x,y de mes 14 sommets sur mon écran
{Pic1X+U}→X
{Pic1Y+U}→Y
{Pic1Z+U}→Z

X>127?X-256→X
Y>127?Y-256→Y
Z>127?Z-256→Z

X+r₄→X
Y+r₅→Y
Z+r₆→Z

{L₂}ʳ*X+({L₂+2}ʳ*Y)//127→A
{L₂+4}ʳ*X+({L₂+6}ʳ*Y)//127→B
{L₂+8}ʳ*A+({L₂+10}ʳ*Z)//127→C
{L₂+12}ʳ*A+({L₂+14}ʳ*Z)//127→D

C→A
A→X
B→Y
⁻D→Z

R-X→X
G*Y//X+48→{L₁+U}
G*Z//X+32→{L₃+U}
Pxl-On({L₁+U},{L₃+U}
/j'affiche mes points
End

GDB1→r₁
For(K,0,23
/je trace mes 24 arrêtes
{r₁}→L
{r₁+1}→M
r₁+2→r₁
Line({L+L₁-1},{L+L₃-1},{M+L₁-1},{M+L₃-1}
End

DispGraph

θ+getKey(2)-getKey(3)→θ
W+getKey(1)-getKey(4)→W
R-getKey(48)+getKey(54)→R
r₄-getKey(35)+getKey(19)→r₄
r₅-getKey(28)+getKey(26)→r₅
r₆-getKey(11)+getKey(10)→r₆
/un pâté de getkey pour modifier mes variables
End


Et voilà ! Je pense que je vais essayer de trouver une autre méthode qui serait peut être plus rapide quand il y a plus de points, je vous tiens au courant :D
User avatar
Plokki
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 40.6%
 
Posts: 124
Joined: 02 Sep 2014, 15:15
Location: Près de... ah bah non !
Gender: Male
Calculator(s):
MyCalcs profile
Class: T°S-spé math

Re: Un ptit moteur 3D ?

Unread postby Wistaro » 04 Jan 2015, 16:22

Oki merci :)
Nouveau sur le site, ClaudeBot [spider] ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
User avatar
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 88.5%
 
Posts: 3191
Images: 37
Joined: 25 Feb 2013, 16:21
Location: Toulouse
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingénieur en électronique
YouTube: Wistaro
Twitter: Wistaro
GitHub: Wistaro

Re: Un ptit moteur 3D ?

Unread postby Hayleia » 04 Jan 2015, 20:19

Plokki wrote:En passant je me demande si il existe une commande en axe pour convertir un nombre d'un octet en un nombre de deux octets parce que j'ai ça:
-10→{L1} donc {L1}=246 mais si je fait:
{L1}→A j'ai: A=246 et pas A=65526
du coup je suis obligé de mettre ça dans mon prog pour que mes variables aient la bonne valeur:
X>127?X-256→X
Y>127?Y-256→Y
Z>127?Z-256→Z

Dans le zip où tu as téléchargé l'Axe Parser, il y a un fichier "Commands.hmtl". Il te sera souvent utile. La ligne qui t'intéresse aujourd'hui est la suivante :
signed{EXP} Key:int() Returns the single byte the expression points to. It will be in the range -128 to 127.

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
User avatar
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 43.8%
 
Posts: 2509
Images: 2
Joined: 30 Aug 2011, 08:22
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Templar

Re: Un ptit moteur 3D ?

Unread postby TheMachine02 » 05 Jan 2015, 14:33

Et bien ça ma l'air bien tout ça :p
30 fps pour 24 arrêtes et 14 points c'est respectable ....... *TheMachine02 vérifie les performances de son engin.

Matref pour son shooter utilisait un trick dût au caractère spécial du tunnel (si c'est bien celui là dont tu parle).
Pour l'occlusion y'a pas 36000 possibilités, dans tout les cas ça sera très lent ... ça fait deux ans que je me casse la tête dessus :D
Pour les rotations tout dépend de ce que tu veux faire, mais en général c'est les points qui bougent.
User avatar
TheMachine02Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 30%
 
Posts: 342
Images: 0
Joined: 16 Jan 2013, 18:27
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Médecine

Re: Un ptit moteur 3D ?

Unread postby Ti64CLi++ » 05 Jan 2015, 19:15

Pas mal du tous.
Il donne envie.
Image
User avatar
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 32.5%
 
Posts: 3446
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes
GitHub: Ti64CLi

Next

Return to Langages alternatifs

Who is online

Users browsing this forum: ClaudeBot [spider] and 9 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2038 utilisateurs:
>2001 invités
>30 membres
>7 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)