Regel finns för strukturen på nätet Koordinatsystem anger element position

Storlek: px
Starta visningen från sidan:

Download "Regel finns för strukturen på nätet Koordinatsystem anger element position"

Transkript

1 Nätgenerering

2 Nätgenerering För större problem måste topologin skapas med hjälp av algoritmer Utgår ofta från en geometrisk beskrivning Kriterier kan sättas som anger hur tätt elemennätet skall genereras Area/Volymskriterier Explicit angivelse av antal element på ränder Resultat från tidigare beräkning kan ligga till grund för hur ett nät skall förbättras, adaptivt nät.

3 Nätgenering Strukturerad nätgenerering Regel finns för strukturen på nätet Koordinatsystem anger element position Ostrukturerad nätgenerering Algoritm fyller volym ytor med element Ofta begränsade till triangel eller tetraederelement

4 Ostrukturerat nät

5 Strukturerade nät

6 Strukturerade nät

7 Triangle 2 dimensionell nätgenererare för triangel element Skriven av Jonathan Shewchuck Kan generera nät från Punkter Geometri beskriven med linjer och punkter Kvalitetskriterier kan definieras: Max area Minsta vinkel

8 Triangle Geometri definition

9 Triangle Geometri definition l = 0.2 w = 0.05 h = 0.1 Index börjar på 0 vertices = array([ [0.0, h], [l, h], [l, 0.0], [l w, 0.0], [l w, h w], [0.0, h w] ]) segments = array([ [0,1,1], [1,2,1], [2,3,3], [3,4,1], [4,5,1], [5,0,2] ]) Kantmarkörer 1 anger inget randvillkor.

10 trimesh2d Nodkoordinater Elementtopologi Nodfrihetsgrader Randfrihetsgrader coords, edof, dofs, bdofs = trimesh2d(vertices, segments, maxarea=0.0001, dofspernode=2) Nodkoordinater Max area tillåten för triangelelement

11 trimesh2d maxarea=

12 trimesh2d maxarea=

13 trimesh2d maxarea=

14 Randvillkor def applybc(boundarydofs, bcpresc, bcval, marker, value=0.0, dimension=0): """ Apply boundary condition to bcpresc and bcval matrices. Parameters: """ boundarydofs Dictionary with boundary dofs. bcpresc 1 dim integer array containing prescribed dofs. bcval 1 dim float array containing prescribed values. marker Boundary marker to assign boundary condition. value Value to assign boundary condition. If not giben 0.0 is assigned. dimension dimension to apply bc. 0 all, 1 x, 2 y bc, bcval = applybc(bdofs,bc,bcval,2,0.0)

15 Randvillkor def applyforce(boundarydofs, f, marker, value=0.0, dimension=0): """ Apply boundary condition to bcpresc and bcval matrices. Parameters: """ boundarydofs Dictionary with boundary dofs. f force matrix. marker Boundary marker to assign boundary condition. value Value to assign boundary condition. If not giben 0.0 is assigned. dimension dimension to apply force. 0 all, 1 x, 2 y applyforce(bdofs,f,3,10e3,2)

16 Uppritning av elementnät def eldraw2(ex, ey): """ Draw elements in 2d. Parameters: ex, ey plotpar Element coordinates (not implemented yet) """

17 Uppritning av elementvariabler def eliso2(ex, ey, showmesh=false): """ Draw elements in 2d. Parameters: ex, ey showmesh Element coordinates Display element mesh """

18 Uppritning av elementförskjutning def eldisp2(ex, ey, ed, magnfac=0.1, showmesh=false)

19 Objektorientering

20 Klasser Grupperar data och funktioner till en enhet Funktioner i klassen opererar på data i klassen Möjligör enklare och mer lättförstådd kod Kan utökas i framtiden utan att existerande kod behöver ändras Alla datatyper i python är klasser

21 Exempel på klass Konstruktor. Anropas när klassen instantieras (skapas) Alla klassfunktioner har self som första parameter, vilken är en variabel som pekar på den egna instansen. Skickas automatiskt till funktionerna. class Point: def init (self, x, y): self._x = x self._y = y def show(self): print "x =", self._x, ", y =", self._y def setposition(self, x, y): self._x = x self._y = y def getposition(self): return self._x, self._y p1 = Point(0.0, 0.0) p1.show() p1.setposition(2.0, 3.0) p1.show() x = 0.0, y = 0.0 x = 2.0, y = 3.0 x = 1.0, y = p2 = Point(1.0, 2.0) p2.show() x, y = p2.getposition() print x, y

22 Arv Nya klasser kan ärva funktionalitet från andra klasser Funktionalitet kan läggas till utan att påverka existerande x = kod 0.0, y = 0.0x = 2.0, y = 3.0x = 1.0, y =

23 Exempel på arv class Circle(Point): def init (self, x, y, radius): Point. init (self, x, y) self._radius = radius Anropa Points konstruktor def show(self): x, y = self.getposition() print "x =", self._x, ", y =", self._y, ", radius =", self._radius def setradius(self, radius): self._radius = radius def getradius(self): return self._radius def getarea(self): return pi*self._radius**2 if name == " main ": c1 = Circle(0.0, 0.0, 1.0) c1.setposition(1.0, 2.0) c1.show() print "area =", c1.getarea() setposition från Point

24 Visualisation in Python

25 Outline 2D Tkinter Canvas widget Python Gnuplot matplotlib 3D PyOpenGL vpython Visualisation Toolkit VTK

26 Python Gnuplot Python interface to Gnuplot Allows direct plotting of Python and Numeric data types in Gnuplot Depends on an external application Does not integrate with GUI toolkits

27 Examples

28 Code import Gnuplot from Numeric import * points1 = [[0,1.2],[1.1,5.2],[2, 0.3]] x = arrayrange(0.0, 1.8, 0.1) y = 3 2*x + 2*sin(4*x) points2 = transpose(array([x,y])) gnuplot = Gnuplot.Gnuplot() d1 = Gnuplot.Data(points1, with='lines', title='points1') d2 = Gnuplot.Data(points2, with='linespoints', title='points2') d3 = Gnuplot.Data(x, y, with='linespoints', title='x and y') gnuplot.title('simple Python Gnuplot demo') gnuplot.xlabel('t') gnuplot.plot(d1, d2) gnuplot.hardcopy(filename='tmp.ps', enhanced=1, mode='eps', color=0, fontname='times Roman', fontsize=28) gnuplot('set term png small') gnuplot('set output "tmp.png"') gnuplot.plot(d1, d2, d3)

29 matplotlib Python module for 2D plotting No dependencies on external applications Close to MATLAB syntax Many backends for export Integrates into wxwindows, Tkinter etc. Supports Numeric

30 Examples

31 Simple from pylab import * plot([1,2,3,4]) show()

32 x and y series from pylab import * plot([1,2,3,4],[1,4,9,16]) show()

33 axis and saving from pylab import * plot([1,2,3,4], [1,4,9,16], 'ro') axis([0, 6, 0, 20]) savefig('secondfig.png') show()

34 Setting properties from pylab import * from Numeric import * x = arange(0.0, 2*pi, 0.1) y = sin(x) x1 = arange(0.0, 2*pi, 0.1) y1 = cos(x1) x2 = arange(0.0, 2*pi, 0.1) y2 = sin(2*x2) plot(x, y, linewidth=2.0) line, = plot(x, y, 'o') line.set_antialiased(false) # turn off antialising lines = plot(x1, y1, x2, y2) set(lines, color='r', linewidth=2.0) set(lines, 'color', 'r', 'linewidth', 2.0) show()

35 Setting properties

36 Subplots from pylab import * def f(t): s1 = cos(2*pi*t) e1 = exp( t) return multiply(s1,e1) t1 = arange(0.0, 5.0, 0.1) t2 = arange(0.0, 5.0, 0.02) figure(1) subplot(211) plot(t1, f(t1), 'bo', t2, f(t2), 'k') subplot(212) plot(t2, cos(2*pi*t2), 'r ') show()

37 Subplots

38 Multiple figures from pylab import * figure(1) # the first figure plot([1,2,3]) figure(2) # a second figure plot([4,5,6]) figure(1) # figure 1 current title('easy as 1,2,3') # figure 1 title show()

39 Multiple figures

40 Fonts from pylab import * font = {'fontname' : 'Courier', 'color' : 'r', 'fontweight' : 'bold', 'fontsize' : 11} plot([1,2,3]) title('a title', font, fontsize=12) text(0.5, 2.5, 'a line', font, color='k') xlabel('time (s)', font) ylabel('voltage (mv)', font) show()

41 Fonts

42 Mathematical text from pylab import * t = arange(0.0, 2.0, 0.01) s = sin(2*pi*t) plot(t,s) title(r'$\alpha_i > \beta_i$', fontsize=20) text(1, 0.6, r'$\sum_{i=0}^\infty x_i$', fontsize=20) text(0.6, 0.6, r'$\cal{a}\rm{sin}(2 \omega t)$', fontsize=20) xlabel('time (s)') ylabel('volts (mv)') savefig('mathtext_tut', dpi=50) show()

43 Mathematical text

44 Plot window controls

45 vpython 3D graphics module for Python Easy to use Real time visualisation Not for everything, but a good start

46 A simple program from visual import * redbox = box(pos=vector(4,2,3), size=(8.,4.,6.), color=color.red) greenball = sphere(pos=vector(4,7,3), radius=2, color=color.green)

47 Viewing the scene Right button

48 Viewing the scene Right button

49 Viewing the scene left and right button

50 Animation from visual import * ball = sphere(pos=( 5,0,0), radius=0.5, color=color.red) wallr = box(pos=(6,0,0),size=(0.2,4,4),color=color.green) walll = box(pos=( 6,0,0),size=(0.2,4,4),color=color.green) dt = 0.05 ball.velocity = vector(2., 0., 0.) while True: rate(100) # Not more than 100 times/s ball.pos = ball.pos + ball.velocity*dt if ball.x>wallr.x: ball.velocity.x = ball.velocity.x if ball.x<walll.x: ball.velocity.x = ball.velocity.x

51 Animation

52 Visualising velocity direction from visual import * ball = sphere(pos=( 5,0,0), radius=0.5, color=color.red) wallr = box(pos=(6,0,0),size=(0.2,4,4),color=color.green) walll = box(pos=( 6,0,0),size=(0.2,4,4),color=color.green) dt = 0.05 ball.velocity = vector(2., 1.5, 0.) ballvel = arrow(pos=ball.pos, axis=ball.velocity, color=color.yellow) while True: rate(100) # Not more than 100 times/s ball.pos = ball.pos + ball.velocity*dt if ball.x>wallr.x: ball.velocity.x = ball.velocity.x if ball.x<walll.x: ball.velocity.x = ball.velocity.x ballvel.pos = ball.pos ballvel.axis = ball.velocity

53 Visualising velocity direction

54 Adding a trail from visual import * ball = sphere(pos=( 5,0,0), radius=0.5, color=color.red) wallr = box(pos=(6,0,0),size=(0.2,4,4),color=color.green) walll = box(pos=( 6,0,0),size=(0.2,4,4),color=color.green) dt = 0.05 ball.velocity = vector(2., 1.5, 0.) ball.trail = curve(color=ball.color) ballvel = arrow(pos=ball.pos, axis=ball.velocity, color=color.yellow) while True: rate(100) # Not more than 100 times/s ball.pos = ball.pos + ball.velocity*dt if ball.x>wallr.x: ball.velocity.x = ball.velocity.x if ball.x<walll.x: ball.velocity.x = ball.velocity.x ballvel.pos = ball.pos ballvel.axis = ball.velocity ball.trail.append(pos=ball.pos)

55 Adding a trail

56 A complete example from visual import * ball = sphere(pos=( 5,0,0), radius=0.5, color=color.red) wallr = box(pos=(6,0,0),size=(0.2,12,12),color=color.green) walll = box(pos=( 6,0,0),size=(0.2,12,12),color=color.green) wallt = box(pos=(0,6,0),size=(12,0.2,12),color=color.green) wallb = box(pos=(0, 6,0),size=(12,0.2,12),color=color.green) dt = 0.05 ball.velocity = vector(2., 1.5, 1.5) ball.trail = curve(color=ball.color) ballvel = arrow(pos=ball.pos, axis=ball.velocity, color=color.yellow) while True: rate(100) # Not more than 100 times/s ball.pos = ball.pos + ball.velocity*dt if ball.x>wallr.x: ball.velocity.x = ball.velocity.x if ball.x<walll.x: ball.velocity.x = ball.velocity.x if ball.y>wallt.y: ball.velocity.y = ball.velocity.y if ball.y<wallb.y: ball.velocity.y = ball.velocity.y if ball.z>6: ball.velocity.z = ball.velocity.z if ball.z< 6: ball.velocity.z = ball.velocity.z ballvel.pos = ball.pos ballvel.axis = ball.velocity ball.trail.append(pos=ball.pos)

57 A complete example

58 Other examples

59 Visualisation Toolkit Open Source 3d graphics toolkit Language bindings to C++, Java, Python, Tcl Implements most visualisation algorithms available Uses a the Visualisation network concept Large and complex to use Easier in Python : )

60 Simple example # load VTK extensions from vtkpython import * # create a rendering window and renderer ren = vtkrenderer() renwin = vtkrenderwindow() renwin.addrenderer(ren) renwin.setsize(300,300) iren = vtkrenderwindowinteractor() iren.setrenderwindow(renwin) # create an actor and give it cone geometry cone = vtkconesource() cone.setresolution(8) conemapper = vtkpolydatamapper() conemapper.setinput(cone.getoutput()) coneactor = vtkactor() coneactor.setmapper(conemapper) # assign our actor to the renderer ren.addactor(coneactor) # enable user interface interactor iren.initialize() iren.start()

61 Simple example

62 More advanced examples

63 2D Graphics using OpenGL

64 OpenGL Programmeringsgränssnitt (API) för hårdvarustödd 2D/3D grafik Plattformsoberoende Generellt Flexibelt Låg nivå...

65 Uppritning Uppritning sker med 10 grafiska primitiver Alla skapas på samma sätt # Draw 4 points glbegin(gl_points) glvertex2i( 50, 50) glvertex2i( 50, 50) glvertex2i( 50, 50) glvertex2i( 50, 50) glend()

66 GL_POINTS v1 v0 v2 v3 v4

67 GL_LINES v6 v3 v0 v2 v4 v1 v5 v7

68 GL_LINE_STRIP v1 v2 v0 v3 v6 v5 v4

69 GL_LINE_LOOP v1 v2 v0 v3 v6 v5 v4

70 GL_TRIANGLES v1 v3 v4 v0 v2 v5

71 GL_TRIANGLE_STRIP v0 v2 v3 v1 v4

72 GL_TRIANGLE_FAN v1 v2 v3 v0 v4

73 GL_QUADS v1 v2 v5 v6 v0 v3 v4 v7

74 GL_QUAD_STRIP v1 v3 v5 v7 v0 v2 v4 v6

75 GL_POLYGON v5 v4 v0 v3 v1 v2

76 Egenskaper för primitiver Linjer och Punkter Utanför glbegin()/glend() Linjetjocklek, gllinewidth(2.0) Punktstorlek Färg Ges på vertex nivå Innanför glbegin()/glend() Ges i RGB, där 1.0 är max intensitet och 0.0 är min intensitet Interpolering mellan vertex

77 Egenskaper för primitiver # Sätt linjebredden gllinewidth(2.0) glbegin(gl_lines) glvertex2i( 1000,0); glvertex2i(1000,0); glvertex2i(0, 1000); glvertex2i(0, 1000); glend() # Sätt punktstorleken glpointsize(5) glbegin(gl_points) glvertex2i( 50, 50) glvertex2i( 50, 50) glvertex2i( 50, 50) glvertex2i( 50, 50) glend()

78 Egenskaper för primitiver

79 Egenskaper för primitiver glbegin(gl_quads) glcolor3f(1.0, 0.0, 0.0) # Röd färg glvertex2i(-50, -50) glcolor3f(0.0, 1.0, 0.0) # Grön färg glvertex2i( 50, -50) glcolor3f(0.0, 0.0, 1.0) # Blå färg glvertex2i( 50, 50) glcolor3f(1.0, 1.0, 0.0) # Gul färg glvertex2i(-50, 50) glend()

80 Egenskaper för primitiver

81 Geometriska transformationer Transformationer viktiga i datorgrafik Translation Rotation Skalning OpenGL Transformationsmatriser i hårdvara Modell glmatrixmode(gl_modelview) Projektion glmatrixmode(gl_projection)

82 Initiering av matriser # Initiera modelview matrisen till enhetsmatrisen glmatrixmode(gl_modelview) glloadidentity()

83 Translation Translaterar koordinatsystem gltranslatef(x, y, z) Aktuell matris multipliceras med en translationsmatris

84 Translation gltranslatef(40.0, 40.0, 0.0) glbegin(gl_quads) glcolor3f(1.0, 1.0, 1.0) glvertex2i( 20, 20) glvertex2i( 20, 20) glvertex2i( 20, 20) glvertex2i( 20, 20) glend()

85 Translation

86 Rotation Rotation av koordinatsystem glrotatef(angle, axis_x, axis_y, axis_z) Högerhandsregel Positiv Z axel ut ur skärm

87 Rotation gltranslatef(40.0, 40.0, 0.0) glrotatef(30.0, 0.0, 0.0, 1.0) glbegin(gl_quads) glcolor3f(1.0, 1.0, 1.0) glvertex2i( 20, 20) glvertex2i( 20, 20) glvertex2i( 20, 20) glvertex2i( 20, 20) glend()

88 Rotation

89 Skalning Skalar aktuell koordinatsystem glscalef(scale_x, scale_y, scale_z)

90 Skalning gltranslatef(40.0, 40.0, 0.0) glrotatef(30.0, 0.0, 0.0, 1.0) glscalef(2.0, 2.0, 0.0) glbegin(gl_quads) glcolor3f(1.0, 1.0, 1.0) glvertex2i( 20, 20) glvertex2i( 20, 20) glvertex2i( 20, 20) glvertex2i( 20, 20) glend()

91 Skalning

92 Problem med aktuell metod Matriser måste hela tiden initieras Svårt att implementera hierarkiska transformationer Många och upprepade matrismultiplikationer

93 OpenGL Matrisstack Stapel av matriser Översta matrisen är den aktuella Läggs en matris till stapeln tilldelas den den aktuella matrisen glpushmatrix() Matris kan förkastas med glpopmatrix() Reducerar matrismultiplikationerna Snabbar upp koden Implementerad i hårdvara

94 glpushmatrix()/glpopmatrix() glpushmatrix() gltranslatef(40.0, 40.0, 0.0) glrotatef(30.0, 0.0, 0.0, 1.0) glbegin(gl_quads) glcolor3f(1.0, 1.0, 1.0) glvertex2i(-20, -20) glvertex2i( 20, -20) glvertex2i( 20, 20) glvertex2i(-20, 20) glend() glpopmatrix() glpushmatrix() gltranslatef(-40.0, -40.0, 0.0) glrotatef(-30.0, 0.0, 0.0, 1.0) glbegin(gl_quads) glcolor3f(1.0, 1.0, 1.0) glvertex2i(-20, -20) glvertex2i( 20, -20) glvertex2i( 20, 20) glvertex2i(-20, 20) glend() glpopmatrix()

95 glpushmatrix()/glpopmatrix()

96 Uppritning i skärmbuffert Måste rensas för varje uppritning glclear(gl_color_buffer_bit) Bakgrundsfärg glclearcolor(red, green, blue) Dubbelbuffring Minskar flimmer Uppritning i dold buffer Växling mellan synlig/dold

97 Projektion och skärmvy Projektion mappar modellkoordinater till skärmen glmatrixmode(gl_projection) 2D = Ortografisk projektion gluortho2d(left, right, top, bottom)

98 Initiering av projektionsmatris # Initiera projektionsmatris glmatrixmode(gl_projection) glloadidentity() # Skapa en projektion som mappar koordinater # direkt mot skärmkoordinater. gluortho2d(0,width, 0, height) # Initiera modelview matrisen till enhetsmatrisen glmatrixmode(gl_modelview) glloadidentity()

99 Skärmvy Anger var i fönstret uppritningen skall ske glviewport(x,y,width,height) Medger uppritning i flera vyer för samma fönster Måste uppdateras då fönstret ändrar storlek

100 OpenGL i Python PyOpenGL Bindningar för OpenGL och relaterade projekt GLU, GLUT, GLE etc # * coding: cp1252 * from OpenGL.GL import * from OpenGL.GLU import * import sys, time

Lund University / Lunarc / Python Lecture 1. CALFEM för Python

Lund University / Lunarc / Python Lecture 1. CALFEM för Python CALFEM för Python Vad är CALFEM för Python Delmängd av CALFEM implementerat i Python Använder Numpy för matrishantering Stödjer nätgenerering med triangle och gmsh Plottning med wxwidgets och PyOpenGL

Läs mer

Varför behövs grafikbibliotek? Introduktion till OpenGL. OpenGL är ett grafikbibliotek. Fördelar med OpenGL. Allmänt om OpenGL. Nackdelar med OpenGL

Varför behövs grafikbibliotek? Introduktion till OpenGL. OpenGL är ett grafikbibliotek. Fördelar med OpenGL. Allmänt om OpenGL. Nackdelar med OpenGL Introduktion till OpenGL Battlezone Atari corp., 1980. Gustav Taxén CID gustavt@nada.kth.se Varför behövs grafikbibliotek? Grafikhårdvara Skillnader i funktionalitet och möjligheter. Skillnader i styrning.

Läs mer

Programutveckling för Tekniska Tillämpningar Arbetsblad 5

Programutveckling för Tekniska Tillämpningar Arbetsblad 5 Programutveckling för Tekniska Tillämpningar Arbetsblad 5 I detta arbetsblad innehåller följande moment: 1. Skapa metod för att spara indata till fil. 2. Skapa användargränssnitt för noder, linjer, föreskrivna

Läs mer

Avalanche Studios. OpenGL. Vår teknik. Våra spel. Lite inspiration... Stora, öppna spelvärldar. Sandbox-gameplay. Hög audiovisuell standard

Avalanche Studios. OpenGL. Vår teknik. Våra spel. Lite inspiration... Stora, öppna spelvärldar. Sandbox-gameplay. Hög audiovisuell standard OpenGL Avalanche Studios Sveriges ledande oberoende spelutvecklare Fokus på egenutvecklade IPn Finns på Söder i Stockholm ~6 anställda Just Cause för PS2, PC, XBox, och XBox 36 släpptes 26 Gustav Taxén

Läs mer

Kodexempel från Programmering 2 Tobias Wrigstad, Ph.D.

Kodexempel från Programmering 2 Tobias Wrigstad, Ph.D. Kodexempel från Programmering 2 Tobias Wrigstad, Ph.D. tobias@dsv.su.se Notera att exemplen är i Python 2.5 För att översätta till Python 3.0, gör följande ändringar print(x,y) istället för print x,y input("ett

Läs mer

Sätt att skriva ut binärträd

Sätt att skriva ut binärträd Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer

Läs mer

Tentamen TNM061, 3D-grafik och animering för MT2. Tisdag 3/ kl 8-12 TP51, TP52, TP54, TP56, TP41, TP43. Inga hjälpmedel

Tentamen TNM061, 3D-grafik och animering för MT2. Tisdag 3/ kl 8-12 TP51, TP52, TP54, TP56, TP41, TP43. Inga hjälpmedel Tentamen TNM061, 3D-grafik och animering för MT2 Tisdag 3/6 2014 kl 8-12 TP51, TP52, TP54, TP56, TP41, TP43 Inga hjälpmedel Tentamen innehåller 8 uppgifter, vilka tillsammans kan ge maximalt 50 poäng.

Läs mer

ATT RITA GRAFER MED KOMMANDOT "PLOT"

ATT RITA GRAFER MED KOMMANDOT PLOT MATLAB, D-plot ATT RITA GRAFER MED KOMMANDOT "PLOT" Syntax: Vi börjar med det enklaste plot-kommandot i matlab,,där x är en vektor x- värden och y en vektor med LIKA MÅNGA motsvarande y-värden. Anta att

Läs mer

En introduktion till OpenGL. Gustav Taxén gustavt@csc.kth.se

En introduktion till OpenGL. Gustav Taxén gustavt@csc.kth.se En introduktion till OpenGL Gustav Taxén gustavt@csc.kth.se 2D164 Grafik och Interaktionsprogrammering VT 27 Labb 4 görs på PC! Följ det nya labbpeket - eller: Följ stegen i labbpeket för labb 5 för att

Läs mer

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Abstract class En abstract class är en class som inte kan skapa några objekt. Syfte:

Läs mer

Konvexa höljet Laboration 6 GruDat, DD1344

Konvexa höljet Laboration 6 GruDat, DD1344 Konvexa höljet Laboration 6 GruDat, DD1344 Örjan Ekeberg 10 december 2008 Målsättning Denna laboration ska ge dig övning i att implementera en algoritm utgående från en beskrivning av algoritmen. Du ska

Läs mer

Grafik i DrRacket AV TOMMY KARLSSON

Grafik i DrRacket AV TOMMY KARLSSON Grafik i DrRacket AV TOMMY KARLSSON Upplägg Grundläggande grafik i racket Frame% Kodexempel! Generella problemlösarstrategier Grafisk kodstruktur Button% Pane% & Panel% Canvas% Bitmap% Grafisk effektivisering

Läs mer

Geometriska transformationer

Geometriska transformationer CTH/GU LABORATION 5 TMV6/MMGD - 7/8 Matematiska vetenskaper Inledning Geometriska transformationer Vi skall se på några geometriska transformationer; rotation, skalning, translation, spegling och projektion.

Läs mer

Classes och Interfaces, Objects och References, Initialization

Classes och Interfaces, Objects och References, Initialization Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class

Läs mer

Ett problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0..

Ett problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0.. Ett problem Kontrollstrukturer och er Hur sparas data T ex när man vill spara resultaten av en tävling Exempel med 3 deltagare: public class Competition private int result1; private int result2; private

Läs mer

Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26

Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26 TAIU07 Föreläsning 2 Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26 Matriselement och Index För att manipulera

Läs mer

Övning 1. Abstrakta datatyper. 1. Stacken. class Stack: """A representation of a last-in-first-out (LIFO) stack of objects."""

Övning 1. Abstrakta datatyper. 1. Stacken. class Stack: A representation of a last-in-first-out (LIFO) stack of objects. Per Sedholm DD1320 (tilda11) 2011-09-02 Övning 1 Abstrakta datatyper 1. Stacken -*- coding: utf-8 -*- """Classroom exercise 1, example 1.""" class Stack: """A representation of a last-in-first-out (LIFO)

Läs mer

Programutveckling för Tekniska Tillämpningar Arbetsblad 4

Programutveckling för Tekniska Tillämpningar Arbetsblad 4 Programutveckling för Tekniska Tillämpningar Arbetsblad 4 I detta arbetsblad innehåller följande moment: 1. Skapa en wxpython applikation med huvudfönster och rapportfönster. 2. Integrering av beräkningskod

Läs mer

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man

Läs mer

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och... Allt du behöver veta om MATLAB: Industristandard för numeriska beräkningar och simulationer. Används som ett steg i utvecklingen (rapid prototyping) Har ett syntax Ett teleskopord för «matrix laboratory»

Läs mer

Ordlistor, filhantering och ut på webben. Linda Mannila 20.11.2007

Ordlistor, filhantering och ut på webben. Linda Mannila 20.11.2007 Ordlistor, filhantering och ut på webben Linda Mannila 20.11.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Samlingsdatatyp Listan Utskrift Indata Felhantering Funktioner och moduler

Läs mer

Numerisk lösning av PDE: Comsol Multiphysics

Numerisk lösning av PDE: Comsol Multiphysics J.Oppelstrup p 1 (5) Numerisk lösning av PDE: Comsol Multiphysics I denna lab ska du bekanta dig med programmet Comsol Multiphysics för numerisk lösning av PDE med finita element. Programmet har många

Läs mer

Skillnader mellan Python och Java

Skillnader mellan Python och Java Java Utvecklat på SUN Microsystems mitten 1990-talet Ursprungligen för Webprogram Nu mycket spritt Massor med läroböcker Vi använder Lewis&Loftus http://javasuncom/javase/6/docs/api/ Skillnader mellan

Läs mer

Modeller och teknik Grundl program och gränssnitt. Matlab-tips

Modeller och teknik Grundl program och gränssnitt. Matlab-tips Matlab-tips Matlab Guide För att underlätta programmerandet av Grafiska användargränssnitt (GUI Graphical User Interface) så finns en modul i Matlab som heter Guide och där kan man rita upp sitt användargränsnitt

Läs mer

Geometry shaders! och Tesselation shaders!

Geometry shaders! och Tesselation shaders! 5(91) Information Coding / Computer Graphics, ISY, LiTH Geometry shaders och Tesselation shaders Ytterligare shadersteg i geometristeget i OpenGLpipelinen Kan modifiera, lägga till och ta bort geometri

Läs mer

Exempel. Arrayer. Lösningen. Ett problem. Arrayer och hakparanteser. Arrayer

Exempel. Arrayer. Lösningen. Ett problem. Arrayer och hakparanteser. Arrayer Exempel for (int antal=; antal < 75; antal++) System.out.println (antal); Arrayer for (int num=5; num

Läs mer

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? jonas.kvarnstrom@liu.se 2015 2014 jonas.kvarnstrom@liu.se

Läs mer

Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 15

Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 15 Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 15 Grafiska gränssnitt - GUI Tkinter Tillstånd Komponenter Layout Händelser LÄNKAR & EXEMPEL...finns på kurswebsidan under "GUI

Läs mer

Idag: Centrerad utskrift. Granskning. DD1311 Programmeringsteknik med PBL. Granskning Felhantering GUI. Föreläsning 15.

Idag: Centrerad utskrift. Granskning. DD1311 Programmeringsteknik med PBL. Granskning Felhantering GUI. Föreläsning 15. Skolan för Datavetenskap och kommunikation Idag: DD1311 Programmeringsteknik med PBL Granskning Felhantering GUI Föreläsning 15 På torsdag: Mer om GUI På grupptimmen: genomgång av granskningsprotokollet

Läs mer

Övning 1 - Abstrakta datatyper

Övning 1 - Abstrakta datatyper /home/lindahlm/activity-phd/teaching/12dd1320/exercise1/exercise1.py September 3, 20121 0 # coding : latin Övning 1 - Abstrakta datatyper 18 Summering Vi gick igenom betydelsen av abstrakta datatyper/datastrukturer.

Läs mer

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET UMEÅ UNIVERSITET Datavetenskap 010824 TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET Datum : 010824 Tid : 9-15 Hjälpmedel : Inga Antal uppgifter : 7 Totalpoäng : 40 (halva poängtalet krävs normalt

Läs mer

1. Compute the following matrix: (2 p) 2. Compute the determinant of the following matrix: (2 p)

1. Compute the following matrix: (2 p) 2. Compute the determinant of the following matrix: (2 p) UMEÅ UNIVERSITY Department of Mathematics and Mathematical Statistics Pre-exam in mathematics Linear algebra 2012-02-07 1. Compute the following matrix: (2 p 3 1 2 3 2 2 7 ( 4 3 5 2 2. Compute the determinant

Läs mer

GNU Octave 2.1.50 Spara grafik i postscriptfiler. Per Jönsson, NMS, Malmö högskola

GNU Octave 2.1.50 Spara grafik i postscriptfiler. Per Jönsson, NMS, Malmö högskola GNU Octave..5 Spara grafik i postscriptfiler Per Jönsson, NMS, Malmö högskola Gnuplot Octave använder Gnuplot för att visa grafik. Gnuplot är ett mycket kraftfullt programpaket som både kan visa grafiken

Läs mer

GNU Octave 2.1.72 under Cygwin Spara grafik i postscriptfiler. Per Jönsson, NMS, Malmö högskola

GNU Octave 2.1.72 under Cygwin Spara grafik i postscriptfiler. Per Jönsson, NMS, Malmö högskola GNU Octave 2.1.72 under Cygwin Spara grafik i postscriptfiler Per Jönsson, NMS, Malmö högskola 1 1 Gnuplot Octave använder Gnuplot för att visa grafik. Gnuplot är ett mycket kraftfullt programpaket som

Läs mer

Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY

Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY Grunderna i C++ ARK 385: Virtuella Verktyg i en Materiell värld AT Arkitektur & Teknik Chalmers Tekniska Högskola 2009 - Kursen skapades (3 förel.) 2010-6 förel. + 2 projekt 2011-8 förel. Helt omarbetade

Läs mer

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? jonas.kvarnstrom@liu.se 2016 2014 jonas.kvarnstrom@liu.se

Läs mer

Grafiska pipelinen. Edvin Fischer

Grafiska pipelinen. Edvin Fischer Grafiska pipelinen Edvin Fischer Sammanfattning Rapporten behandlar den grafiska pipelinen och dess steg, vilka stegen är och hur de funkar. Inledning Rapporten har till syfte att beskriva hur den grafiska

Läs mer

DD2310. Javaprogrammering för Pythonprogrammerare. Johan Boye

DD2310. Javaprogrammering för Pythonprogrammerare. Johan Boye DD2310 Javaprogrammering för Pythonprogrammerare Johan Boye James Gosling pappa till Java Hej.java public class Hej { public static void main( String[] args ) { System.out.println( "Hej" ); Java basics

Läs mer

Objektorienterad programmering i Java

Objektorienterad programmering i Java Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet

Läs mer

Geometry shaders! och Tesselation shaders!

Geometry shaders! och Tesselation shaders! 6(87) Geometry shaders och Tesselation shaders Ytterligare shadersteg i geometristeget i OpenGLpipelinen Kan modifiera, lägga till och ta bort geometri Kan mata ut andra sorters geometri än vad som matas

Läs mer

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 2 november 2015 Sida 1 / 23

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 2 november 2015 Sida 1 / 23 TANA17 Matematiska beräkningar med MATLAB för M, DPU Fredrik Berntsson, Linköpings Universitet 2 november 2015 Sida 1 / 23 Föreläsning 2 Index. Kolon-notation. Vektoroperationer. Summor och medelvärden.

Läs mer

Programmeringsteknik II - HT18. Föreläsning 6: Grafik och händelsestyrda program med användargränssnitt (och Java-interface) Johan Öfverstedt

Programmeringsteknik II - HT18. Föreläsning 6: Grafik och händelsestyrda program med användargränssnitt (och Java-interface) Johan Öfverstedt Programmeringsteknik II - HT18 Föreläsning 6: Grafik och händelsestyrda program med användargränssnitt (och Java-interface) Johan Öfverstedt 18-09-28 1 Förra gången: Arv och klasshierarkier Vi såg hur

Läs mer

Dagens föreläsning. Diverse Common Lisp. Konstanter, parametrar, globala variabler

Dagens föreläsning. Diverse Common Lisp. Konstanter, parametrar, globala variabler 21-1-2 1 Dagens föreläsning Hur fungerar ett Lisp system intern struktur av symbolen, tal, listan pekare - delade strukturer - eq minneshantering fri lista - sophämtning/garbage collection stack Diverse

Läs mer

Innehållsförteckning

Innehållsförteckning Innehållsförteckning Innehållsförteckning... 3 Om bokförfattaren och Rita med SketchUp... 8 Bra att veta... 9 Programspråk och förklaringar:... 9 Finns funktionen i gratisversionen (Make)?... 9 Musen är

Läs mer

Arrayer. results

Arrayer. results Arrayer 85 Arrayer Deklarerar utrymme för många variabler i en enda deklaration Array (fält) Varje värde har ett numeriskt index i Java indexeras en array med N element med indexen till N-1 Exempel: 1

Läs mer

Shaders. Renderingssystem. Renderingssystem. Renderingssystem. Hårdvara för 3D-rendering. Hårdvara för 3D-rendering

Shaders. Renderingssystem. Renderingssystem. Renderingssystem. Hårdvara för 3D-rendering. Hårdvara för 3D-rendering Shaders Renderingssystem Applikation Geometri Rastrering Martin Fitger d00-mfi@d.kth.se VT 2008, DH2323 / DH2640 / NA8740 Renderingssystem Renderingssystem Applikation Per-vertex operationer Geometri Rastrering

Läs mer

CTH/GU LABORATION 1 MVE /2013 Matematiska vetenskaper. Mer om grafritning

CTH/GU LABORATION 1 MVE /2013 Matematiska vetenskaper. Mer om grafritning CTH/GU LABORATION 1 MVE16-1/13 Matematiska vetenskaper 1 Inledning Mer om grafritning Vi fortsätter att arbeta med Matlab i matematikkurserna. Denna laboration är i stor utsträckning en repetition och

Läs mer

Tentamen TNM061, 3D-grafik och animering för MT2. Onsdag 20/ kl SP71. Inga hjälpmedel

Tentamen TNM061, 3D-grafik och animering för MT2. Onsdag 20/ kl SP71. Inga hjälpmedel Tentamen TNM061, 3D-grafik och animering för MT2 Onsdag 20/8 2014 kl 14-18 SP71 Inga hjälpmedel Tentamen innehåller 7 uppgifter, vilka tillsammans kan ge maximalt 50 poäng. För betyg G (registreras som

Läs mer

Datastrukturer och Algoritmer D0041D

Datastrukturer och Algoritmer D0041D Luleå Tekniska Universitet 19 mars 2014 Laborationsrapport Laboration 3 Datastrukturer och Algoritmer D0041D Primms Algoritm Namn E-mail Magnus Björk magbjr-3@ltu.student.se Handledare Felix Hansson Primms

Läs mer

Transformationer i R 2 och R 3

Transformationer i R 2 och R 3 Linjär algebra, I / Matematiska vetenskaper Inledning Transformationer i R och R 3 Vi skall se på några geometriska transformationer; rotation, skalning, translation och projektion. Rotation och skalning

Läs mer

Arrayer (fält)

Arrayer (fält) Arrayer (fält) 1 Vad kommer vi att ta upp om arrayer? Deklarera och initiera arrayen Lägga till i arrayen Ta ut på indexposition Ta reda på arrayens längd Sortera arrayen Söka igenom arrayen Loopa igenom

Läs mer

Creo Customization. Lars Björs 2014-10-16

Creo Customization. Lars Björs 2014-10-16 Creo Customization Lars Björs 2014-10-16 Norra Europas största partner och återförsäljare av PTC relaterad programvara (Windchill, Creo, Arbortext, MathCad, Relex) 70 anställda Egen utvecklingsavdelning

Läs mer

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen Föreläsning 2 Programmeringsteknik och Matlab DD1312 Introduktion till python Variabler,datatyper, omvandling av typer sfunktioner Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande

Läs mer

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen Föreläsning 2 Programmeringsteknik och Matlab DD1312 Introduktion till python Variabler, datatyper, omvandling av typer sfunktioner Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande

Läs mer

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014 Introduktion till Datalogi DD1339 Föreläsning 2 22 sept 2014 Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 public class { public class { Åtkomst, public betyder fullt tillgänglig utifrån public

Läs mer

Föreläsning 3. Stack

Föreläsning 3. Stack Föreläsning 3 Stack Föreläsning 3 ADT Stack Stack JCF Tillämpning Utvärdera ett postfix uttryck Stack implementerad med en array Stack implementerad med en länkad lista ADT Stack Grundprinciper: En stack

Läs mer

Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener <scenes>... 3 Typsnitt <fonts>... 3 Övergångar <transitions>...

Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener <scenes>... 3 Typsnitt <fonts>... 3 Övergångar <transitions>... Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener ... 3 Typsnitt ... 3 Övergångar ... 4 Mall för slide ... 5 , ...

Läs mer

Språket Python - Del 1 Grundkurs i programmering med Python

Språket Python - Del 1 Grundkurs i programmering med Python Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR

Läs mer

Grafiska pipelinens funktion

Grafiska pipelinens funktion LUNDS TEKNISKA HÖGSKOLA CAMPUS HELSINGBORG Grafiska pipelinens funktion Ludvig von Sydow EDT62, HT17 Datorarkitekturer med Operativsystem Sammanfattning Denna rapport syftar till att beskriva hur en graphics

Läs mer

Quicksort. Koffman & Wolfgang kapitel 8, avsnitt 9

Quicksort. Koffman & Wolfgang kapitel 8, avsnitt 9 Quicksort Koffman & Wolfgang kapitel 8, avsnitt 9 1 Quicksort Quicksort väljer ett spcifikt värde (kallat pivot), och delar upp resten av fältet i två delar: alla element som är pivot läggs i vänstra delen

Läs mer

Frivillig Java-swing-Graphics-lab Programmeringsteknik MN1 vt02

Frivillig Java-swing-Graphics-lab Programmeringsteknik MN1 vt02 Frivillig Java-swing-Graphics-lab Programmeringsteknik MN1 vt02 Denna laboration är frivillig och syftar till att låta dig lära mer om grafik i java. Labben är ganska grundlig och går igenom vad du skall

Läs mer

Datastrukturer och algoritmer

Datastrukturer och algoritmer Innehåll Datastrukturer och algoritmer Föreläsning 2 Fält Specifikation, Konstruktion och Specifikation, Konstruktion Dynamiska resurser Länk Länkade celler 23 24 Konstruktion av Fält Fysisk datatyp i

Läs mer

Python. Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program.

Python. Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program. Moduler Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program. Vi har också ofta behov av att skapa överblick i våra program. Som ett

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015

Objektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015 Objektorienterad Programkonstruktion Föreläsning 3 9 nov 2015 Kursnämnd Namn kommer... UML: Klassdiagram UML: Relationer Ärver från superklass Implementerar gränssnitt Dubbelriktad eller oriktad relation

Läs mer

Pre-Test 1: M0030M - Linear Algebra.

Pre-Test 1: M0030M - Linear Algebra. Pre-Test : M3M - Linear Algebra. Test your knowledge on Linear Algebra for the course M3M by solving the problems in this test. It should not take you longer than 9 minutes. M3M Problem : Betrakta fyra

Läs mer

EnKlass. Instans 3 av EnKlass. Instans 2 av EnKlass

EnKlass. Instans 3 av EnKlass. Instans 2 av EnKlass Övningstillfälle 4 Klasser och objekt (s. 221 ff.) Syfte 1: En naturlig fortsättning på koncepten abstraktion och inkapsling! Funktion (återanvändning av skyddad, säker och testad kod) Modul (återanvändning

Läs mer

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi. Grunderna i MATLAB eva@it.uu.se Innehåll Vad är MATLAB? Användningsområden MATLAB-miljön Variabler i MATLAB Funktioner i MATLAB Eempel och smakprov: Grafik Beräkningar Bilder GUI Vad är MATLAB? Utvecklat

Läs mer

Att skriva till och läsa från terminalfönstret

Att skriva till och läsa från terminalfönstret Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016

Objektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016 Objektorienterad Programkonstruktion Föreläsning 3 7 nov 2016 Klass/instans Med hjälp av nyckelordet static kan vi bestämma att en metod eller ett fält ska tillhöra själva klassen i stället för en specifik

Läs mer

Kort om programmering i Python

Kort om programmering i Python CTH/GU mmgl50-2018 Matematiska vetenskaper Kort om programmering i Python 1 Inledning Redan i första laborationen gjorde ni ett litet program. Ni skrev en script eller skriptfil som beräknade summan 5

Läs mer

Vad är programmering Jonas Lindemann

Vad är programmering Jonas Lindemann Vad är programmering Jonas Lindemann Vad är en dator? Består av e1 antal delar som samverkar Processorn U7ör instruk:oner (addera, skriv :ll minne, fly1a minne ) Minnet Lagrar de instruk:oner som skall

Läs mer

Mer om funktioner och grafik i Matlab

Mer om funktioner och grafik i Matlab CTH/GU 2/22 Matematiska vetenskaper Inledning Mer om funktioner och grafik i Matlab Först skall vi se lite på funktioner som redan finns i Matlab, (elementära) matematiska funktioner som sinus och cosinus

Läs mer

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det? Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?

Läs mer

Detta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling

Detta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling Detta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling Fulltentamen vitsord: 3=28p, 4=38p, 5= 48p, max 60p. Max 30p i denna halvtentamen Hjälpmedel:

Läs mer

Denna vecka. Idag. Grafiskt användarsnitt. Vi kommer att se

Denna vecka. Idag. Grafiskt användarsnitt. Vi kommer att se 1 F18-20-2006 Denna vecka Måndag: Ett komplext problem Tisdag: Lektion. Kväll: Essäfrågan distribueras via webben. Dead-line onsdag 17 maj, kl 12.00. Inlämning elektroniskt och på papper. Onsdag: Grafik

Läs mer

Python. Datatyper. Mer om datatyper. Heltal - 3 Flyttal - 2,456 Listor - [1,2,3,4] Strängar - spam!

Python. Datatyper. Mer om datatyper. Heltal - 3 Flyttal - 2,456 Listor - [1,2,3,4] Strängar - spam! Python Mer om datatyper Heltal - 3 Flyttal - 2,456 Listor - [1,2,3,4] Strängar - spam! Datatyper Dictionaries - {1: camelot,2: shrubbery } Tupler - (1,2,3,) 1 Lite om strängar Strängar innehåller specialtecken

Läs mer

Föreläsning 8 Programmeringsteknik och Matlab DD1312. Klassmetod. Egen modul

Föreläsning 8 Programmeringsteknik och Matlab DD1312. Klassmetod. Egen modul Föreläsning 8 Programmeringsteknik och Matlab DD1312 er, Self Metoderna:, av metoder, Det är en metod som tillhör klassen och inte objektet. class Skylt(object): antal=0 def init (,r):.reklam=r def antal():

Läs mer

Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY

Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY Grunderna i C++ ARK 385: Virtuella Verktyg i en Materiell värld AT Arkitektur & Teknik Chalmers Tekniska Högskola 2009 - Kursen skapades (3 förel.) 2010-6 förel. + 2 projekt 2011-8 förel. Helt omarbetade

Läs mer

Föreläsning 2, vecka 8: Repetition

Föreläsning 2, vecka 8: Repetition TDA 548: Grundläggande Programvaruutveckling Föreläsning 2, vecka 8: Repetition Magnus Myréen Chalmers, läsperiod 1, 2016-2017 Idag Metoder och terminologi Referensvärden och arrays Interface och ritning

Läs mer

Grundläggande datalogi - Övning 1

Grundläggande datalogi - Övning 1 Grundläggande datalogi - Övning 1 Björn Terelius October 30, 2008 Python är ett tolkat språk som kan köras interaktivt. tcs-ray:~/grudat08>python >>> 11+3*4 23 >>> a = 15 >>> b=a >>> print "a =", a, "b

Läs mer

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34 Tentamen Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Lördagen den 30 november 2002 kl 9.00 14.00, salar E33, E34 Inga hjälpmedel 30 poäng ger säkert godkänt, 40 poäng ger betyg 4 50 poäng ger

Läs mer

Preschool Kindergarten

Preschool Kindergarten Preschool Kindergarten Objectives CCSS Reading: Foundational Skills RF.K.1.D: Recognize and name all upper- and lowercase letters of the alphabet. RF.K.3.A: Demonstrate basic knowledge of one-toone letter-sound

Läs mer

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Programmering I Tobias Wrigstad fredag, 2009 augusti 28 Programmering I Tobias Wrigstad tobias@dsv.su.se Vad är programmering? Lågnivåspråk och högnivåspråk Kompilering och interpretering Variabler Notation för flödesschema (flow chart) Kontrollstrukturer (conditionals,

Läs mer

OpenGL-översikt. OpenGL. Viktigt att komma ihåg: OpenGL-kommandon. OpenGL är en tillståndsmaskin. Transformationer. Geometrispecifikation

OpenGL-översikt. OpenGL. Viktigt att komma ihåg: OpenGL-kommandon. OpenGL är en tillståndsmaskin. Transformationer. Geometrispecifikation OpenGL OpenGL-översikt Geometri Operationer på hörn Projective shadows Advanced Rendering Techniques Using OpenGL, SIGGRAPH Courses 997. Gustav Taxén CID gustavt@nada.kth.se Bilddata Operationer på bildelement

Läs mer

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2 Paneler - VCPXX.2 Programmeringsmanual för VCP-paneler Revision 2 Innehållsförteckning Innehållsförteckning... 2 1 Symbolfiler för kommunikation via IndraLogic... 3 2 Uppsättning i IndraWorks... 6 3 Programmering

Läs mer

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

Läs mer

I STONE. I Variabler, datatyper, typkonvertering. I Logiska och matematiska uttryck. I Metoder-returvärde och parametrar. I Villkorssatser if/else

I STONE. I Variabler, datatyper, typkonvertering. I Logiska och matematiska uttryck. I Metoder-returvärde och parametrar. I Villkorssatser if/else Förkunskaper från tidigare föreläsningar: Objektorienterad Programmering (TDDC77) Föreläsning IX: Klasser och Objekt, Instantiering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2015 I STONE I Variabler,

Läs mer

Skolan för Datavetenskap och kommunikation. Programmeringsteknik. Föreläsning 16

Skolan för Datavetenskap och kommunikation. Programmeringsteknik. Föreläsning 16 Skolan för Datavetenskap och kommunikation Programmeringsteknik Föreläsning 16 Grafiskt användargränssnitt (GUI) Använd modulen tkinter, som har klasser för komponenter. Se "Referenser" på kursens webbsida:

Läs mer

Platser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat

Platser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat Cheat sheets Nedan finns referensblad för fyra olika programmeringsspråk, som kan bli aktuella att använda i matematikundervisning. MATLAB är en välkänd programvara för att göra matematiska beräkningar,

Läs mer

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling

Läs mer

v. 42 Python HT17 En introduktion Oscar Bergqvist

v. 42 Python HT17 En introduktion Oscar Bergqvist v. 42 HT17 Python En introduktion Oscar Bergqvist oscar.bergqvist@stockholm.se 1 Innehåll 2 IDLE... 3 2.1 Det interaktiva läget... 3 2.2 Standardläget... 3 2.3 Färger i IDLE... 3 3 Variabler... 3 3.1 Namn...

Läs mer

Introduktion till Python Teoridel

Introduktion till Python Teoridel Institutionen för teknikvetenskap och matematik, LTU 2 november 2014 Laboration 1, M0043M, HT14 Laborationsuppgifter skall lämnas in senast 21 november 2014. Introduktion till Python Teoridel 1 Inledning

Läs mer

Arrayer (vektorer) Murach s: kap Elektronikcentrum i Svängsta AB

Arrayer (vektorer) Murach s: kap Elektronikcentrum i Svängsta AB Arrayer (vektorer) Murach s: kap 8 2013-01-15 1 Elektronikcentrum i Svängsta AB Arrayer Arrayer (vektorer) Ofta i ett program har vi flera variabler av samma datatyp som är relaterade till varandra. Exempel

Läs mer

Lösningsförslag. 1 Lösningsförslag. Uppgift 1

Lösningsförslag. 1 Lösningsförslag. Uppgift 1 Uppgift 1 Lösningsförslag import java.awt.rectangle; public class ImprovedRectangle extends Rectangle { public ImprovedRectangle(int width, int height) { super(width, height); public ImprovedRectangle(int

Läs mer

Arrayer med primitiva datatyper

Arrayer med primitiva datatyper Arrayer med primitiva datatyper Pellets_utan_array.java class Pellets_utan_array // Programmet inleds med deklarationer av variabler int pellets_1; int pellets_2; int pellets_3; int pellets_4; int pellets_5;

Läs mer

Typkonvertering. Java versus C

Typkonvertering. Java versus C Typer Objektorienterad programmering E Typkonvertering Typkonvertering Satser: while, for, if Objekt Föreläsning 2 Implicit konvertering Antag att vi i ett program deklarerat int n=3; double x = 5.2; Då

Läs mer

Idag. statiska metoder och variabler. private/public/protected. final, abstrakta klasser, gränssnitt, delegering. wrapper classes

Idag. statiska metoder och variabler. private/public/protected. final, abstrakta klasser, gränssnitt, delegering. wrapper classes Idag statiska metoder och variabler private/public/protected final, abstrakta klasser, gränssnitt, delegering wrapper classes ett lite större exempel Objectorienterad programmering Sida 1 Vad vi vet om

Läs mer

TDDD78, TDDE30, 729A Grafik: Att "rita" egna komponenter

TDDD78, TDDE30, 729A Grafik: Att rita egna komponenter TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Grafik: Att "rita" egna komponenter Intro 1: Rita Allt på skärmen ritas som pixlar Även de vanliga GUI-komponenterna 2 Gradienter, skuggning Matematisk

Läs mer

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse GRUNDER I VHDL Innehåll Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse KOMPONENTMODELL Modell för att beskriva komponenter Externt interface Intern funktion

Läs mer

Grafiska användargränssnitt i Java

Grafiska användargränssnitt i Java TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Grafiska användargränssnitt i Java En genomgång av de viktigaste begreppen Alternativ 2 Från början fanns AWT, Abstract Window Toolkit Stora delar har

Läs mer