NOTA! Questo sito utilizza i cookie e tecnologie simili.

Se non si modificano le impostazioni del browser, l'utente accetta. Per saperne di piu'

Approvo

Il modulo Geometry delle API Blender + Python e le sue funzioni

 

Il sotto-modulo Geometry di Blender, ossia Blender.Geometry, mette a disposizione alcune funzioni... "geometriche", ossia che operano su linee, vettori, poligoni.

 

NOTA: per richiamare questo modulo dal GE (Game Engine, il motore di gioco di Blender), utilizzare direttamente "Geometry" anziché "Blender.Geometry".

 

I tipi restituiti dalle funzioni (tuple, liste, interi, vettori) sono tipi primitivi di Python; per saperne di più sul linguaggio Python, cliccare qui (guida di base al linguaggio).

 

 

Funzioni

list

PolyFill(polilinee)

 

Prende una lista di polilinee e calcola i triangoli che possono riempirle.

Possono essere utilizzate più linee per creare buchi o fori in una polilinea o riempire 2 segmenti separati in un colpo.

Restituisce una lista di tuple, ciascuna delle quali è una tupla di interi (3) che rappresentano i triangoli che connettono i punti dati.

NOTA: per i vettori 2D, si assume Z=0.

 

 

Vector

LineIntersect2D(vec1, vec2, vec3, vec4)


Date due linee, specificate utilizzando vec1 e vec2 per le coordinate dei due punti della prima linea e vec3 e vec4 per le coordinate dei due punti estremi del secondo segmento, genera un Vector che rappresenta l'intersezione tra le due rette (None se non presente).

 

 

tuple

ClosestPointOnLine(pt, vec1, vec2)


Dato un punto pt e un segmento (specificato mediante i punti vec1 e vec2, che rappresentano le coordinate degli estremi), restituisce una tupla, contenente un vettore e un float: il vec è il punto più vicino sul segmento, il float rappresenta la posizione, espressa con un valore tra 0 e 1, di tale punto sul segmento.

 

 

int

PointInTriangle2D(pt, tri_pt1, tri_pt2, tri_pt3)


Funzione che prende quattro vettori: un punto (pt) da verificare e tre punti che rappresentano le coordinate dei tre vertici di un triangolo; restituisce 1 o -1 se il punto pt si trova all'interno del triangolo specificato, 0 altrimenti.

 

Si tratta di una funzione che opera su triangoli 2D, quindi i valori Z e W dei punti vengono ignorati.

 

 

int

PointInQuad2D(pt, quad_pt1, quad_pt2, quad_pt3, quad_pt4)

 

Funzione che prende cinque vettori: un punto (pt) da verificare e quattro punti che rappresentano le coordinate dei tre vertici di un quadrilatero; restituisce 1 o -1 se il punto pt si trova all'interno del quadrilatero specificato, 0 altrimenti.

 

Si tratta di una funzione che opera su quadrilateri 2D, quindi i valori Z e W dei punti vengono ignorati.

 

 

tuple

BoxPack2D(listaDiBox)

 

Funzione che prende in input una List di box2d (rettangoli e quadrati) e li "impacchetta" in un quadrato.

Restituisce una tupla di due elementi, che indicano larghezza ed altezza della figura ottenuta.

 

 

list

BezierInterp(vec_nodo_1, vec_maniglia_1, vec_maniglia_2, vec_nodo_2, risoluzione)

 

Funzione che prende in input una curva Bezier, identificata mediante 4 vettori, e restituisce una lista di punti, che rappresentano le interpolazioni effettuate lungo la curva; la quantità Vectors (punti, in pratica) restituiti nella lista dipende dal valore del parametro "risoluzione".

 

 

 

 

Variabili

  __package__ = None

 

 

 
Vai all'inizio della pagina