################################### ### DM2_w24 # AGruber@tugraz.at ### ### pixel_2_vector demo ### ################################### ############################## import rhinoscriptsyntax as rs ### import random, time, sys ### sys.path.append("P:\\WWW\\mraontu\\dm2") ### add LW P:/ to rhino's default search path so_that DM2_lib.py can be found ! sys.path.append("C:\Users\rothl\OneDrive\Desktop\uni stuff\dm2") ### to find some images import DM_lib as dm ### ############################## reload (dm) rs.ViewDisplayMode(view=None, mode=None) rs.ShowGrid(view=None, show=0) rs.Command("cplane w t enter", 0) # cPlane World Top dm.printDisplay(0) # nomen est omen rs.EnableRedraw(0) dm.eA() rs.Redraw() if 1: grayScale = 0 makeEleva = 3 # mehr Tiefe erzeugen in z makeCurve = 1 intervall = 5 # img_name = "test.jpg" # img_name = "test.png" # img_name = "diag.png" img_path = r"C:\Users\rothl\OneDrive\Desktop\uni stuff\dm2\test.png" #file wurde bei mir nicht anders gefunden ######## pixels = dm.getPixels(img_path, steps_x=intervall, steps_y=intervall) ######## print "pixels[0]", pixels[0] print "pixel [0]", pixels[0][0] #################################### ### make 3D_grafik from pixels_lists: allCoords = [] for y,row in enumerate(pixels[0:]): ### enumerate = generate counter 0,1,2,3,4,5... coords = [] for x,col in enumerate(row[0:]): dm.esc() avg = int( (col[0] + col[1] + col[2])/3 ) ### average, for gray_value if grayScale: col = [avg, avg, avg] cor = [x, y, (255-avg)*0.01*makeEleva] coords.append( cor ) if 1 or not makeCurve: rs.ObjectColor( rs.AddPoint( cor ), col) allCoords.append( coords ) if makeCurve: col = dm.pntCentroid(row) for cor in coords: cor[2] *= makeCurve crv = rs.AddCurve( coords, makeCurve) rs.ObjectColor( crv, col) if y%15==0: rs.ZoomExtents() rs.Redraw() if 1: for coords in allCoords: rs.AddCurve( coords, 1) dm.PointRadius(displayModeX=0, rad=2, styl=1)