Vertex connexion [optimisation]

Ici on parle des scripts

Modérateurs : frez, Yadoob, stilobique, Matpi, ModSquad

Re: Vertex connexion [optimisation]

Message par Matpi » 09 Déc 2015, 15:48

Un random? Facile, random.sample

https://docs.python.org/3/library/random.html#random.sample

Code : Tout sélectionner
from random import sample

#...

for candidate in sample(candidates, max_points):



EDIT:
Attention quand même, ça rend une erreur si pas assez de candidats. Donc:


Code : Tout sélectionner
from random import sample

#...

for candidate in sample(candidates, min(max_points, len(candidates))):



EDIT 2:

Le problème, c'est que tu choisis une partie de la liste de candidats avant de faire le tri (j > i). Donc il y a un fort risque qu'au final tu ne reçoives pas le bon nombre d'edges.

Autre bout de code (du coup au niveau optimisation c'est pas tout à fait ça, mais ça devrait rester acceptable, surtout si le data est pas trop dense spatialement):

Code : Tout sélectionner
import bpy
from mathutils.kdtree import KDTree

connection_distance = 0.5
max_points = 10

obj = bpy.context.object
vertices = obj.data.vertices
nb_vertex = len(vertices)

kd = KDTree(nb_vertex)

for i, v in enumerate(vertices):
    kd.insert(v.co, i)

kd.balance()

edges = []

for i, v in enumerate(vertices):
    candidates = [c for c in kd.find_range(v.co, connection_distance) if c[1] > i]

    for candidate in sample(candidates, min(max_points, len(candidates))):
        # candidate is (co, index, distance)
        j = candidate[1]
        # avoid creating edges twice or edges
        # between identical vertices;
        # so pick up a rule
        if j > i:
            edges.append((i, j))


obj.data.edges.add(count=len(edges))

# XXX: this works only if there is no edge
# in the mesh before the script runs!
for edge, vpair in zip(obj.data.edges, edges):
    edge.vertices = vpair

#obj.update_from_editmode()
obj.data.update()
BAddons - La Collection d'Addons de Matpi: https://github.com/qwenger/BAddons
Avatar de l’utilisateur
Matpi
 
Message(s) : 288
Inscription : 07 Déc 2014, 10:51
Localisation : in dr Schwiiz

Re: Vertex connexion [optimisation]

Message par GameL » 09 Déc 2015, 15:59

merci
Avatar de l’utilisateur
GameL
 
Message(s) : 80
Inscription : 06 Sep 2014, 05:12

Re: Vertex connexion [optimisation]

Message par GameL » 09 Déc 2015, 16:01

voila le résultat sur la tour saint jacques

Image
Avatar de l’utilisateur
GameL
 
Message(s) : 80
Inscription : 06 Sep 2014, 05:12

Re: Vertex connexion [optimisation]

Message par Matpi » 09 Déc 2015, 16:05

Heu... apparemment il y a un problème d'autorisation... Est-elle publique?
BAddons - La Collection d'Addons de Matpi: https://github.com/qwenger/BAddons
Avatar de l’utilisateur
Matpi
 
Message(s) : 288
Inscription : 07 Déc 2014, 10:51
Localisation : in dr Schwiiz

Re: Vertex connexion [optimisation]

Message par GameL » 09 Déc 2015, 16:08

ha oui pardon c'est privé.
je viens de changer de server si dessous

Image
Avatar de l’utilisateur
GameL
 
Message(s) : 80
Inscription : 06 Sep 2014, 05:12

Re: Vertex connexion [optimisation]

Message par Matpi » 09 Déc 2015, 16:15

Joli ;-)

Ça valait bien un script!
BAddons - La Collection d'Addons de Matpi: https://github.com/qwenger/BAddons
Avatar de l’utilisateur
Matpi
 
Message(s) : 288
Inscription : 07 Déc 2014, 10:51
Localisation : in dr Schwiiz

Re: Vertex connexion [optimisation]

Message par lapineige » 09 Déc 2015, 17:59

Très sympa, toujours aussi conceptuel ;-)
J'attends de voir ce que ça donne avec d'autres modèles :-)
Mon terrier/blog: https://lapineige.fr/wp (l'ancien: le-terrier-de-lapineige.over-blog.com) | Mon GitHub: https://github.com/lapineige/Blender_add-ons | Lapineige's Tools: http://cgcookiemarkets.com/blender/all- ... ompilation
Avatar de l’utilisateur
lapineige
 
Message(s) : 3716
Inscription : 25 Juin 2014, 07:06

Re: Vertex connexion [optimisation]

Message par jemian » 10 Déc 2015, 00:53

C'est très beau.
De l'art algorithmique
Très bien ce programme de retopo ^^
Avatar de l’utilisateur
jemian
 
Message(s) : 2797
Inscription : 03 Fév 2014, 01:52
Localisation : Brest

Re: Vertex connexion [optimisation]

Message par GameL » 10 Déc 2015, 09:05

merci bien.

Voilà un autre résultat en changeant les variables

Image
Avatar de l’utilisateur
GameL
 
Message(s) : 80
Inscription : 06 Sep 2014, 05:12

Re: Vertex connexion [optimisation]

Message par GameL » 10 Déc 2015, 09:09

à la base le rendu normal de la photogrammétrie est de cette qualitée ;)

fait par ma boite

Image
Avatar de l’utilisateur
GameL
 
Message(s) : 80
Inscription : 06 Sep 2014, 05:12

Re: Vertex connexion [optimisation]

Message par GameL » 10 Déc 2015, 13:18

avec une mise en situation ;)

Image
Avatar de l’utilisateur
GameL
 
Message(s) : 80
Inscription : 06 Sep 2014, 05:12

Re: Vertex connexion [optimisation]

Message par cedric » 10 Déc 2015, 13:33

Nice !
Cédric Lepiller, Freelance 3D Pitiwazou.com, Mes Addons, Asset Management, Speedflow
Avatar de l’utilisateur
cedric
Administrateur
 
Message(s) : 7049
Inscription : 03 Août 2013, 21:36

Re: Vertex connexion [optimisation]

Message par jemian » 10 Déc 2015, 14:46

Très chouette
Ça me rappelle les emballages de Christo
mais après une invasion d'araignées géantes^^
Une pièce maitresse à exposer en tout cas
Avatar de l’utilisateur
jemian
 
Message(s) : 2797
Inscription : 03 Fév 2014, 01:52
Localisation : Brest

Re: Vertex connexion [optimisation]

Message par pistiwique » 10 Déc 2015, 17:57

Ca rend super bien, bravo :)
Avatar de l’utilisateur
pistiwique
 
Message(s) : 590
Inscription : 10 Août 2014, 10:35
Localisation : le sud ou il fait trop chaud

Re: Vertex connexion [optimisation]

Message par 3dSaM » 10 Déc 2015, 18:19

classe...
ça devrait plaire à orgelf, le Druillet de la 3D ^^
Avatar de l’utilisateur
3dSaM
 
Message(s) : 301
Inscription : 27 Sep 2013, 09:42

PrécédentSuivant

Retour vers Scripts - Python - OSL

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 0 invité(s)