CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Trianguler un ensemble de points 3D en python ou autre

chacharles31
chacharles31
Niveau 62
05 octobre 2022 à 09:52:40

Bonjour j'ai un projet c'est créer une forme 3D facéttisé de ce genre d'objet:
https://image.noelshack.com/fichiers/2022/40/3/1664955837-kanulia-2010-10-21-22-03-49-52.jpg
c'est des formes que je calcule en ray tracing
je n'ai donc pas de modèle 3D facétisé à donner à manger à un logiciel de 3D standard

je dispose des points de surface ainsi que de la normal en ce point
est ce qu'il existerai une librairie python qui tente de transformer ce nuage de point en un ensemble de surface 3D

Si vous avez une idée que me conseillerez vous
une lib python, matlab, blender, une lib d'un autre langage :question:

LGV
LGV
Niveau 28
05 octobre 2022 à 11:37:27

Si tu calcules le rendu en raytracing, tu dois avoir les formes implicites ; il serait bcp plus facile de repartir de ces surfaces avec les infos de connectivité, plutot qu'essayer de recontruire la topologie complexe juste avec un nuage de points, je pense.

chacharles31
chacharles31
Niveau 62
05 octobre 2022 à 19:13:29

Le 05 octobre 2022 à 11:37:27 :
il serait bcp plus facile de repartir de ces surfaces avec les infos de connectivité

le problème c'est que je n'ai pas les équations des surfaces, je peux juste prendre un point et voir si il est dans la forme ou hors de la forme

mais je pense que je vais partir sur du marching cubes en Unity
https://fr.wikipedia.org/wiki/Marching_cubes#:~:text=Le%20marching%20cubes%20est%20un,par%20approximation%20d'une%20isosurface.
même si je trouve les résultats pas trés fifou :nah:

Si quelqu'un a une autre idée, je prends.

Message édité le 05 octobre 2022 à 19:14:25 par chacharles31
godrik
godrik
Niveau 30
05 octobre 2022 à 19:48:48

Il y a un moment ou il va falloir faire des suppositions sur ta structure.

Imagine que tu as des points qui forme une tube. Comment est ce que tu sais que c'est une tube et pas un ensemble de disque?

L'objet que tu montre dans ta screenshot est EXTREMENT complexe et a des filament qui sont tres petit compare au reste de ta structure. Je ne suis meme pas sur que ce que tu montres est un seuil objet ou plusieurs objets imbrique.

A ce niveau de complexite, je ne suis pas sur que tu puisse faire mieux que supposer qu'il n'y a pas de trou plus petit qu'une taille minimum et qu'il n'y a pas de filament plus petit qu'une taille minimum et scaner ta structure entiere a cette resolution la.

chacharles31
chacharles31
Niveau 62
05 octobre 2022 à 20:24:46

Le 05 octobre 2022 à 19:48:48 :
Il y a un moment ou il va falloir faire des suppositions sur ta structure.

Imagine que tu as des points qui forme une tube. Comment est ce que tu sais que c'est une tube et pas un ensemble de disque?

Je sais bien :-( Mais ceux qui font de la reconstruction 3D à partir de photos ils y arrivent bien

L'objet que tu montre dans ta screenshot est EXTREMENT complexe et a des filament qui sont tres petit compare au reste de ta structure. Je ne suis meme pas sur que ce que tu montres est un seuil objet ou plusieurs objets imbrique.

a vrai dire, je saurai pas dire non plus. mais oui cette structure est extrêmement complexe. Elle me fascine, c'est pour ça que je l'ai mise en exemple

je vise plutôt des structures comme celles la
https://image.noelshack.com/fichiers/2022/40/3/1664956654-kanulia-2010-10-21-23-31-35-21.jpg

qui sont un peu plus convexe :sarcastic: ( si tenté que ça ai un sens )

A ce niveau de complexite, je ne suis pas sur que tu puisse faire mieux que supposer qu'il n'y a pas de trou plus petit qu'une taille minimum et qu'il n'y a pas de filament plus petit qu'une taille minimum et scaner ta structure entiere a cette resolution la.

C'est une structure fractale ( Quaternion Julia ) il y aura forcément des structures au dela des capacités de calcul
je cherche juste une approximation 3D

de quoi la donner a manger à une imprimante 3D :p)
et me faire un petit souvenir du temps que j'ai passé sur ces formes

LGV
LGV
Niveau 28
05 octobre 2022 à 20:37:32

ceux qui font de la reconstruction 3D à partir de photos ils y arrivent bien

on y arrive (á peu pres) pour des cas relativement simples, et on procede radicalement differement (par appariement des points caracteristiques sur plusieurs images, notamment)

on reconstruit des maillages á partir de nuages de points quand on fait des scans 3D, mais on doit faire de GROS á-priori sur la topologie de l'objet, notamment la convexité, voisinnage, etc.

ton cas est relativement complexe et ne rentre dans aucune de ces deux methodes. Quand á l'imprimer en 3D... ca va etre une horreur en termes de tiges de support :/ . Je ne connais aucune solution qui va donner de "bons" resultats facilement ; il va falloir beaucoup tatonner et trouver une facon de proceder "sur mesure" pour chaque forme á traiter

Le mieux serait de trouver une expression mathematique des surfaces, meme complexe.

Message édité le 05 octobre 2022 à 20:39:17 par LGV
godrik
godrik
Niveau 30
06 octobre 2022 à 00:35:32

Les reconstructions 3D a partir de photo font plein de suposition. ils supposent souvent que les objets sont topologiquement equivalent a des sphere. En d'ature termes ils ne sont pas creu. (Sauf si ils ont une vue qui le montre clairement.) decider a base d'image et de transformation inverse si un objet est un vase cylindrique ou un cylindre c'est pas super evident. parcequ'en fonction de l'eclairage ca va etre exactement la meme chose.

Et de nos jours on voit plus de logiciels a base de machine learning qui revient a dire, "ok. clairmeent c'est une voiture, donc on va remplir les trucs qu'on sait pas avec des bouts de voiture".

chacharles31
chacharles31
Niveau 62
06 octobre 2022 à 10:41:10

Le 05 octobre 2022 à 20:37:32 :
on y arrive (á peu pres) pour des cas relativement simples, et on procede radicalement differement (par appariement des points caracteristiques sur plusieurs images, notamment)

on reconstruit des maillages á partir de nuages de points quand on fait des scans 3D, mais on doit faire de GROS á-priori sur la topologie de l'objet, notamment la convexité, voisinnage, etc.

ton cas est relativement complexe et ne rentre dans aucune de ces deux methodes.

Le 06 octobre 2022 à 00:35:32 :
Les reconstructions 3D a partir de photo font plein de suposition. ils supposent souvent que les objets sont topologiquement equivalent a des sphere. En d'ature termes ils ne sont pas creu. (Sauf si ils ont une vue qui le montre clairement.) decider a base d'image et de transformation inverse si un objet est un vase cylindrique ou un cylindre c'est pas super evident. parcequ'en fonction de l'eclairage ca va etre exactement la meme chose.

Et de nos jours on voit plus de logiciels a base de machine learning qui revient a dire, "ok. clairmeent c'est une voiture, donc on va remplir les trucs qu'on sait pas avec des bouts de voiture".

Oui oui, j'avais écarté l'idée de faire une reconstruction à partir de photo, ou utiliser strictement leurs méthodes pour mon cas. Et c'est vrai qu'en machine learning pour la topologie des objets, je suis out
il y a trop de plis, et de replis

Le mieux serait de trouver une expression mathematique des surfaces, meme complexe.

Alors la j'ai même pas idée de ce a quoi pourrait ressembler une telle équation. C'est hors de ma ligue.

Quand á l'imprimer en 3D... ca va etre une horreur en termes de tiges de support :/ . Je ne connais aucune solution qui va donner de "bons" resultats facilement ; il va falloir beaucoup tatonner et trouver une facon de proceder "sur mesure" pour chaque forme á traiter

Je suis complètement novice/inculte en impression 3D
mais je sais que c'est possible :sournois:
il y a même des boites qui en imprime en métal:
:d) https://image.noelshack.com/fichiers/2022/40/3/1664996988-preview.jpg https://image.noelshack.com/fichiers/2022/40/4/1665041653-710x528-5624851-1773164-1459329992-1-0.jpg

Pour l'instant j'en suis là
je joue un peux avec les marching cubes et finalement c'est pas si vilain
https://image.noelshack.com/fichiers/2022/40/4/1665045235-kanulia3d-v-0-0-1.jpg
enfin, je parle de la courbure qui est pas trop crénelée
Sinon la forme, mes proches m'ont parlé d'un kleenex ensanglanté :nah:

chacharles31
chacharles31
Niveau 62
09 octobre 2022 à 04:29:34

Je tâtonne, je tâtonne mais voila où j'en suis, ça donne ça
https://image.noelshack.com/fichiers/2022/40/7/1665281734-fablabia-0-1-12.jpg

Les normales sont pas correctes je pense, je sais pas trop :doute:
Finalement je part sur du Marching Dodecahedron, c'est un peu plus lisse que du Marching Cubes.

Je sais pas si c'est le bon forum pour faire des points d'avancement de mon projet ?
En tout cas, après 2 ans de rien, ça fait plaisir de recoder, même si parfois, j'ai envie de m'arracher les cheveux

chacharles31
chacharles31
Niveau 62
13 octobre 2022 à 19:00:18

Bon,
j'ai pas trop de temps pour bosser dessus, mais je progresse :bravo:

1 heure de calcul = https://image.noelshack.com/fichiers/2022/41/4/1665649730-fablabia-0-2-3.jpg c'est tout crénelé :nah:
Après quelques corrections de bug
40 minutes de calcul = https://image.noelshack.com/fichiers/2022/41/4/1665648383-fablabia-0-2-2.jpg il reste des artefacts :(
Et finalement avec les bons paramètres et que 20 minutes de calcul = https://image.noelshack.com/fichiers/2022/41/4/1665678916-fablabia-0-2-7.jpg
je suis content :fete: c'est tout lisse :coeur:

il me reste plein de trucs sur ma todo list à court terme

  • mettre le code au propre, j'ai codé comme un saguoin
  • mettre un controle de source :-(( combien de fois j'ai oublié la connerie que je venait de faire à l'instant :honte:
  • multithreader le bousin
  • mettre une progress bar pendant le calcul; je sais jamais combien de temps un rendu vas durer
  • passer au CUDA pour le calcul ( je sais pas si c'est possible en Unity )
  • et voir pour tout passer en unreal engine 5 qui prend en charge le CUDA a ce que j'ai lu en diagonale, mais je sais pas à quel point :-( ... si quelqu'un passe par là et a une idée ...
Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware