Basic Terrain Rendering. September 05, 2005
|
|
- Astrid Dahlen
- 5 år siden
- Visninger:
Transkript
1 Game Programming Basic Terrain Rendering September 05, 2005 Terrain Mesh Specifying the heights of each vertex in the grid Smooth transition from mountain to valley simulating a natural terrain Applying nice texture showing sandy beaches, grassy hills, and snowy mountains
2 Sample: Terrain Objective To learn how to generate height info for the terrain that results in smooth transitions of mountains and valleys, simulating a natural terrain To understand how to generate the vertex and triangle data for a terrain To learn a technique that we can use to texture and light the terrain To discover a way to keep the camera planted on the terrain so that walking or running on the terrain is simulated
3 Heightmaps An array where each element specifies the height of a particular vertex in the terrain grid usually allocating a byte of memory for each element (0~255) matching any scale necessary grayscale map A height map as a grayscale Creating a Heightmap Using an image editor as Adobe Photoshop 8-bit RAW file
4 Loading a RAW File bool Terrain::readRawFile(std::string filename) // Restriction: RAW file dimensions must be >= to the // dimensions of the terrain. That is a 128x128 RAW file // can only be used with a terrain constructed with at most // 128x128 vertices. // A height for each vertex std::vector<byte> in( _numvertices ); std::ifstream infile(filename.c_str(), std::ios_base::binary); if( infile == 0 ) return false; infile.read( (char*)&in[0], // buffer in.size());// number of bytes to read into buffer infile.close(); // copy BYTE vector to int vector _heightmap.resize( _numvertices ); for(int i = 0; i < in.size(); i++) _heightmap[i] = in[i]; return true; Accessing and Modifying the Heightmap Referring to an entry by row and column int Terrain::getHeightmapEntry(int row, int col) return _heightmap[row * _numvertsperrow + col]; void Terrain::setHeightmapEntry(int row, int col, int value) _heightmap[row * _numvertsperrow + col] = value;
5 Generating the Terrain Geometry (1) Start=( w/2, d/2) +Z CellSpacing +X d=depth Cell/Quad End=(w/2, d/2) w=width Generating the Terrain Geometry (2) class Terrain public: Terrain( IDirect3DDevice9* device, std::string heightmapfilename, int numvertsperrow, int numvertspercol, int cellspacing, // space between cells float heightscale); ~Terrain();... method snipped private:... device/vertex buffer etc snipped int _numvertsperrow; int _numvertspercol; int _cellspacing; int _numcellsperrow; int _numcellspercol; int _width; int _depth; int _numvertices; int _numtriangles; float _heightscale; std::vector<int> _heightmap; ;
6 Constructor of the Terrain Terrain::Terrain(IDirect3DDevice9* device, std::string heightmapfilename, int numvertsperrow, int numvertspercol, int cellspacing, float heightscale) _device = device; _numvertsperrow = numvertsperrow; _numvertspercol = numvertspercol; _cellspacing = cellspacing; _numcellsperrow = _numvertsperrow - 1; _numcellspercol = _numvertspercol - 1; _width = _numcellsperrow * _cellspacing; _depth = _numcellspercol * _cellspacing; _numvertices = _numvertsperrow * _numvertspercol; _numtriangles = _numcellsperrow * _numcellspercol * 2; _heightscale = heightscale; // load heightmap // scale heights // compute the vertices // compute the indices Vertex Structure for the Terrain Nested class inside the Terrain class not needed outside the Terrain class struct TerrainVertex TerrainVertex() TerrainVertex(float x, float y, float z, float u, float v) _x = x; _y = y; _z = z; _u = u; _v = v; float _x, _y, _z; float _u, _v; ; static const DWORD FVF; const DWORD Terrain::TerrainVertex::FVF = D3DFVF_XYZ D3DFVF_TEX1;
7 Computing the Vertices (2) bool Terrain::computeVertices() HRESULT hr = 0; hr = _device->createvertexbuffer( _numvertices * sizeof(terrainvertex), D3DUSAGE_WRITEONLY, TerrainVertex::FVF, D3DPOOL_MANAGED, &_vb, 0); if(failed(hr)) return false; // coordinates to start generating vertices at int startx = -_width / 2; int startz = _depth / 2; // coordinates to end generating vertices at int endx = _width / 2; int endz = -_depth / 2; // compute the increment size of the texture coordinates // from one vertex to the next. float ucoordincrementsize = 1.0f / (float)_numcellsperrow; float vcoordincrementsize = 1.0f / (float)_numcellspercol; Computing the Vertices (1) (x, y, z) coordinates x and z : generating vertices at start end leaving a gap defined by cell spacing y: loaded hightmap data structure texture coordinates (u, v) : divided by the number of cells (0, 0) (1, 0) +U (0, 1) (1, 1) +V
8 Computing the Vertices (3) TerrainVertex* v = 0; _vb->lock(0, 0, (void**)&v, 0); int i = 0; for(int z = startz; z >= endz; z -= _cellspacing) int j = 0; for(int x = startx; x <= endx; x += _cellspacing) // compute the correct index into the vertex buffer and heightmap // based on where we are in the nested loop. int index = i * _numvertsperrow + j; v[index] = TerrainVertex( (float)x, (float)_heightmap[index], (float)z, (float)j * ucoordincrementsize, (float)i * vcoordincrementsize); j++; // next column i++; // next row _vb->unlock(); return true; Computing the Indices (1) Iterating through each quad Vertex Column j (0, 0) Vertex Column j+1 Vertex Row i Vertex Row i+1 A B ijth cell C D (m, n)
9 Computing the Indices (2) bool Terrain::computeIndices() HRESULT hr = 0; hr = _device->createindexbuffer( _numtriangles * 3 * sizeof(word), // 3 indices per tri. D3DUSAGE_WRITEONLY, D3DFMT_INDEX16, D3DPOOL_MANAGED, &_ib, 0); if(failed(hr)) return false; WORD* indices = 0; _ib->lock(0, 0, (void**)&indices, 0); // index to start of a group of 6 indices that describe the // two triangles that make up a quad int baseindex = 0; Computing the Indices (3) // loop through and compute the triangles of each quad for(int i = 0; i < _numcellspercol; i++) for(int j = 0; j < _numcellsperrow; j++) indices[baseindex] = i * _numvertsperrow + j; indices[baseindex + 1] = i * _numvertsperrow + j + 1; indices[baseindex + 2] = (i+1) * _numvertsperrow + j; indices[baseindex + 3] = (i+1) * _numvertsperrow + j; indices[baseindex + 4] = i * _numvertsperrow + j + 1; indices[baseindex + 5] = (i+1) * _numvertsperrow + j + 1; _ib->unlock(); return true; // next quad baseindex += 6;
10 Texturing (1) Two ways to texture the terrain to simply load a texture file and use that to compute the texture procedurally Loading a texture from the fine into the _tex data member (IDirect3DTexture9) bool Terrain::loadTexture(std::string filename) HRESULT hr = 0; hr = D3DXCreateTextureFromFile( _device, filename.c_str(), &_tex); if(failed(hr)) return false; return true; Texturing (2) Procedural approach creating an empty texture computing the color of each texel based on some parameter(s) In this example creating an empty texture and lock the top level coloring the texel based on the approximate height of the quad darkening or brightening each texel based on the angle at which sunlight lighting computing the texels of the lower mipmap levels
11 Texturing (3) bool Terrain::genTexture(D3DXVECTOR3* directiontolight) // Method fills the top surface of a texture procedurally. Then // lights the top surface. Finally, it fills the other mipmap // surfaces based on the top surface data using D3DXFilterTexture. HRESULT hr = 0; // texel for each quad cell int texwidth = _numcellsperrow; int texheight = _numcellspercol; // create an empty texture hr = D3DXCreateTexture( _device, texwidth, texheight, 0, // create a complete mipmap chain 0, // usage D3DFMT_X8R8G8B8,// 32 bit XRGB format D3DPOOL_MANAGED, &_tex); if(failed(hr)) return false; D3DSURFACE_DESC texturedesc; _tex->getleveldesc(0 /*level*/, &texturedesc); // make sure we got the requested format because our code // that fills the texture is hard coded to a 32 bit pixel depth. if( texturedesc.format!= D3DFMT_X8R8G8B8 ) return false; Texturing (4) D3DLOCKED_RECT lockedrect; _tex->lockrect(0 /*lock top surface*/, &lockedrect, 0 /*lock entire tex*/, 0 /*flags*/); DWORD* imagedata = (DWORD*)lockedRect.pBits; for(int i = 0; i < texheight; i++) for(int j = 0; j < texwidth; j++) D3DXCOLOR c; // get height of upper left vertex of quad. float height = (float)getheightmapentry(i, j) / _heightscale; if( (height) < 42.5f ) else if( (height) < 85.0f ) else if( (height) < 127.5f ) else if( (height) < 170.0f ) else if( (height) < 212.5f ) else c = d3d::beach_sand; c = d3d::light_yellow_green; c = d3d::puregreen; c = d3d::dark_yellow_green; c = d3d::darkbrown; c = d3d::white; // fill locked data, note we divide the pitch by four because the // pitch is given in bytes and there are 4 bytes per DWORD. imagedata[i * lockedrect.pitch / 4 + j] = (D3DCOLOR)c; _tex->unlockrect(0);
12 Texturing (5) if(!lightterrain(directiontolight)) ::MessageBox(0, "lightterrain() - FAILED", 0, 0); return false; hr = D3DXFilterTexture( _tex, 0, // default palette 0, // use top level as source level D3DX_DEFAULT); // default filter if(failed(hr)) ::MessageBox(0, "D3DXFilterTexture() - FAILED", 0, 0); return false; return true; Lighting (1) Computing a shade factor that brightens or darkens areas of the terrain to enhance the realism Three benefits saving memory by not having to store vertex normals eliminating the processing time for Direct3D to light the terrain in real time precalculating the lighting since terrain is static and the light will not be moved getting some math practice (basic lighting concept) and practice using Direct3D functions
13 Lighting (2) Diffuse lighting directional (parallel) light source opposite direction of the light rays lightraysdirection=(0, -1, 0) directiontolight=(0, 1, 0) calculating the angle between the light vector and the quad s surface normal N L L N (a) Shading scalar in the interval [0, 1] multiplying a color by this shading scalar (b) Computing the Shade of a Quad (1) Angle between a normalized light vector L and the quad s normal vector N finding N cross product!! u = v = ( cellspacing, by ay, 0) ( 0, c a, cellspacing) s = L ˆ N ˆ s: [-1, 1] [0, 1] y y N = u v N N ˆ = N +Y v=c-a c a +Z float cosine = D3DXVec3Dot(&n, directiontolight); if(cosine < 0.0f) cosine = 0.0f; u=b-a b +X
14 Computing the Shade of a Quad (2) float Terrain::computeShade(int cellrow, int cellcol, D3DXVECTOR3* directiontolight) // get heights of three vertices on the quad float heighta = getheightmapentry(cellrow, cellcol); float heightb = getheightmapentry(cellrow, cellcol+1); float heightc = getheightmapentry(cellrow+1, cellcol); // build two vectors on the quad D3DXVECTOR3 u(_cellspacing, heightb - heighta, 0.0f); D3DXVECTOR3 v(0.0f, heightc - heighta, -_cellspacing); // find the normal by taking the cross product of two // vectors on the quad. D3DXVECTOR3 n; D3DXVec3Cross(&n, &u, &v); D3DXVec3Normalize(&n, &n); float cosine = D3DXVec3Dot(&n, directiontolight); if(cosine < 0.0f) cosine = 0.0f; return cosine; Shading the Terrain bool Terrain::lightTerrain(D3DXVECTOR3* directiontolight) HRESULT hr = 0; D3DSURFACE_DESC texturedesc; _tex->getleveldesc(0 /*level*/, &texturedesc); // make sure we got the requested format because our code that fills the // texture is hard coded to a 32 bit pixel depth. if( texturedesc.format!= D3DFMT_X8R8G8B8 ) return false; D3DLOCKED_RECT lockedrect; _tex->lockrect( 0, // lock top surface level in mipmap chain &lockedrect,// pointer to receive locked data 0, // lock entire texture image 0); // no lock flags specified DWORD* imagedata = (DWORD*)lockedRect.pBits; for(int i = 0; i < texturedesc.height; i++) for(int j = 0; j < texturedesc.width; j++) // index into texture, note we use the pitch and divide by // four since the pitch is given in bytes and there are // 4 bytes per DWORD. int index = i * lockedrect.pitch / 4 + j; // get current color of quad D3DXCOLOR c( imagedata[index] ); // shade current quad c *= computeshade(i, j, directiontolight);; // save shaded color imagedata[index] = (D3DCOLOR)c; _tex->unlockrect(0); return true;
15 Walking on the Terrain (1) Adjusting the camera s height (y-coordinate) depending on the terrain Returning the height for given x- and y- coordinates of the camera s position finding the cell float Terrain::getHeight(float x, float z) // Translate on xz-plane by the transformation that takes // the terrain START point to the origin. x = ((float)_width / 2.0f) + x; z = ((float)_depth / 2.0f) - z; // Scale down by the transformation that makes the // cellspacing equal to one. This is given by // 1 / cellspacing since; cellspacing * 1 / cellspacing = 1. x /= (float)_cellspacing; z /= (float)_cellspacing; Walking on the Terrain (2) Start +Z CellSpacing 1.0 +X +X p p start origin cell spacing 1.0 -z +z +Z
16 Walking on the Terrain (3) // From now on, we will interpret our positive z-axis as // going in the 'down' direction, rather than the 'up' direction. // This allows to extract the row and column simply by 'flooring' // x and z: float col = ::floorf(x); float row = ::floorf(z); // get the heights of the quad we're in: // // A B // *---* // / // *---* // C D float A = getheightmapentry(row, col); float B = getheightmapentry(row, col+1); float C = getheightmapentry(row+1, col); float D = getheightmapentry(row+1, col+1); floor(t) return greatest integer t grabbing the heights of the four vertices of the cell Walking on the Terrain (4) finding the triangle +X +Y v1 +Z (1,2) v0 y (x, z) v3 v2 +X +Z (0,0) // Translate by the transformation that takes the upper-left // corner of the cell we are in to the origin. Recall that our // cellspacing was nomalized to 1. Thus we have a unit square // at the origin of our +x -> 'right' and +z -> 'down' system. float dx = x - col; float dz = z - row; p p (1,1)
17 Walking on the Terrain (5) // Note the below compuations of u and v are unneccessary, we really // only need the height, but we compute the entire vector to emphasis // the books discussion. float height = 0.0f; if(dz < 1.0f - dx) // upper triangle ABC float uy = B - A; // A->B float vy = C - A; // A->C // Linearly interpolate on each vector. The height is the vertex // height the vectors u and v originate from A, plus the heights // found by interpolating on each vector u and v. height = A + d3d::lerp(0.0f, uy, dx) + d3d::lerp(0.0f, vy, dz); else // lower triangle DCB float uy = C - D; // D->C float vy = B - D; // D->B // Linearly interpolate on each vector. The height is the vertex // height the vectors u and v originate from D, plus the heights // found by interpolating on each vector u and v. height = D + d3d::lerp(0.0f, uy, 1.0f-dx) + d3d::lerp(0.0f, vy, 1.0f-dz); float d3d::lerp(float a, float b, float t) return height; return a - (a*t) + (b*t); Walking on the Terrain (6) linear interpolation +Y vy A uy +Z B +Y A dxuy dzvy y +Z B C (x, z) C (x, z) +X +X
18 Sample: Terrain Setup ( ) Terrain* TheTerrain = 0; Camera TheCamera(Camera::LANDOBJECT); FPSCounter* FPS = 0; bool Setup() // Create the terrain. D3DXVECTOR3 lightdirection(0.0f, 1.0f, 0.0f); TheTerrain = new Terrain(Device, "coastmountain64.raw", 64, 64, 10, 0.5f); TheTerrain->genTexture(&lightDirection); // Set texture filters. Device->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); Device->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); Device->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); // Set projection matrix. D3DXMATRIX proj; D3DXMatrixPerspectiveFovLH( &proj, D3DX_PI * 0.25f, // 45 - degree (float)width / (float)height, 1.0f, f); Device->SetTransform(D3DTS_PROJECTION, &proj); return true; void Cleanup() d3d::delete<terrain*>(theterrain); d3d::delete<fpscounter*>(fps);
19 Display ( ) bool Display(float timedelta) // Update the scene: if( Device )... [snipped input checking] D3DXVECTOR3 pos; TheCamera.getPosition(&pos); float height = TheTerrain->getHeight( pos.x, pos.z ); pos.y = height + 5.0f; // add height because we're standing up TheCamera.setPosition(&pos); D3DXMATRIX V; TheCamera.getViewMatrix(&V); Device->SetTransform(D3DTS_VIEW, &V); // Draw the scene: Device->Clear(0, 0, D3DCLEAR_TARGET D3DCLEAR_ZBUFFER, 0xff000000, 1.0f, 0); Device->BeginScene(); D3DXMATRIX I; D3DXMatrixIdentity(&I); if( TheTerrain ) TheTerrain->draw(&I, false); if( FPS ) FPS->render(0xffffffff, timedelta); Device->EndScene(); Device->Present(0, 0, 0, 0); return true; Some Improvements Dividing up the terrain geometry into many smaller vertex buffers, blocks depending on the target hardware void D3DXSplitMesh( LPD3DXMESH pmeshin, const DWORD *padjacencyin, const DWORD MaxSize, const DWORD Options, DWORD *pmeshesout, LPD3DXBUFFER *ppmesharrayout, LPD3DXBUFFER *ppadjacencyarrayout, LPD3DXBUFFER *ppfaceremaparrayout, LPD3DXBUFFER *ppvertremaparrayout );
Slope-Intercept Formula
LESSON 7 Slope Intercept Formula LESSON 7 Slope-Intercept Formula Here are two new words that describe lines slope and intercept. The slope is given by m (a mountain has slope and starts with m), and intercept
DetaljerMoving Objects. We need to move our objects in 3D space.
Transformations Moving Objects We need to move our objects in 3D space. Moving Objects We need to move our objects in 3D space. An object/model (box, car, building, character,... ) is defined in one position
DetaljerUnit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3
Relational Algebra 1 Unit 3.3 Unit 3.3 - Relational Algebra 1 1 Relational Algebra Relational Algebra is : the formal description of how a relational database operates the mathematics which underpin SQL
DetaljerDu må håndtere disse hendelsene ved å implementere funksjonene init(), changeh(), changev() og escape(), som beskrevet nedenfor.
6-13 July 2013 Brisbane, Australia Norwegian 1.0 Brisbane har blitt tatt over av store, muterte wombater, og du må lede folket i sikkerhet. Veiene i Brisbane danner et stort rutenett. Det finnes R horisontale
DetaljerTMA4329 Intro til vitensk. beregn. V2017
Norges teknisk naturvitenskapelige universitet Institutt for Matematiske Fag TMA439 Intro til vitensk. beregn. V17 ving 4 [S]T. Sauer, Numerical Analysis, Second International Edition, Pearson, 14 Teorioppgaver
DetaljerOppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.
TDT445 Øving 4 Oppgave a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet. Nøkkel: Supernøkkel: Funksjonell avhengighet: Data i en database som kan unikt identifisere (et sett
DetaljerTrigonometric Substitution
Trigonometric Substitution Alvin Lin Calculus II: August 06 - December 06 Trigonometric Substitution sin 4 (x) cos (x) dx When you have a product of sin and cos of different powers, you have three different
DetaljerGraphs similar to strongly regular graphs
Joint work with Martin Ma aj 5th June 2014 Degree/diameter problem Denition The degree/diameter problem is the problem of nding the largest possible graph with given diameter d and given maximum degree
DetaljerDynamic Programming Longest Common Subsequence. Class 27
Dynamic Programming Longest Common Subsequence Class 27 Protein a protein is a complex molecule composed of long single-strand chains of amino acid molecules there are 20 amino acids that make up proteins
Detaljer5 E Lesson: Solving Monohybrid Punnett Squares with Coding
5 E Lesson: Solving Monohybrid Punnett Squares with Coding Genetics Fill in the Brown colour Blank Options Hair texture A field of biology that studies heredity, or the passing of traits from parents to
DetaljerStart MATLAB. Start NUnet Applications Statistical and Computational packages MATLAB Release 13 MATLAB 6.5
Start MATLAB Start NUnet Applications Statistical and Computational packages MATLAB Release 13 MATLAB 6.5 Prompt >> will appear in the command window Today: MATLAB overview In-class HW: Chapter 1, Problems
DetaljerLevel Set methods. Sandra Allaart-Bruin. Level Set methods p.1/24
Level Set methods Sandra Allaart-Bruin sbruin@win.tue.nl Level Set methods p.1/24 Overview Introduction Level Set methods p.2/24 Overview Introduction Boundary Value Formulation Level Set methods p.2/24
DetaljerRight Triangle Trigonometry
Section. Rigt Triangle Trigonometr. Reflection in te -ais and a vertical sift two units upward =. f Reflection in te -ais and a orizontal sift tree units to te left = ( + ) = = Section. Rigt Triangle Trigonometr
DetaljerGradient. Masahiro Yamamoto. last update on February 29, 2012 (1) (2) (3) (4) (5)
Gradient Masahiro Yamamoto last update on February 9, 0 definition of grad The gradient of the scalar function φr) is defined by gradφ = φr) = i φ x + j φ y + k φ ) φ= φ=0 ) ) 3) 4) 5) uphill contour downhill
DetaljerIN2010: Algoritmer og Datastrukturer Series 2
Universitetet i Oslo Institutt for Informatikk S.M. Storleer, S. Kittilsen IN2010: Algoritmer og Datastrukturer Series 2 Tema: Grafteori 1 Publisert: 02. 09. 2019 Utvalgte løsningsforslag Oppgave 1 (Fra
DetaljerNeural Network. Sensors Sorter
CSC 302 1.5 Neural Networks Simple Neural Nets for Pattern Recognition 1 Apple-Banana Sorter Neural Network Sensors Sorter Apples Bananas 2 Prototype Vectors Measurement vector p = [shape, texture, weight]
DetaljerDatabases 1. Extended Relational Algebra
Databases 1 Extended Relational Algebra Relational Algebra What is an Algebra? Mathematical system consisting of: Operands --- variables or values from which new values can be constructed. Operators ---
DetaljerFYSMEK1110 Eksamensverksted 23. Mai :15-18:00 Oppgave 1 (maks. 45 minutt)
FYSMEK1110 Eksamensverksted 23. Mai 2018 14:15-18:00 Oppgave 1 (maks. 45 minutt) Page 1 of 9 Svar, eksempler, diskusjon og gode råd fra studenter (30 min) Hva får dere poeng for? Gode råd fra forelesere
DetaljerRight Triangle Trigonometry
0 Capter Trigonometry 70. f 8 7 8 Vertical asymptote: 8 0 y 7 0 7 8 9 9 ± 8 y Slant asymptote: ± 89 ;.,. y 7 8 y-intercept: 0, 8 -intercept:.8, 0 Section. Rigt Triangle Trigonometry You sould know te rigt
DetaljerUniversitetet i Bergen Det matematisk-naturvitenskapelige fakultet Eksamen i emnet Mat131 - Differensiallikningar I Onsdag 25. mai 2016, kl.
1 MAT131 Bokmål Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Eksamen i emnet Mat131 - Differensiallikningar I Onsdag 25. mai 2016, kl. 09-14 Oppgavesettet er 4 oppgaver fordelt på
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 4. juni 2010 Tid for eksamen: 9.00 12.00 Oppgavesettet
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i MAT2400 Analyse 1. Eksamensdag: Onsdag 15. juni 2011. Tid for eksamen: 09.00 13.00 Oppgavesettet er på 6 sider. Vedlegg: Tillatte
DetaljerInformation search for the research protocol in IIC/IID
Information search for the research protocol in IIC/IID 1 Medical Library, 2013 Library services for students working with the research protocol and thesis (hovedoppgaven) Open library courses: http://www.ntnu.no/ub/fagside/medisin/medbiblkurs
DetaljerHan Ola of Han Per: A Norwegian-American Comic Strip/En Norsk-amerikansk tegneserie (Skrifter. Serie B, LXIX)
Han Ola of Han Per: A Norwegian-American Comic Strip/En Norsk-amerikansk tegneserie (Skrifter. Serie B, LXIX) Peter J. Rosendahl Click here if your download doesn"t start automatically Han Ola of Han Per:
DetaljerStart Here USB *CC * *CC * USB USB
1 USB Start Here USB 11 USB WARNING: To ensure that the software is installed correctly, do not connect the USB cable until step 11. 11 USB 2 a. b. Lower both the paper tray and the print cartridge door.
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF3320 Metoder i grafisk databehandling og diskret geometri Eksamensdag: 29. november 2011 Tid for eksamen: 14.30 18.30 Oppgavesettet
DetaljerExercise 1: Phase Splitter DC Operation
Exercise 1: DC Operation When you have completed this exercise, you will be able to measure dc operating voltages and currents by using a typical transistor phase splitter circuit. You will verify your
DetaljerMaple Basics. K. Cooper
Basics K. Cooper 2012 History History 1982 Macsyma/MIT 1988 Mathematica/Wolfram 1988 /Waterloo Others later History Why? Prevent silly mistakes Time Complexity Plots Generate LATEX This is the 21st century;
DetaljerHvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)
INF247 Er du? Er du? - Annet Ph.D. Student Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye) Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen,
DetaljerSolutions #12 ( M. y 3 + cos(x) ) dx + ( sin(y) + z 2) dy + xdz = 3π 4. The surface M is parametrized by σ : [0, 1] [0, 2π] R 3 with.
Solutions #1 1. a Show that the path γ : [, π] R 3 defined by γt : cost ı sint j sint k lies on the surface z xy. b valuate y 3 cosx dx siny z dy xdz where is the closed curve parametrized by γ. Solution.
DetaljerSAS FANS NYTT & NYTTIG FRA VERKTØYKASSA TIL SAS 4. MARS 2014, MIKKEL SØRHEIM
SAS FANS NYTT & NYTTIG FRA VERKTØYKASSA TIL SAS 4. MARS 2014, MIKKEL SØRHEIM 2 TEMA 1 MULTIPROSESSERING MED DATASTEGET Multiprosessering har lenge vært et tema i SAS Stadig ny funksjonalitet er med på
DetaljerMathematics 114Q Integration Practice Problems SOLUTIONS. = 1 8 (x2 +5x) 8 + C. [u = x 2 +5x] = 1 11 (3 x)11 + C. [u =3 x] = 2 (7x + 9)3/2
Mathematics 4Q Name: SOLUTIONS. (x + 5)(x +5x) 7 8 (x +5x) 8 + C [u x +5x]. (3 x) (3 x) + C [u 3 x] 3. 7x +9 (7x + 9)3/ [u 7x + 9] 4. x 3 ( + x 4 ) /3 3 8 ( + x4 ) /3 + C [u + x 4 ] 5. e 5x+ 5 e5x+ + C
DetaljerRingvorlesung Biophysik 2016
Ringvorlesung Biophysik 2016 Born-Oppenheimer Approximation & Beyond Irene Burghardt (burghardt@chemie.uni-frankfurt.de) http://www.theochem.uni-frankfurt.de/teaching/ 1 Starting point: the molecular Hamiltonian
DetaljerLevel-Rebuilt B-Trees
Gerth Stølting Brodal BRICS University of Aarhus Pankaj K. Agarwal Lars Arge Jeffrey S. Vitter Center for Geometric Computing Duke University August 1998 1 B-Trees Bayer, McCreight 1972 Level 2 Level 1
DetaljerHvordan føre reiseregninger i Unit4 Business World Forfatter:
Hvordan føre reiseregninger i Unit4 Business World Forfatter: dag.syversen@unit4.com Denne e-guiden beskriver hvordan du registrerer en reiseregning med ulike typer utlegg. 1. Introduksjon 2. Åpne vinduet
DetaljerSpeed Racer Theme. Theme Music: Cartoon: Charles Schultz / Jef Mallett Peanuts / Frazz. September 9, 2011 Physics 131 Prof. E. F.
September 9, 2011 Physics 131 Prof. E. F. Redish Theme Music: Speed Racer Theme Cartoon: Charles Schultz / Jef Mallett Peanuts / Frazz 1 Reading questions Are the lines on the spatial graphs representing
DetaljerREMOVE CONTENTS FROM BOX. VERIFY ALL PARTS ARE PRESENT READ INSTRUCTIONS CAREFULLY BEFORE STARTING INSTALLATION
2011-2014 FORD EXPLORER PARTS LIST Qty Part Description Qty Part Description 1 Bull Bar 2 12mm x 35mm Bolt Plates 1 Passenger/Right Mounting Bracket 2 12mm Nut Plate 1 Driver/Left Mounting Bracket 2 12mm
DetaljerFIRST LEGO League. Härnösand 2012
FIRST LEGO League Härnösand 2012 Presentasjon av laget IES Dragons Vi kommer fra Härnosänd Snittalderen på våre deltakere er 11 år Laget består av 4 jenter og 4 gutter. Vi representerer IES i Sundsvall
DetaljerNewtons fargeskive. Regnbuens farger blir til hvitt. Sett skiva i rask rotasjon ved hjelp av sveiva.
Newtons fargeskive Regnbuens farger blir til hvitt. Sett skiva i rask rotasjon ved hjelp av sveiva. Se hva som skjer med fargene. Hvitt lys består av en blanding av alle farger. Når fargeskiva roterer
DetaljerEmneevaluering GEOV272 V17
Emneevaluering GEOV272 V17 Studentenes evaluering av kurset Svarprosent: 36 % (5 av 14 studenter) Hvilket semester er du på? Hva er ditt kjønn? Er du...? Er du...? - Annet PhD Candidate Samsvaret mellom
DetaljerLøsningsforslag 2017 eksamen
Løsningsforslag 2017 eksamen Oppgave 1: O-notasjon (maks 8 poeng) 1. (i) O(n) gir 2 poeng, O(100n) gir 1 poeng (ii) O(n^2) gir 1 poeng (iii) O(n log n) gir 2 poeng 2. (i) er mest effektiv i henhold til
DetaljerIN 211 Programmeringsspråk. Dokumentasjon. Hvorfor skrive dokumentasjon? For hvem? «Lesbar programmering» Ark 1 av 11
Dokumentasjon Hvorfor skrive dokumentasjon? For hvem? «Lesbar programmering» Ark 1 av 11 Forelesning 8.11.1999 Dokumentasjon Med hvert skikkelig program bør det komme følgende dokumentasjon: innføring
DetaljerMerak Un-glazed Porcelain Wall and Floor Tiles
6 Colours 3 es Absolute Collection 7 s Merak Un-glazed Porcelain Wall and Floor Tiles Merak includes seven sizes perfectly designed for seamless installation. 600 x 50mm 600 x 100mm 600 x 300mm 600 x 150mm
DetaljerSVM and Complementary Slackness
SVM and Complementary Slackness David Rosenberg New York University February 21, 2017 David Rosenberg (New York University) DS-GA 1003 February 21, 2017 1 / 20 SVM Review: Primal and Dual Formulations
DetaljerSecond Order ODE's (2P) Young Won Lim 7/1/14
Second Order ODE's (2P) Copyright (c) 2011-2014 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or
DetaljerRessurser. OpenCV documentation: Eigen documentation : C++: Image Watch: An image debugger plug-in for Visual Studio
Lab 2 04.02.2016 Ressurser OpenCV documentation: http://opencv.org/documentation.html Eigen documentation : http://eigen.tuxfamily.org/dox/ Quick reference quide: http://eigen.tuxfamily.org/dox/group QuickRefPage.html
DetaljerTUSEN TAKK! BUTIKKEN MIN! ...alt jeg ber om er.. Maren Finn dette og mer i. ... finn meg på nett! Grafiske lisenser.
TUSEN TAKK! Det at du velger å bruke mitt materiell for å spare tid og ha det kjekt sammen med elevene betyr mye for meg! Min lidenskap er å hjelpe flotte lærere i en travel hverdag, og å motivere elevene
DetaljerMedisinsk statistikk, KLH3004 Dmf, NTNU 2009. Styrke- og utvalgsberegning
Styrke- og utvalgsberegning Geir Jacobsen, ISM Sample size and Power calculations The essential question in any trial/analysis: How many patients/persons/observations do I need? Sample size (an example)
DetaljerDen som gjør godt, er av Gud (Multilingual Edition)
Den som gjør godt, er av Gud (Multilingual Edition) Arne Jordly Click here if your download doesn"t start automatically Den som gjør godt, er av Gud (Multilingual Edition) Arne Jordly Den som gjør godt,
DetaljerNorsk (English below): Guide til anbefalt måte å printe gjennom plotter (Akropolis)
Norsk (English below): Guide til anbefalt måte å printe gjennom plotter (Akropolis) 1. Gå til print i dokumentet deres (Det anbefales å bruke InDesign til forberedning for print) 2. Velg deretter print
DetaljerCall function of two parameters
Call function of two parameters APPLYUSER USER x fµ 1 x 2 eµ x 1 x 2 distinct e 1 0 0 v 1 1 1 e 2 1 1 v 2 2 2 2 e x 1 v 1 x 2 v 2 v APPLY f e 1 e 2 0 v 2 0 µ Evaluating function application The math demands
DetaljerAndrew Gendreau, Olga Rosenbaum, Anthony Taylor, Kenneth Wong, Karl Dusen
Andrew Gendreau, Olga Rosenbaum, Anthony Taylor, Kenneth Wong, Karl Dusen The Process Goal Definition Data Collection Data Preprocessing EDA Choice of Variables Choice of Method(s) Performance Evaluation
DetaljerSatellite Stereo Imagery. Synthetic Aperture Radar. Johnson et al., Geosphere (2014)
Satellite Stereo Imagery Synthetic Aperture Radar Johnson et al., Geosphere (2014) Non-regular sampling Missing data due to lack of correlation, shadows, water, Potentially 3D as opposed to purely 2D (i.e.
DetaljerTFY4170 Fysikk 2 Justin Wells
TFY4170 Fysikk 2 Justin Wells Forelesning 5: Wave Physics Interference, Diffraction, Young s double slit, many slits. Mansfield & O Sullivan: 12.6, 12.7, 19.4,19.5 Waves! Wave phenomena! Wave equation
DetaljerPSi Apollo. Technical Presentation
PSi Apollo Spreader Control & Mapping System Technical Presentation Part 1 System Architecture PSi Apollo System Architecture PSi Customer label On/Off switch Integral SD card reader/writer MENU key Typical
DetaljerEstimating Peer Similarity using. Yuval Shavitt, Ela Weinsberg, Udi Weinsberg Tel-Aviv University
Estimating Peer Similarity using Distance of Shared Files Yuval Shavitt, Ela Weinsberg, Udi Weinsberg Tel-Aviv University Problem Setting Peer-to-Peer (p2p) networks are used by millions for sharing content
DetaljerEndelig ikke-røyker for Kvinner! (Norwegian Edition)
Endelig ikke-røyker for Kvinner! (Norwegian Edition) Allen Carr Click here if your download doesn"t start automatically Endelig ikke-røyker for Kvinner! (Norwegian Edition) Allen Carr Endelig ikke-røyker
DetaljerPhysical origin of the Gouy phase shift by Simin Feng, Herbert G. Winful Opt. Lett. 26, (2001)
by Simin Feng, Herbert G. Winful Opt. Lett. 26, 485-487 (2001) http://smos.sogang.ac.r April 18, 2014 Introduction What is the Gouy phase shift? For Gaussian beam or TEM 00 mode, ( w 0 r 2 E(r, z) = E
DetaljerHow Bridges Work Sgrad 2001
How Bridges Work Sgrad 2001 The Basic s There are three major types of bridges: The beam bridge The arch bridge The suspension bridge prepared by Mr.S.Grad 2 The biggest difference between the three is
DetaljerRom-Linker Software User s Manual
Rom-Linker Software User s Manual Tel.: +886-2-2274-1347 Fax. +886-2-2273-3014 Http://www.hmt.com.tw e-mail: hmtsales@hmt.com.tw Contents Catalogue Page (1) Rom-Linker Starting Screen... 01 (2) Rom-Linker
DetaljerBildebehandling med Python og EzGraphics
Bildebehandling med Python og EzGraphics I denne oppgaven skal dere jobbe med bildebehandling. På samme måte som vi jobbet med lyd tidligere, skal vi nå se på bilder. Vi kan bruke EzGraphics til alt vi
DetaljerTUSEN TAKK! BUTIKKEN MIN! ...alt jeg ber om er.. Maren Finn dette og mer i. ... finn meg på nett! Grafiske lisenser.
TUSEN TAKK! Det at du velger å bruke mitt materiell for å spare tid og ha det kjekt sammen med elevene betyr mye for meg! Min lidenskap er å hjelpe flotte lærere i en travel hverdag, og å motivere elevene
DetaljerTUSEN TAKK! BUTIKKEN MIN! ...alt jeg ber om er.. Maren Finn dette og mer i. ... finn meg på nett! Grafiske lisenser.
TUSEN TAKK! Det at du velger å bruke mitt materiell for å spare tid og ha det kjekt sammen med elevene betyr mye for meg! Min lidenskap er å hjelpe flotte lærere i en travel hverdag, og å motivere elevene
DetaljerPARABOLSPEIL. Still deg bak krysset
PARABOLSPEIL Stå foran krysset på gulvet og se inn i parabolen. Hvordan ser du ut? Still deg bak krysset på gulvet. Hva skjer? Hva skjer når du stiller deg på krysset? Still deg bak krysset Det krumme
DetaljerTUSEN TAKK! BUTIKKEN MIN! ...alt jeg ber om er.. Maren Finn dette og mer i. ... finn meg på nett! Grafiske lisenser.
TUSEN TAKK! Det at du velger å bruke mitt materiell for å spare tid og ha det kjekt sammen med elevene betyr mye for meg! Min lidenskap er å hjelpe flotte lærere i en travel hverdag, og å motivere elevene
DetaljerHvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)
INF234 Er du? Er du? - Annet Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye) Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye) Hvor
DetaljerSkjema for spørsmål og svar angående: Skuddbeskyttende skjold Saksnr TED: 2014/S
Skjema for spørsmål og svar angående: Skuddbeskyttende skjold Saksnr. 201300129 TED: 2014/S 017-026835 Nr Dokument Referanse Svar 1 Kvalifikasjonsgrunnlag Er det mulig å få tilsendt Nei 27.01.2014 27.01.2014
DetaljerGEO231 Teorier om migrasjon og utvikling
U N I V E R S I T E T E T I B E R G E N Institutt for geografi Emnerapport høsten 2013: GEO231 Teorier om migrasjon og utvikling Innhold: 1. Informasjon om emnet 2. Statistikk 3. Egenevaluering 4. Studentevaluering
DetaljerINF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen
INF2820 Datalingvistikk V2011 Jan Tore Lønning & Stephan Oepen TABELLPARSING 1. mars 2011 2 I dag Oppsummering fra sist: Recursive-descent og Shift-reduce parser Svakheter med disse Tabellparsing: Dynamisk
Detaljer3/1/2011. I dag. Recursive descent parser. Problem for RD-parser: Top Down Space. Jan Tore Lønning & Stephan Oepen
INF2820 Datalingvistikk V2011 TABELLPARSING Jan Tore Lønning & Stephan Oepen 1. mars 2011 2 I dag Oppsummering fra sist: Recursive-descent og Shift-reduce parser Svakheter med disse Tabellparsing: Dynamisk
DetaljerTriCOM XL / L. Energy. Endurance. Performance.
TriCOM XL / L Energy. Endurance. Performance. L and XL - the new generation Sample charging station with chargers TriCOM L / XL Innovative charging technology The new TriCOM L - XL chargers are controlled
DetaljerSTILLAS - STANDARD FORSLAG FRA SEF TIL NY STILLAS - STANDARD
FORSLAG FRA SEF TIL NY STILLAS - STANDARD 1 Bakgrunnen for dette initiativet fra SEF, er ønsket om å gjøre arbeid i høyden tryggere / sikrere. Både for stillasmontører og brukere av stillaser. 2 Reviderte
DetaljerMotzkin monoids. Micky East. York Semigroup University of York, 5 Aug, 2016
Micky East York Semigroup University of York, 5 Aug, 206 Joint work with Igor Dolinka and Bob Gray 2 Joint work with Igor Dolinka and Bob Gray 3 Joint work with Igor Dolinka and Bob Gray 4 Any questions?
DetaljerKneser hypergraphs. May 21th, CERMICS, Optimisation et Systèmes
Kneser hypergraphs Frédéric Meunier May 21th, 2015 CERMICS, Optimisation et Systèmes Kneser hypergraphs m, l, r three integers s.t. m rl. Kneser hypergraph KG r (m, l): V (KG r (m, l)) = ( [m]) l { E(KG
DetaljerJDBC. Java Data Base Connec.vity
JDBC Java Data Base Connec.vity Package java.sql Package java.sql Array Blob CallableStatement Clob Connec.on DatabaseMetaData Driver NClob ParameterMetaData PreparedStatement Ref ResultSet ResultSetMetaData
DetaljerKROPPEN LEDER STRØM. Sett en finger på hvert av kontaktpunktene på modellen. Da får du et lydsignal.
KROPPEN LEDER STRØM Sett en finger på hvert av kontaktpunktene på modellen. Da får du et lydsignal. Hva forteller dette signalet? Gå flere sammen. Ta hverandre i hendene, og la de to ytterste personene
DetaljerUNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences
Page 1 UNIVERSITY OF OSLO Faculty of Mathematics and Natural Sciences Exam in BIO4210/9210 Classification and Phylogeny Day of exam: 13. December 2011 Exam hours: 9.00-12.00 (3 hours) This examination
Detaljerof color printers at university); helps in learning GIS.
Making a Home Page Why a Web Page? Easier to submit labs electronically (lack of color printers at university); Easier to grade many labs; Provides additional computer experience that helps in learning
DetaljerGeneralisering med vektor tiles
Generalisering med vektor tiles Bjørn Sandvik MasterMaps Nordisk kartografikurs 2018 Tønsberg 25. - 27. september 2018 MasterMaps.com norviz.com Scale and generalization Selection: choosing which objects
DetaljerKartleggingsskjema / Survey
Kartleggingsskjema / Survey 1. Informasjon om opphold i Norge / Information on resident permit in Norway Hvilken oppholdstillatelse har du i Norge? / What residence permit do you have in Norway? YES No
DetaljerDM6814/DM5814 User s Manual
(Real Time Devices) Table 1-1 Factory Settings Switch/ Jumper Function Controlled Factory Settings (Jumpers Installed) P4 Connects a P14 jumper selectable interrupt source to an interrupt
DetaljerEmnedesign for læring: Et systemperspektiv
1 Emnedesign for læring: Et systemperspektiv v. professor, dr. philos. Vidar Gynnild Om du ønsker, kan du sette inn navn, tittel på foredraget, o.l. her. 2 In its briefest form, the paradigm that has governed
DetaljerAssignment. Consequences. assignment 2. Consequences fabulous fantasy. Kunnskapsløftets Mål Eleven skal kunne
Consequences Kunnskapsløftets Mål Eleven skal kunne KRL Filosofi og etikk reflektere over filosofiske temaer knyttet til identitet og livstolkning, natur og kultur, liv og død, rett og galt. gjøre rede
DetaljerOle Isak Eira Masters student Arctic agriculture and environmental management. University of Tromsø Sami University College
The behavior of the reindeer herd - the role of the males Ole Isak Eira Masters student Arctic agriculture and environmental management University of Tromsø Sami University College Masters student at Department
DetaljerGeneralization of age-structured models in theory and practice
Generalization of age-structured models in theory and practice Stein Ivar Steinshamn, stein.steinshamn@snf.no 25.10.11 www.snf.no Outline How age-structured models can be generalized. What this generalization
DetaljerLittle Mountain Housing
Little Mountain Housing Feedback from January 2012 Open Houses Presentation to Little Mountain Community Advisory Group Overview Open house attendance 409 signed in 600+ total Comment forms submitted 326
DetaljerSTØTTEMATERIALE TIL FORELESNINGENE OM SKATT
STØTTEMATERIALE TIL FORELESNINGENE OM SKATT ECON3610, H2017 Kristoffer Midttømme Eksempler på skattevridninger: Den britiske vindusskatten Fordeling av antall vinduer (1) Oates, Wallace E., and Robert
DetaljerEt enkelt rammeverk for kjøring av OpenGL-programmer i Java
1 Et enkelt rammeverk for kjøring av OpenGL-programmer i Java JOGL2 API og dokumentasjon kan lastes ned fra siden: http://www.aitel.hist.no/fag/_jva/forelesninger/grafikk/grafikk_h2015/nedlasting_og_installasjonsveiledning_jogl2.pdf
DetaljerEksamensoppgave i TMA4320 Introduksjon til vitenskapelige beregninger
Institutt for matematiske fag Eksamensoppgave i TMA432 Introduksjon til vitenskapelige beregninger Faglig kontakt under eksamen: Anton Evgrafov Tlf: 453 163 Eksamensdato: 8. august 217 Eksamenstid (fra
DetaljerAppendix B, not for publication, with screenshots for Fairness and family background
Appendix B, not for publication, with screenshots for Fairness and family background Ingvild Almås Alexander W. Cappelen Kjell G. Salvanes Erik Ø. Sørensen Bertil Tungodden This document shows screenshots
DetaljerUNIVERSITETET I OSLO ØKONOMISK INSTITUTT
UNIVERSITETET I OSLO ØKONOMISK INSTITUTT Exam: ECON320/420 Mathematics 2: Calculus and Linear Algebra Eksamen i: ECON320/420 Matematikk 2: Matematisk analyse og lineær algebra Date of exam: Friday, May
DetaljerSittemøbler EFG Mingle 19/10/2017
Sittemøbler EFG Mingle 19/10/2017 EFG014507 EFG Mingle EFG Mingle er et modulbasert sofasystem utviklet for fleksibilitet og komfort der det er liten plass. Sofasystemet har rette eller buede moduler for
Detaljer1 User guide for the uioletter package
1 User guide for the uioletter package The uioletter is used almost like the standard LATEX document classes. The main differences are: The letter is placed in a \begin{letter}... \end{letter} environment;
DetaljerPerpetuum (im)mobile
Perpetuum (im)mobile Sett hjulet i bevegelse og se hva som skjer! Hva tror du er hensikten med armene som slår ut når hjulet snurrer mot høyre? Hva tror du ordet Perpetuum mobile betyr? Modell 170, Rev.
DetaljerAnalyseøving 8 - løsningsforslag
TTT4265 Elektronisk systemdesign og -analyse II Analyseøving 8 - løsningsforslag Innlevering tirsdag 3. November 8:00 Oppgave 1. Periodisitet, tidsskift, og tidsreversering (4p) Oppgave 2. Tidsskift (1p)
DetaljerEMPIC MEDICAL. Etterutdanningskurs flyleger 21. april Lars (Lasse) Holm Prosjektleder Telefon: E-post:
EMPIC MEDICAL Etterutdanningskurs flyleger 21. april 2017 Lars (Lasse) Holm Prosjektleder Telefon: +47 976 90 799 E-post: Lrh@caa.no it-vakt@caa.no Luftfartstilsynet T: +47 75 58 50 00 F: +47 75 58 50
DetaljerDen som gjør godt, er av Gud (Multilingual Edition)
Den som gjør godt, er av Gud (Multilingual Edition) Arne Jordly Click here if your download doesn"t start automatically Den som gjør godt, er av Gud (Multilingual Edition) Arne Jordly Den som gjør godt,
DetaljerUke 5. Magnus Li INF /
Uke 5 Magnus Li magl@ifi.uio.no INF3290 26/27.09.2017 Repetisjon av begreper Diskusjonsoppgaver I første innlevering ønsker vi et brukerperspektiv i et informasjonssystem - Hva kan inngå i et slikt informasjonssystem?
Detaljer- En essensiell katalysator i næringsklyngene? Forskningsrådets miniseminar 12. april Mer bioteknologi i næringslivet hvordan?
Instituttsektoren - En essensiell katalysator i næringsklyngene? Forskningsrådets miniseminar 12. april 2011 Mer bioteknologi i næringslivet hvordan? Torstein Haarberg Konserndirektør SINTEF Materialer
Detaljer[36] Boiserie. Melamine and lacquered door handles. Optional metal handle. Standard ABS handle. Look _silver (J) Pop _silver (P) _chromed (K)
BOISERIE Backs 18mm thick matt, scratch resistant, non-reflective and washable melamine particleboard (Mfc), anti-shock ABS edge 1,5mm thick. They are provided with adjustable feet. Backs can be lacquered
Detaljer