Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ws1415:projekte_im_wintersemester_2014_15:nuetzliche_programmschnipsel [2014/11/27 15:05] jsauder |
ws1415:projekte_im_wintersemester_2014_15:nuetzliche_programmschnipsel [2016/05/10 14:46] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
===== Nützliche Programmschnipsel ===== | ===== Nützliche Programmschnipsel ===== | ||
+ | ==== Test für Objektorientierte Dreiecke ==== | ||
+ | <code Python> | ||
+ | import numpy as np | ||
+ | import matplotlib.pyplot as plt | ||
+ | from mpl_toolkits.mplot3d import Axes3D | ||
+ | import matplotlib.tri as mtri | ||
+ | from scipy.spatial import Delaunay | ||
+ | |||
+ | |||
+ | |||
+ | xinput=[1,2,3,4] | ||
+ | yinput=[1,2,3,4] | ||
+ | |||
+ | z=[] | ||
+ | x=[] | ||
+ | y=[] | ||
+ | |||
+ | |||
+ | def do(xinput,yinput): | ||
+ | xlange=len(xinput) | ||
+ | ylange=len(yinput) | ||
+ | for i in range((xlange*ylange)): | ||
+ | z.append(np.random.uniform(1,3,size=None)) | ||
+ | |||
+ | for i in range(xlange): | ||
+ | for ii in range(xlange): | ||
+ | x.append(i) | ||
+ | |||
+ | for i in range(ylange): | ||
+ | for ii in range(ylange): | ||
+ | y.append(ii) | ||
+ | do(xinput,yinput) | ||
+ | |||
+ | Array=np.array([x,y]).T | ||
+ | def triang(x,y,z): | ||
+ | global tri | ||
+ | |||
+ | tri = Delaunay(Array) | ||
+ | fig = plt.figure() | ||
+ | ax = fig.add_subplot(1, 1, 1, projection='3d') | ||
+ | ax.plot_trisurf(x, y, z, triangles=tri.simplices, cmap=plt.cm.Spectral) | ||
+ | |||
+ | triang(x,y,z) | ||
+ | dreiecke=[] | ||
+ | def eckpunkte(simplices): | ||
+ | for bla in range(len(simplices)): | ||
+ | dreieck=[] | ||
+ | sxyz=tri.simplices[bla] | ||
+ | #x | ||
+ | sx=sxyz[0] | ||
+ | ssx=Array[sx] | ||
+ | dreieck.append(ssx) | ||
+ | |||
+ | #y | ||
+ | sy=sxyz[1] | ||
+ | ssy=Array[sy] | ||
+ | dreieck.append(ssy) | ||
+ | |||
+ | #z | ||
+ | sz=sxyz[2] | ||
+ | ssz=Array[sz] | ||
+ | dreieck.append(ssz) | ||
+ | dreiecke.append(dreieck) | ||
+ | eckpunkte(tri.simplices) | ||
+ | print dreiecke | ||
+ | |||
+ | |||
+ | plt.show() | ||
+ | </code> | ||
==== Funktionierende Triangulierung ==== | ==== Funktionierende Triangulierung ==== | ||