Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » Fusionner les faces de blocs
Yannis300307 Hors ligne Membre Points: 297 Défis: 0 Message

Fusionner les faces de blocs

Posté le 01/05/2023 18:14

Bonjour,
Toujours pour optimiser mon moteur 3D, j'aurais besoin de fusionner les faces se trouvant sur le même plan pour pouvoir créer un grand rectangle au lieu d'avoir plusieurs carrés. Il faudra les transformer en 2 triangles chacun pour pouvoir les rendre. J'ai chercher sur Internet si un algorithme existait mais je n'ai rien trouvé. J'ai essayer d'en faire plusieurs mais aucun ne marche. Est ce que quelqu’un en connaitrait un ?

Merci


Lephenixnoir Hors ligne Administrateur Points: 24621 Défis: 170 Message

Citer : Posté le 01/05/2023 18:59 | #


C'est certainement quelque chose que tu as envie de faire au moment où tu crées les modèles. Trouver les triangles alignés prendrait un temps fou parce qu'il y a trop de combinaisons possibles. De tête un algo trivial serait quadratique, ce qui est bien trop lent. Pour un truc linéaire tu pourrais calculer les normales de tous les triangles et faire du clustering de vecteurs 3D genre locality-sensitive hashing. Mais pas sur la calto... :x
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Yannis300307 Hors ligne Membre Points: 297 Défis: 0 Message

Citer : Posté le 01/05/2023 19:16 | #


J'avais commencer à faire (surtout imaginer) un algo qui récupère toutes les faces des blocs dans le chunk et qui regarde celles autour pour former le rectangle le plus grand possible et ensuite une autre partie qui transforme les faces en triangles.

PS : Vous voulez tester l'add-in ?
WOW ! Mais qu'est-ce-que je vois ??!! Une extension VS Code qui permet de simplifier le développement sur calculatrices ??!! C'est ici : Casio Dev Tools. C'est incroyable ! C'est prodigieux !
Lephenixnoir Hors ligne Administrateur Points: 24621 Défis: 170 Message

Citer : Posté le 01/05/2023 19:17 | #


Blocs, chunks ? C'est du voxel/Minecraft ? Parce que ça change tout, si les faces sont alignées sur les axes ça devient tout de suite beaucoup plus facile.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Yannis300307 Hors ligne Membre Points: 297 Défis: 0 Message

Citer : Posté le 01/05/2023 19:44 | #


Oui c'est une reproduction de Minecraft sur Graph90+e
WOW ! Mais qu'est-ce-que je vois ??!! Une extension VS Code qui permet de simplifier le développement sur calculatrices ??!! C'est ici : Casio Dev Tools. C'est incroyable ! C'est prodigieux !
Lephenixnoir Hors ligne Administrateur Points: 24621 Défis: 170 Message

Citer : Posté le 01/05/2023 19:51 | #


Ah ben dans ce cas tout va bien, parce que tu sais où trouver les faces adjacentes à fusionner : sur les blocs adjacents.

Note que ça ne résout pas tout tes problèmes pour autant parce que le bon groupement n'est pas évident : tu pourrais te retrouver avec des surfaces non convexes voire des triangles très longs qui peuvent être mauvais pour les perfs.

As-tu pensé à juste faire des heuristiques à la con genre fusionner un bloc avec son voisin de droite sans chercher à faire les groupements les plus gros possibles ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Yannis300307 Hors ligne Membre Points: 297 Défis: 0 Message

Citer : Posté le 01/05/2023 19:54 | #


J'ai essayé le le faire mais cela n'a pas marché ... Je crois que j'ai un problème pour générer correctement les triangles...
WOW ! Mais qu'est-ce-que je vois ??!! Une extension VS Code qui permet de simplifier le développement sur calculatrices ??!! C'est ici : Casio Dev Tools. C'est incroyable ! C'est prodigieux !

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 81 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd