OPENGL. Y. Doç. Dr. Aybars UĞUR Ocak 2006
|
|
- Canan Kaynarca
- 8 yıl önce
- İzleme sayısı:
Transkript
1 OPENGL Y. Doç. Dr. Aybars UĞUR
2 OpenGL Nedir? OpenGL (Open Graphics Library), grafik donanımını kullanmak için hazırlanmış bir yazılım arayüzüdür. Bu kütüphane yardımıyla, 2B (Boyutlu) ve 3B Grafiksel nesneler ve işlemler, kolaylıkla tanımlanabilmektedir. Programlama dillerindeki önemli bir eksikliği gidermektedir. İki ve üç boyutlu etkileşimli grafikler içeren yazılımlar geliştirmek için kullanılan 250 farklı komutu (200 ü OpenGL in kendi içinde, 50 si de OpenGL Utility Library yani glut içinde olmak üzere) içermektedir. Grafik donanımlarının gücünden yararlanmaktadır. Dr. Aybars UĞUR 2
3 OpenGL : Bazı Özellikler İşletim Sistemi bağımsızdır (Windows 95/98/NT/ , Linux, Unix, MacOS, BeOS). Windows ta standart olarak gelir. Programlama Dili bağımsızdır. Kütüphane, C, C++,, C#, Java, Visual Basic, Delphi, Fortran, Perl gibi dillerden kullanılabilmektedir. Pencere yöneticilerinden bağımsızdır. Sisteme özgü ekler yapılmazsa, programlar, Win32, X-WindowX gibi tüm pencere yöneticileri ile sorunsuz çalışır. Pencere, fare ve klavye işlemlerinden bağımsız hale getirmek için kullanılan glut,, birçok işletim sistemine aktarılmıştır. Dr. Aybars UĞUR 3
4 OpenGL Temelleri Red Book tan yararlanınız OpenGL bir durum makinesidir : Çokgenler, etkin (current) renk, dönüşüm, çizim modu vs. etkilenir. OpenGL Spesifikasyonundaki herşey, tüm gerçekleştirimlerinde desteklenir. Dr. Aybars UĞUR 4
5 OpenGL RedBook - II Chapter 1, "Introduction to OpenGL," Chapter 2, "State Management and Drawing Geometric Objects," Chapter 3, "Viewing," Chapter 4, "Color," Chapter 5, "Lighting," Dr. Aybars UĞUR 5
6 OpenGL RedBook - II Chapter 6, "Blending, Antialiasing, Fog, and Polygon Offset," Chapter 7, "Display Lists," Chapter 8, "Drawing Pixels, Bitmaps, Fonts, and Images," Chapter 9, "Texture Mapping," Chapter 10, "The Framebuffer," Dr. Aybars UĞUR 6
7 OpenGL RedBook - III Chapter 11, "Tessellators and Quadrics," Chapter 12, "Evaluators and NURBS," Chapter 13, "Selection and Feedback," Chapter 14, "Now That You Know," Dr. Aybars UĞUR 7
8 OpenGL ve Visual C Bu ders notları, basit olarak Visual C de OpenGL kullanımını anlatmak üzere hazırlanmıştır. OpenGL in diğer programlama dillerinden kullanımı benzer şekildedir. Örnek programlar hazırlandıktan sonra, Visual C kullanılarak çalıştırılmış ve test edilmiştir. Örnekleri çalıştırabilmek için VC yüklendikten sonra GLUT un eklenmesi gerekmektedir. Glut un güncel sürümü, aşağıda belirtilen adresten indirilebilmektedir : xmission.com/~.com/~nate/opengl.html Dr. Aybars UĞUR 8
9 Glut un Kurulumu Visual C yüklendikten sonra, GLUT un kurulması : GLUT Version (117 KB) içindeki GLUT32.DLL, \Windows\System klasörüne (NT tabanlı ise WINNT\System System) GLUT.H, \Program Files\Microsoft Visual Studio\VC98 VC98\Include\GL klasörüne GLUT.LIB, \Program Files\Microsoft Visual Studio\VC98 VC98\Lib klasörüne kopyalanır. Proje ayarları Project-Settings Settings-Link-Object/Library Modules de başa : opengl32.lib lib glut32.lib lib eklenir. Dr. Aybars UĞUR 9
10 Using OpenGL & GLUT in Visual Studio.NET 2003 GLUT.H C:\Program Files\Microsoft Visual Studio.NET 2003\Vc7 Vc7\PlatformSDK\Include\gl GLUT.LIB C:\Program Files\Microsoft Visual Studio.NET 2003\Vc7 Vc7\PlatformSDK\Lib Dr. Aybars UĞUR 10
11 Glut : Başlangıç int main (int argc, char *argv[]) { glutinit(&argc, argv); glutinitdisplaymode (GLUT_DEPTH GLUT_DOUBLE GLUT_RGBA); glutinitwindowsize (windowwidth, windowheight); glutinitwindowposition (0, 0); glutcreatewindow ( 248 Video Game!"); } SetStates(); // Initialize rendering states* RegisterCallbacks(); // Set event callbacks* glutmainloop(); return 0; // Start GLUT Dr. Aybars UĞUR 11
12 İlk OpenGL Programı : Pencere Açmak #include <GL/glut glut.h> void init(void void) { glclearcolor(1.0,1.0,1.0,0.0); glshademodel(gl_flat); } void display(void void) { glclear(gl_color_buffer_bit); glutswapbuffers(); } int main(int int argc, char **argv argv) { glutinit(& (&argc,argv); glutinitdisplaymode(glut_double GLUT_RGB); glutinitwindowsize(400,100); glutinitwindowposition(100,100); glutcreatewindow("merhaba"); init(); glutdisplayfunc(display display); glutmainloop(); return 0; } Dr. Aybars UĞUR 12
13 OpenGL Double Buffering Double buffering: Draw on back buffer while front buffer is being displayed. When finished drawing, swap the two, and begin work on the new back buffer. glutswapbuffers(); Primary purpose: eliminate flicker Dr. Aybars UĞUR 13
14 VC++ Programının İşletimi File-New New-Workspaces den yeni bir Workspace açılır. File-New New-Files-C++ Source File ile C++ Kaynak Kodu sayfası açılır. Program yazılır veya belgeden kopyalanır. Derlenip çalıştırılır. Dr. Aybars UĞUR 14
15 OpenGL Komut Yapısı glcolor3f parametre veri tipi (float) OpenGL komutu öneki OpenGL komutu Komutu oluşturan kelimeler büyük harfle başlar Komutun üç parametre alan tipi Dr. Aybars UĞUR 15
16 OpenGL Sabit Yapısı GL_COLOR_BUFFER_BIT Sabitler GL_ ile başlar Tümü büyük harftir Kelimeleri ayırmada alt çizgi kullanılır Dr. Aybars UĞUR 16
17 Nesne Köşelerini Belirtme Nesneler köşeleri ile belirtilir : glvertex3f (2.0, 4.1, 6.0); glvertex2i (4, 5); Etkin Renk köşeleri etkiler : glcolor3f (0.0, 0.5, 1.0); Dr. Aybars UĞUR 17
18 Üçgen Oluşturma Şeklin köşeleri, glbegin(mode) ve glend() bloğu içinde ve saat yönü (counter-clockwise) sırasında yazılır. glbegin (GL_TRIANGLES); glvertex2i (0, 0); glvertex2i (2, 0); glvertex2i (1, 1); glend(); Dr. Aybars UĞUR 18
19 Şekil Oluşturma Dr. Aybars UĞUR 19
20 Primitive (İlkel) Türleri glbegin için Points Lines GL_POINTS GL_LINES, GL_LINE_STRIP, GL_LINE_LOOP Triangles GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN Quads GL_QUADS, GL_QUAD_STRIP Polygons GL_POLYGON Dr. Aybars UĞUR 20
21 Temel Geometrik Tipler GL_POINTS individual points GL_LINES pairs of vertices interpreted as individual line segments GL_LINE_STRIP series of connected line segments GL_LINE_LOOP same as above, with a segment added between last and first vertices GL_TRIANGLES triples of vertices interpreted as triangles GL_TRIANGLE_STRIP linked strip of triangles GL_TRIANGLE_FAN linked fan of triangles GL_QUADS quadruples of vertices interpreted as four-sided polygons GL_QUAD_STRIP linked strip of quadrilaterals GL_POLYGON boundary of a simple, convex polygon Dr. Aybars UĞUR 21
22 İki Boyut ve Koordinat Sistemi OpenGL,, iki boyutlu grafikler için birçok alternatif içermektedir. Basit bir dikdörtgen çizmek için aşağıdaki kod bloğu kullanılır : glbegin( ( GL_QUADS ); glcolor3f( 1.0, 0.0, 0.0 ); glvertex2f( 0.0, 0.0 ); glvertex2f( 0.9, 0.0 ); (-1,-1) glvertex2f( 1.0, 1.0 ); glvertex2f( 0.0, 0.5 ); glend(); (1,1) Dr. Aybars UĞUR 22
23 Renkler KırmızıYeşil Mavi glcolor3f(0.0, 0.0, 0.0); black glcolor3f(1.0, 0.0, 0.0); red glcolor3f(0.0, 1.0, 0.0); green glcolor3f(1.0, 1.0, 0.0); yellow glcolor3f(0.0, 0.0, 1.0); blue glcolor3f(1.0, 0.0, 1.0); magenta glcolor3f(0.0, 1.0, 1.0); cyan glcolor3f(1.0, 1.0, 1.0); white glcolor3f(0.9, 0.9, 0.9); light gray glcolor3f(0.3, 0.3, 0.3); dark gray Tüm renkler, üç ana rengin (r, g, b) bileşiminden oluşur. Dr. Aybars UĞUR Tüm renkler, üç ana rengin (r, g, b) bileşiminden oluşur. 23
24 Örnek 2 : Mavi Dikdörtgen Çizmek #include <gl/glut.h> void init(void void) { glclearcolor(1.0,1.0,1.0,0.0); glshademodel(gl_flat); } void Draw_A A_Rectangle(void) { glbegin(gl_quads); glcolor3f(0.0,1.0,0.0); glvertex2f(0.25,0.25); glcolor3f(1.0,1.0,0.0); glvertex2f(0.25,0.75); glcolor3f(1.0,0.0,0.0); glvertex2f(0.75,0.75); glcolor3f(0.0,0.0,1.0); glvertex2f(0.75,0.25); glend(); } void display(void void) { glclear(gl_color_buffer_bit); Draw_A A_Rectangle(); glutswapbuffers(); } int main(int int argc,char char **argv argv) { glutinit(& (&argc,argv); glutinitdisplaymode(glut_double GLUT_RGB); glutinitwindowsize(400,100); glutinitwindowposition(100,100); glutcreatewindow(" Rectangle "); init(); glutdisplayfunc(display display); glutmainloop(); return 0; } Dr. Aybars UĞUR 24
25 Çokgen Üzerinde Renk Geçişi glshademodel(gl_smooth); void Draw_A A_Rectangle(void) { glbegin(gl_quads); glcolor3f(0.0,1.0,0.0); glvertex2f(0.25,0.25); glcolor3f(1.0,1.0,0.0); glvertex2f(0.25,0.75); glcolor3f(1.0,0.0,0.0); glvertex2f(0.75,0.75); glcolor3f(0.0,0.0,1.0); glvertex2f(0.75,0.25); glend(); } GL_FLAT Dr. Aybars UĞUR 25
26 OpenGL: Shading OpenGL supports 2 basic shading models: flat and smooth. glshademodel(gl_flat); glshademodel(gl_smooth); Dr. Aybars UĞUR 26
27 Örnek 3 : Döngü ile Çokgen Oluşturma #include <gl/glut.h> #include <math.h> void init(void void) { glclearcolor(1.0,1.0,1.0,0.0); glshademodel(gl_flat); } void Draw_Polygon Polygon(void) { double M_PI = , angle; glcolor3f(0.0,1.0,0.0); glbegin (GL_LINE_LOOP); for (int j=0; j<10; j++) { angle = 2*M_PI*j/10; glvertex2f (cos( cos(angle), sin(angle angle)); } glend(); } void display(void void) { glclear(gl_color_buffer_bit); Draw_Polygon Polygon(); glutswapbuffers(); } int main(int int argc,char char **argv argv) { glutinit(& (&argc,argv); glutinitdisplaymode(glut_double GLUT_RGB); glutinitwindowsize(400,100); glutinitwindowposition(100,100); glutcreatewindow(" Polygon "); init(); glutdisplayfunc(display display); glutmainloop(); return 0; } Dr. Aybars UĞUR 27
28 GLUT Event Callbacks Register functions that are called when certain events occur. Examples: glutdisplayfunc( ( Display ); glutkeyboardfunc( ( Keyboard ); glutreshapefunc( ( Reshape ); glutmousefunc( ( Mouse ); glutpassivemotionfunc( PassiveFunc ); glutmotionfunc( MouseDraggedFunc ); glutidlefunc( ( Idle ); Dr. Aybars UĞUR 28
29 Etkileşim : Klavye void keyboard(unsigned char key, int x, int y) { switch(key key) { case 'x' : axis = X; spin(); glutpostredisplay(); break; case 'y' : axis = Y; spin(); glutpostredisplay(); break; default : break; } } Main e Eklenmesi gereken : glutkeyboardfunc(keyboard keyboard); Dr. Aybars UĞUR 29
30 Etkileşim : Fare void mouse(int button, int state, int x, int y) { switch (button)) { case GLUT_LEFT_BUTTON: if (state == GLUT_DOWN) glutidlefunc(spindisplay spindisplay); break; case GLUT_MIDDLE_BUTTON: if (state == GLUT_DOWN) glutidlefunc(null); break; default: break; } } Main e Eklenmesi gereken: glutmousefunc(mouse mouse); Dr. Aybars UĞUR 30
31 OPENGL : 3D CONCEPTS The camera initially points down the negative z-axis. (You're seeing the back of the camera.) Dr. Aybars UĞUR 31
32 Summary of 3D Transformation P(x, y, z) Modeling Transformation Viewing Transformation Projection Transformation Window-to-Viewport Transformation P(x, y) 3D Object Coordinates 3D World Coordinates 3D Viewing Coordinates 2D Projection Coordinates 2D Device Coordinates Dr. Aybars UĞUR 32
33 The Camera Analogy To take a photograph with a camera, steps might be Set up your tripod and pointing the camera at the scene (viewing trans.) Arrange the scene to be photographed into the desired composition (modoling trans.) Choose a camera lens or adjust the zoom (projection trans.) Determine how large you want the final photograph to be - for example, you might want it enlarged (viewport trans.) After these steps are performed, the picture can be snapped or the scene can be drawn. Dr. Aybars UĞUR 33
34 Stages of Vertex Transform Modelview matrix: orients the model and the camera relative to each other. Projection matrix: specifies the shape and orietation of the viewing volume. Viewport transformation: controls the conversion of 3D model coordinates to screen coordinates. Dr. Aybars UĞUR 34
35 Example: Drawing Cube 1 #include <GL/gl.h> #include <GL/glu.h> #include <GL/glut.h> void init(void) { glclearcolor (0.0, 0.0, 0.0, 0.0); glshademodel (GL_FLAT); } void display(void) { glclear (GL_COLOR_BUFFER_BIT); glcolor3f (1.0, 1.0, 1.0); glloadidentity (); /* clear the matrix */ /* viewing transformation */ glulookat (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); glscalef (1.0, 2.0, 1.0); /* modeling transformation */ glutwirecube (1.0); glflush (); } Dr. Aybars UĞUR 35
36 Example: Drawing Cube 2 void reshape (int w, int h) { glviewport (0, 0, (GLsizei) w, (GLsizei) h); glmatrixmode (GL_PROJECTION); glloadidentity (); glfrustum (-1.0, 1.0, -1.0, 1.0, 1.5, 20.0); glmatrixmode (GL_MODELVIEW); } int main(int argc, char** argv) { glutinit(&argc, argv); glutinitdisplaymode (GLUT_SINGLE GLUT_RGB); glutinitwindowsize (500, 500); glutinitwindowposition (100, 100); glutcreatewindow (argv[0]); init (); glutdisplayfunc(display); glutreshapefunc(reshape); glutmainloop(); return 0; } Dr. Aybars UĞUR 36
37 Example: Drawing Cube 3 Viewing Transformation Analogus to positioning and aiming the camera. Usage: glulookat() Arguments indicate where the camera (eye position) is placed, where it is aimed, and which way is up. In the example, we place the camera at (0, 0, 5), aim the camera lens toward (0, 0, 0) and specify the up-vector as (0, 1, 0) By default the camera is at the origin (0, 0, 0), points down the negative z-axis and has an up-vector of (0, 0, 1) Modeling Transformation Analogous to positioning and orienting the model. Uasge: glscalef() Arguments specify how scaling should occur along the 3 axes. In the example, the cube is drawn twice as large in the y direction Dr. Aybars UĞUR 37
38 Example: Drawing Cube 4 Projection Transformation Similar to choosing a lens for a camera as determining what the field of view (FOV) or viewing volume is. In addition, it determines how objects are projected onto screen. Usage: glfrustum() Arguments describe values of left, right, bottom, top, near and far for a viewing volume. Before calling glfrustum(), glmatrixmode() with the argument GL_PROJECTION must be called. After calling glfrustum(), the matrix stack must be set back to GL_MODELVIEW Take care the current matrix with glloadidentity() Note: Default matrix stack is GL_MODELVIEW Dr. Aybars UĞUR 38
39 Example: Drawing Cube 5 Viewport Transformation Indicates the region of available screen area into which the scene is mapped. Usage: glviewport() The arguments describe the origin, the width and height of the region within the window. What does OpenGL do when all transformations have been specified? Transforms each vertex of every object in the scene by the modeling and viewing transformations. Transforms the vertices and clips the objects by the projection transformations Divides the remaining transformed vertices with w and maps them onto the viewport. Dr. Aybars UĞUR 39
40 Let s Think About Transformations In general, the order of transformation is critical If oyu do transformation A and then transformation B, you almost always get something different than you do them the the opposite order. Dr. Aybars UĞUR 40
41 Transformations and Viewing OpenGL has 3 different matrix modes: GL_MODELVIEW GL_PROJECTION GL_TEXTURE Choose the matrix with: glmatrixmode( ); Dr. Aybars UĞUR 41
42 Modelview matrix Transforms objects within the scene. glmatrixmode(gl_modelview); glloadidentity(); gltranslatef(10.5, 0, 0); glrotatef(45, 0, 0, 1); DrawCube(); Remember that the operations are right multiplied, so the transformation just before DrawCube() takes effect first. Dr. Aybars UĞUR 42
43 Modeling Transformations void gltranslate{fd}(type x, TYPE y, TYPE z); Multiplies the current matrix by a matrix that moves (translates) an object by the given x, y, and z values (or moves the local coordinate system by the same amounts). Dr. Aybars UĞUR 43
44 Üç Boyutlu Dönüşümler glrotate produces a rotation of angle degrees around the vector (x,y,z). void glrotated( GLdouble angle, GLdouble x, GLdouble y, GLdouble z) void glrotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z ) glscale produces a nonuniform scaling along the x, y, and z axes. void glscaled( GLdouble x, GLdouble y, GLdouble z ) void glscalef( GLfloat x, GLfloat y, GLfloat z ) gltranslate produces a translation by (x,y,z). void gltranslated( GLdouble x, GLdouble y, GLdouble z ) void gltranslatef( GLfloat x, GLfloat y, GLfloat z ) Dr. Aybars UĞUR 44
45 OpenGL Matrix Stacks glloadidentity(void); Clears the currently modifiable matrix for future transformation instructions. Typically we call this instruction before specifying modeling, viewing or projection transformations. Dr. Aybars UĞUR 45
46 OpenGL Matrix Stacks Manipulating stacks: the OpenGL calls to push, pop, or multiply top of stack glloadmatrix(void); glmultmatrix(void); glpushmatrix(void); the topmost matrix is copied glpopmatrix(void); the topmost matrix is destroyed All vertices of the object are multiplied by the matrix. Dr. Aybars UĞUR 46
47 OpenGL Matrix Stacks Manipulating stacks: the OpenGL calls to push, pop, or multiply top of stack glloadmatrix(const type *m); glmultmatrix(const type *m); m1 m5 m9 m13 m2 m6 m10 m14 m3 m7 m11 m15 m4 m8 m12 m16 Dr. Aybars UĞUR 47
48 Matrix Stacks OpenGL supports two stacks of matrices Modelview matrix stack (4x4 matrices) Projection matrix stack (4x4 matrices) These stacks are useful for constructing hierarchical models. For example a car made of its body and the four wheels: Rotate wheels Rotate wheels + Rotate body Dr. Aybars UĞUR 48
49 Matrix Stacks glpushmatrix(void (void) - Pushes all matrices in the current stack down one level. glpopmatrix(void (void) - Pops the top matrix off the current stack, losing the topmost matrix! (The current stack is determined by glmatrixmode). Current matrix level Current matrix level M4 M3 M2 M1 M5 M5 M4 M3 M2 Push Pop M4 M4 M3 M2 M1 M4 M3 M2 M1 M1 Dr. Aybars UĞUR 49
50 Matrix Stacks Example code: void drawcar() { } glmatrixmode(gl_modelview) ) ; gltranslatef(x,y,z) ) ; /*/ glrotatef(car_ang,, 0, 1, 0) ; /*/ draw_car_body() ; glpushmatrix() ; gltranslate(-1,0,1) ; glrotatef(wheels_ang,, 0, 1, 0) ; draw_car_wheel() ; glpopmatrix() ; glpushmatrix() ; gltranslate(1,0,1) ; glrotatef(wheels_ang,, 0, 1, 0) ; draw_car_wheel() ; glpopmatrix() ; First we move and rotate the car (body + wheels) - as it is the top level in the hierarchy. Next we push the stack - and therefore store a copy. Then we draw the right and left wheels in their appropriate position and orientation. Note that on each wheel the transformation /*/ will operate. The last pop will retrieve the matrix containing only the /*/ transformations. Dr. Aybars UĞUR 50
51 3D GLUT predefined shapes Dr. Aybars UĞUR 51
52 Üç Boyutlu Hazır Nesneler glutsolidsphere, glutwiresphere glutsolidcube, glutwirecube glutsolidcone, glutwirecone glutsolidtorus, glutwiretorus glutsoliddodecahedron, glutwiredodecahedron glutsolidoctahedron, glutwireoctahedron glutsolidtetrahedron, glutwiretetrahedron glutsolidicosahedron, glutwireicosahedron glutsolidteapot, glutwireteapot I Dr. Aybars UĞUR 52
53 Üç Boyutlu Hazır Nesneler II glutsolidcone - render a solid or wireframe cone respectively. glutwirecone glutsolidcube - render a solid or wireframe cube respectively. glutsoliddodecahedron - render a solid or wireframe dodecahedron (12-sided regular solid) respectively. glutsolidicosahedron - render a solid or wireframe icosahedron (20-sided regular solid) respectively. glutsolidoctahedron - render a solid or wireframe octahedron (8-sided regular solid) respectively. glutsolidsphere - render a solid or wireframe sphere respectively. glutsolidteapot - render a solid or wireframe teapot respectively. glutsolidtetrahedron - render a solid or wireframe tetrahedron (4-sided regular solid) respectively. glutsolidtorus - render a solid or wireframe torus (doughnut) respectively. Dr. Aybars UĞUR 53
54 Projection Matrix I Sets up a perspective projection. glfrustrum (...); gluperspective (fovy, aspect, near, far); glortho (...); glulookat (...); (often applied to modelview matrix) Dr. Aybars UĞUR 54
55 Projection Matrix - II Example: glmatrixmode(gl_projection); glloadidentity(); gluperspective(64, (float)windowwidth / (float)windowheight, 4, 4096); glulookat(0.0, 0.0, 2.0, // camera position 0.0, 0.0, 0.0, // target position 0.0, 0.0, 2.0);// up vector Dr. Aybars UĞUR 55
56 Perspective Viewing Volume Specified by gluperspective() Dr. Aybars UĞUR 56
57 Viewing Transformations Default camera position glulookat(4.0, 2.0, 1.0, 2.0, 4.0, -3.0, 2.0, 2.0, -1.0); Dr. Aybars UĞUR 57
58 Viewport Transformation The viewport transformation specifies the rectangular region of the window where the model is drawn. void glviewport(glint x, GLint y, GLsizei width, GLsizei height); Defines a pixel rectangle in the window into which the final image is mapped. The (x, y) parameter specifies the lowerleft corner of the viewport, and width and height are the size of the viewport rectangle. By default, the initial viewport values are (0, 0, winwidth, winheight), where winwidth and winheight are the size of the window. Dr. Aybars UĞUR 58
59 Viewport Transformation The aspect ratio of a viewport should generally equal to the aspect ratio of the viewing volume. gluperspective(fovy, 1.0, near, far); glviewport(0, 0, 400, 400); gluperspective(fovy, 1.0, near, far); glviewport (0, 0, 400, 200); Dr. Aybars UĞUR 59
60 Sample Viewport Application // top left: top view glviewport(0, win_height/2, win_width/2, win_height/2); glmatrixmode(gl_projection); glloadidentity(); glortho(-3.0, 3.0, -3.0, 3.0, 1.0, 50.0); glulookat(0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0); glmatrixmode(gl_modelview); glloadidentity(); glcalllist(object); // top right: right view glviewport(win_width/2, win_height/2, win_width/2, win_height/2); glmatrixmode(gl_projection); glloadidentity(); glortho(-3.0, 3.0, -3.0, 3.0, 1.0, 50.0); glulookat(5.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); glmatrixmode(gl_modelview); glloadidentity(); glcalllist(object); // bottom left: front view glviewport(0, 0, win_width/2, win_height/2); glmatrixmode(gl_projection); glloadidentity(); glortho(-3.0, 3.0, -3.0, 3.0, 1.0, 50.0); glulookat(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); glmatrixmode(gl_modelview); glloadidentity(); glcalllist(object); // bottom right: rotating perspective view glviewport(win_width/2, 0, win_width/2, win_height/2); glmatrixmode(gl_projection); glloadidentity(); gluperspective(70.0, 1.0, 1, 50); glulookat(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); glmatrixmode(gl_modelview); glloadidentity(); glrotatef(30.0, 1.0, 0.0, 0.0); glrotatef(angle, 0.0, 1.0, 0.0); glcalllist(object); Dr. Aybars UĞUR 60
61 OpenGL : Setting Up Rendering States OpenGL is a state machine: polygons are affected by the current color, transformation, drawing mode, etc. Enable and disable features such as lighting, texturing, and alpha blending. glenable (GL_LIGHTING); gldisable (GL_FOG); Forgetting to enable something is a common source of bugs! Dr. Aybars UĞUR 61
62 OpenGL: Normals and Lighting OpenGL can do lighting computations for you Normal vectors should be of unit length (normalized) in most cases. Normal vector kept as state each vertex is assigned the most recently set normal vector... glnormal3fv (n0); glvertex3fv (v0); glvertex3fv (v1); glvertex3fv (v2);... Dr. Aybars UĞUR 62
63 OpenGL: Lighting glenable (GL_LIGHTING); OpenGL supports a minimum of 8 lights. glenable (GL_LIGHT0);... glenable (GL_LIGHT7); Lights have a position, type, and color, among other things (more details in text). Types of lights are point light, directional light, and spotlight. Dr. Aybars UĞUR 63
64 Lighting in OpenGL GLfloat amb0[] = {0.2, 0.4, 0.6, 1.0}; GLfloat diff0[] = {0.8, 0.9, 0.5, 1.0}; GLfloat spec0[] = {1.0, 0.8, 1.0, 1.0}; gllightfv(gl_light0, GL_AMBIENT, amb0); //attach them to LIGHT0 gllightfv(gl_light0, GL_DIFFUSE, diff0); gllightfv(gl_light0, GL_SPECULAR, spec0); Dr. Aybars UĞUR 64
65 OpenGL: Material Properties Material properties are associated with each polygon (corresponding light properties) glmaterial*( *(GLenum face, GLenum pname,, TYPE param); Some properties (pname) : GL_AMBIENT: Ambient color of material GL_DIFFUSE: Diffuse color of material GL_SPECULAR: Specular component (for highlights) GL_SHININESS: Specular exponent (intensity of highlight) Dr. Aybars UĞUR 65
66 OpenGL: Texturing Mapping the texture to the polygon specify (s,t( s,t) ) texture coordinates for (x,y,z)) polygon vertices texture coordinates (s,t)are( from 0,1: gltexcoord2f(s,t); t (x3,y3,z3) (x1,y1,z1) 1,1 0,1 1,1 + 0,0 s 0,0 (x0,y0,z0) 1,0 (x2,y2,z2) Dr. Aybars UĞUR 66
67 OpenGL: Alpha Blending When enabled, OpenGL uses the alpha channel to blend a new fragment s color value with a color in the framebuffer + =? New color (r1,g1,b1,a1) source Color in framebuffer (r0,g0,b0,a0) destination (r,g,b,a ) Useful for overlaying textures or other effects Dr. Aybars UĞUR 67
68 OpenGL: Fog Simulate atmospheric effects glfog (): Sets fog parameters glenable (GL_FOG); Dr. Aybars UĞUR 68
69 Rendering Pipeline Dr. Aybars UĞUR 69
70 OpenGL: Other Features Display Lists (ch( 7): Speed up your game! Quadrics (ch( 11): Pre-made objects Also look at GLUT s objects Evaluators (ch( 12): Bezier curves and surfaces Selection (ch( 13): Clicking on game objects with a mouse Dr. Aybars UĞUR 70
71 CSGL C Sharp Graphics Library
72 CSGL OpenGL in.net ortamında kullanımını sağlayan grafik kütüphanesidir. Adresler : üzerinde csgl dll.zip install dosyasından kurularak program geliştirmeye başlanabilir. Dr. Aybars UĞUR 72
73 Dikdörtgen Çizdiren CSGL Kodu (1) using System; using System.Drawing Drawing; using System.Windows..Windows.Forms; using CsGL.OpenGL OpenGL; public class RectDemo : Form { MyView view = new MyView(); public RectDemo() { Text = "Rect" demo!"; view.dock = DockStyle.Fill Fill; Controls.Add Add( view ); } } public static void Main() { RectDemo di = new RectDemo(); Application.Run Run( ( di ); } Dr. Aybars UĞUR 73
74 Dikdörtgen Çizdiren CSGL Kodu (2) class MyView : OpenGLControl { public override void gldraw() { GL.glClear glclear( ( GL.GL_COLOR_BUFFER_BIT GL.GL_DEPTH_BUFFER_BIT ); // Clear Screen And Depth Buffer GL.glBegin glbegin( ( GL.GL_QUADS ); GL.glVertex2i( 10, 10 ); GL.glVertex2i( 10, 50 ); GL.glVertex2i( 100, 50 ); GL.glVertex2i( 100, 10 ); GL.glEnd glend(); GL.glFlush glflush(); } protected override void InitGLContext() { GL.glClearColor glclearcolor( ( 1.0f, 1.0f, 1.0f, 0.0f ); GL.glColor3f( 0.0f, 0.0f, 0.0f ); GL.glPointSize glpointsize( ( 4.0f ); } Dr. Aybars UĞUR 74
75 Dikdörtgen Çizdiren CSGL Kodu (3) protected override void OnSizeChanged(EventArgs e) { base.onsizechanged OnSizeChanged(e); } } GL.glMatrixMode glmatrixmode(gl.gl_projection); GL.glLoadIdentity glloadidentity(); GL.gluOrtho2D( 0.0, Size.Width Width,, 0.0, Size.Height ); Dr. Aybars UĞUR 75
76 KAYNAKLAR Bilgisayar Grafikleri ders notları, Aybars UĞUR, Ege Üniversitesi OpenGL Red Book Sean Walker ve Ian Buck ders slaytları, Stanford University Dr. Aybars UĞUR 76
COM337 Bilgisayar Grafiği. OpenGL ile Grafik Programlama. Dr. Erkan Bostancı
COM337 Bilgisayar Grafiği OpenGL ile Grafik Programlama Dr. Erkan Bostancı İçerik OpenGL OpenGL bileşenleri ve mimarisi Basit etkileşim ve çizimler Koordinat sistemi Kamera tanımı Ön tanımlı nesneler Kamera
DetaylıOpenGL Uygulamaları. 1. Giriş. 2. OpenGL
1. Giriş OpenGL Uygulamaları Günümüzde yazılım ve donanımın gelişmesi ile birlikte bilgisayar grafikleri alanında oldukça önemli gelişmeler kaydedilmektedir. Bu gelişmelere paralel olarak yazılım geliştirme
DetaylıKARADENİZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR GRAFİKLERİ LABORATUARI. OpenGL Uygulamaları
KARADENİZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR GRAFİKLERİ LABORATUARI OpenGL Uygulamaları 1. Giriş OpenGL, en yaygın kullanılan grafik programlama kütüphanesidir. Hızlı ve basit
DetaylıCOM337 Bilgisayar Grafiği. OpenGL ile Grafik Programlama. Dr. Erkan Bostancı
COM337 Bilgisayar Grafiği OpenGL ile Grafik Programlama Dr. Erkan Bostancı İçerik Giriş Dönüşüm matrisleri Matris yığınları (stack) Giriş İlk olarak gizli yüzeylerin kaldırılmasını (hidden surface removal)
DetaylıOpenGL Uygulamaları. 1. Giriş. 2. OpenGL. Deney 2
Deney 2 OpenGL Uygulamaları 1. Giriş Günümüzde yazılım ve donanımın gelişmesi ile birlikte bilgisayar grafikleri alanında oldukça önemli gelişmeler kaydedilmektedir. Bu gelişmelere paralel olarak yazılım
DetaylıECLIPSE IDE C/C++ Geliştiricileri Đçin
ECLIPSE IDE C/C++ Geliştiricileri Đçin ECLIPSE C/C++ IDE Kurulum ve Genişletme Eclipse C/C++ IDE MinGW Glut QT Kurulum Entegrasyon ve Temel Örnekler Mehmet Taşköprü ÖNSÖZ Bu doküman Eclipse IDE C/C++ Geliştiricileri
DetaylıBIL 409 BİLGİSAYAR GRAFİKLERİ LABORATUARI
KARADENİZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR GRAFİKLERİ LABORATUARI BIL 409 BİLGİSAYAR GRAFİKLERİ LABORATUARI Ders Sorumlusu Öğr.Gör. Ömer ÇAKIR Deney Sorumluları Araş.Gör. Çağatay
DetaylıZTM112 BİLGİSAYAR DESTETEKLİ ÇİZİM TEKNİĞİ
ZTM112 BİLGİSAYAR DESTETEKLİ ÇİZİM TEKNİĞİ Yrd.Doç.Dr.Caner KOÇ Ankara Üniversitesi Ziraat Fakültesi Tarım Makinaları ve Teknolojileri Mühendisliği Bölümü ckoc@ankara.edu.tr Teknik çizim nedir? Bir çizim
DetaylıİZDÜŞÜM. İzdüşümün Tanımı ve Önemi İzdüşüm Metodları Temel İzdüşüm Düzlemleri Noktanın İzdüşümü Doğrunun İzdüşümü Düzlemlerin İz Düşümleri
ÖĞR. GÖR.ÖMER UÇTU İZDÜŞÜM İzdüşümün Tanımı ve Önemi İzdüşüm Metodları Temel İzdüşüm Düzlemleri Noktanın İzdüşümü Doğrunun İzdüşümü Düzlemlerin İz Düşümleri İzdüşümün Tanımı ve Önemi İz düşüm: Bir cismin
DetaylıCOM337 Bilgisayar Grafiği. OpenGL ile Grafik Programlama. Dr. Erkan Bostancı
COM337 Bilgisayar Grafiği OpenGL ile Grafik Programlama Dr. Erkan Bostancı İçerik Işık Resim ve Metin Görüntüleme Texture-mapping Işık (1/3) OpenGL de bir sahne 8 farklı ışık kaynağı kullanabilir. İlk
DetaylıBIL 409 BİLGİSAYAR GRAFİKLERİ LABORATUARI
KARADENİZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR GRAFİKLERİ LABORATUARI BIL 409 BİLGİSAYAR GRAFİKLERİ LABORATUARI Ders Sorumlusu Öğr.Gör. Ömer ÇAKIR Deneyleri Hazırlayanlar Öğr.Gör.
DetaylıMM103 E COMPUTER AIDED ENGINEERING DRAWING I
MM103 E COMPUTER AIDED ENGINEERING DRAWING I ORTHOGRAPHIC (MULTIVIEW) PROJECTION (EŞLENİK DİK İZDÜŞÜM) Weeks: 3-6 ORTHOGRAPHIC (MULTIVIEW) PROJECTION (EŞLENİK DİK İZDÜŞÜM) Projection: A view of an object
DetaylıVirtualmin'e Yeni Web Sitesi Host Etmek - Domain Eklemek
Yeni bir web sitesi tanımlamak, FTP ve Email ayarlarını ayarlamak için yapılması gerekenler Öncelikle Sol Menüden Create Virtual Server(Burdaki Virtual server ifadesi sizi yanıltmasın Reseller gibi düşünün
DetaylıArdunio ve Bluetooth ile RC araba kontrolü
Ardunio ve Bluetooth ile RC araba kontrolü Gerekli Malzemeler: 1) Arduino (herhangi bir model); bizim kullandığımız : Arduino/Geniuno uno 2) Bluetooth modül (herhangi biri); bizim kullandığımız: Hc-05
DetaylıTeknoloji Servisleri; (Technology Services)
Antalya International University Teknoloji Servisleri; (Technology Services) Microsoft Ofis Yazılımları (Microsoft Office Software), How to Update Office 365 User Details How to forward email in Office
DetaylıWEEK 11 CME323 NUMERIC ANALYSIS. Lect. Yasin ORTAKCI.
WEEK 11 CME323 NUMERIC ANALYSIS Lect. Yasin ORTAKCI yasinortakci@karabuk.edu.tr 2 INTERPOLATION Introduction A census of the population of the United States is taken every 10 years. The following table
DetaylıBIL 409 BİLGİSAYAR GRAFİKLERİ LABORATUARI
KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BIL 409 BİLGİSAYAR GRAFİKLERİ LABORATUARI Ders Sorumlusu Öğr.Gör. Ömer ÇAKIR Deneyleri Hazırlayanlar Öğr.Gör. Ömer ÇAKIR
DetaylıBilgisayar Grafikleri
Bilgisayar Grafikleri Kaynak Kitaplar : Mathematical Elements for Computer Graphics David F.Rogers, J.Alan Adams McGraw-Hill Publishing Company Procedural Elements for Computer Graphics David F.Rogers
DetaylıSBR331 Egzersiz Biyomekaniği
SBR331 Egzersiz Biyomekaniği Açısal Kinematik 1 Angular Kinematics 1 Serdar Arıtan serdar.aritan@hacettepe.edu.tr Mekanik bilimi hareketli bütün cisimlerin hareketlerinin gözlemlenebildiği en asil ve kullanışlı
DetaylıYüz Tanımaya Dayalı Uygulamalar. (Özet)
4 Yüz Tanımaya Dayalı Uygulamalar (Özet) Günümüzde, teknolojinin gelişmesi ile yüz tanımaya dayalı bir çok yöntem artık uygulama alanı bulabilmekte ve gittikçe de önem kazanmaktadır. Bir çok farklı uygulama
DetaylıOpenGL TABANLI ANİMASYONLARDA GÖRÜNTÜ KALİTESİNİN CUDA MİMARİSİ İLE ARTIRILMASI Taner UÇKAN Yüksek Lisans Tezi Bilgisayar Mühendisliği Anabilim Dalı
OpenGL TABANLI ANİMASYONLARDA GÖRÜNTÜ KALİTESİNİN CUDA MİMARİSİ İLE ARTIRILMASI Taner UÇKAN Yüksek Lisans Tezi Bilgisayar Mühendisliği Anabilim Dalı Yrd. Doç. Dr. Deniz DAL 2015 Her hakkı saklıdır ATATÜRK
DetaylıAUTOCAD: Çizim Limitleri
AUTOCAD: Çizim Limitleri Command: limits Specify lower left corner or [ON/OFF] : 0,0 Specify upper right corner :1000,1000 Çizimde kullanılacak AutoCAD uzayının sınırlarını
DetaylıV-RAY FRAME BUFFER. Switch to RGB chanel: Alpha chanel görüntüden hızlı bir şekilde RGB görüntüye geçilir.
V-RAY FRAME BUFFER Render ekranının hemen alt kısmındaki kontrol düğmeleriyle Render süresi dosya adı ve şekil sayısı gibi bazı bilgilerin görüntülenmesi sağlanırken bu komutlarla ayrıca render sonrası
DetaylıD-Link DSL 500G için ayarları
Celotex 4016 YAZILIM 80-8080-8081 İLDVR HARDWARE YAZILIM 80-4500-4600 DVR2000 25 FPS YAZILIM 5050-5555-1999-80 EX-3004 YAZILIM 5555 DVR 8008--9808 YAZILIM 80-9000-9001-9002 TE-203 VE TE-20316 SVDVR YAZILIM
DetaylıÇoklu Kordinat Sistemi
Çoklu Kordinat Sistemi Uçak pistte durduğu zaman burnunun kuleye göre kordinatı: (50, 5, 0), buna karşın uçağın kordinatlarına göre pozisyonu ise:(0,0,0). Benzer bir biçimde, kulenin tabanı kule kordinat
DetaylıMODÜL BİLGİ SAYFASI : MAKİNE TEKNOLOJİLERİ : AUTOCAD İLE KATI MODELLEME VE GÖRSELLEŞTİRME
ALAN MODÜL KODU : SÜRE : 40/24 MODÜL BİLGİ SAYFASI : MAKİNE TEKNOLOJİLERİ : AUTOCAD İLE KATI MODELLEME VE GÖRSELLEŞTİRME ÖN KOŞUL : AÇIKLAMA : Bu modül uygulamalı olarak bilgisayar destekli tasarım laboratuvarında
DetaylıMAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 12: Grafik Kullanıcı Arayüzü (Graphical User Interface-GUI)
MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 12: Grafik Kullanıcı Arayüzü (Graphical User Interface-GUI) Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web
DetaylıUnlike analytical solutions, numerical methods have an error range. In addition to this
ERROR Unlike analytical solutions, numerical methods have an error range. In addition to this input data may have errors. There are 5 basis source of error: The Source of Error 1. Measuring Errors Data
DetaylıBölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler
Bölüm 6 Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler Chapter 6 Java: an Introduction to Computer Science & Programming - Walter Savitch 1 Genel Bakış Dizi: Hepsi aynı türde
DetaylıİSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUARI PÜRÜZLÜ YÜZEY ÜRETİMİ
İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUARI PÜRÜZLÜ YÜZEY ÜRETİMİ 1. Giriş Yüzey dokusu, yüzeye küçük ayrıntılar eklemek için kullanılabilmesine rağmen,
DetaylıAB surecinde Turkiyede Ozel Guvenlik Hizmetleri Yapisi ve Uyum Sorunlari (Turkish Edition)
AB surecinde Turkiyede Ozel Guvenlik Hizmetleri Yapisi ve Uyum Sorunlari (Turkish Edition) Hakan Cora Click here if your download doesn"t start automatically AB surecinde Turkiyede Ozel Guvenlik Hizmetleri
DetaylıCNC MACH breakout board user manual V8 type
CNC MACH breakout board user manual V8 type 1 Catalogue CNC Router breakout board V8 type user manual... Hata! Yer işareti tanımlanmamış. 1) Brief introduction:...3 2) Breakout board drawing:...4 3) Wiring:...5
Detaylıİzdüşüm ve Görünüşler
İzdüşüm ve Görünüşler Bir parçanın üç boyutlu şeklini iki boyutlu kağıt düzleminde ifade edilmesi gerekir. Bunun için izdüşüm kurallarına uyularak, belirli yerlere ve yeterli sayıda çizilmiş izdüşümlere
DetaylıEagle ve Diğer PCB Tasarım Programlarında Karşılaşılan Katmanların Eşleşme Problemine Çözüm
Eagle ve Diğer PCB Tasarım Programlarında Karşılaşılan Katmanların Eşleşme Problemine Çözüm PCB tasarladıktan sonra, katmanlara ait aldığınız çıktılar eşleşmeyebilir veya farklı yerlerde gözükebilir. Bu
DetaylıYazar: LostFace. Linux altında C ile görsel programlama
Linux altında C ile görsel programlama Yazar: LostFace Gtk+/Gnome ile Linux altında C ile görsel programlama makale serisine bismillah demiş bulunuyoruz.bu ilk makalede GTK+/Gnome programlama hakkında
DetaylıProblem X. Kafes Kirişli Köprü. Çelik. E = 29000 ksi Poisson oranı = 0.3 Tüm elemanlar W6X12 Fy = 36 ksi. Betonarme Köprü Tabliyesi
Problem X Kafes Kirişli Köprü Çelik E = 29000 ksi Poisson oranı = 0.3 Tüm elemanlar W6X12 Fy = 36 ksi Betonarme Köprü Tabliyesi E = 3600 ksi Poisson oranı = 0.2 Kalınlığı 12 inch Hareketli Yük = 250 pcf
DetaylıPerspektif resimler. MAK112E Computer Aided Technical Drawing Dr C Erdem IMRAK @ 2004 1. Perspektif resimler
Perspektif resimler Bir parçanın, tek görünüşte üç yüzünün birden görünmesini parçanın daha kolay anlaşılmasını ve kavranmasını, sağlamak amacıyla çizilen teknik resimler Dr C Erdem IMRAK @ 2004 1 Perspektif
DetaylıBBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING)
1 BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING) LECTURE 3: ASSIGNMENT OPERATOR Lecturer: Burcu Can BBS 514 - Yapısal Programlama (Structured Programming) 2 Lexical Elements (Sözcüksel Elemanlar)
DetaylıTheory of Dimensioning
Theory of Dimensioning In general, the description of shape and size together gives complete information for producing the object represented. The dimensions put on the drawing are those required for the
Detaylıa, ı ı o, u u e, i i ö, ü ü
Possessive Endings In English, the possession of an object is described by adding an s at the end of the possessor word separated by an apostrophe. If we are talking about a pen belonging to Hakan we would
DetaylıPCC 6505 PROFILE CUTTING LINE
PCC 6505 PROFILE CUTTING LINE 1.DESCRIPTION PCC 6505 is a servo controlled machine which is specifically designed for the serial cutting of any kind of PVC and aluminum s in the market. The machine is
DetaylıÖrnek 1 (Virtüel iş çözümü için; Bakınız : Ders Notu Sayfa 23 - Örnek 4)
Örnek 1 (Virtüel iş çözümü için; Bakınız : Ders Notu Sayfa 23 - Örnek 4) Şekil 1.1. İzostatik sistem EA GA 0, EI = 2.10 4 knm 2, E = 2.10 8, t =10-5 1/, h =60cm (taşıyıcı eleman yüksekliği, her yerde)
DetaylıLearn how to get started with Dropbox: Take your stuff anywhere. Send large files. Keep your files safe. Work on files together. Welcome to Dropbox!
Learn how to get started with Dropbox: 1 2 3 4 Keep your files safe Take your stuff anywhere Send large files Work on files together Welcome to Dropbox! 1 Keep your files safe Dropbox lets you save photos,
DetaylıAUTOCAD: Komut Anlatımı
AUTOCAD: Komut Anlatımı KOMUTLARIN ANLATIMI Menü : ANA MENÜ ADI ALT MENÜ YADA KOMUT Komut: komutun klavyeden karşılığı Komut Kısaltma: komutun klavyedeki kısa yolu Örnek: Çizgi Çizimi Menü : DRAW LINE
DetaylıKULLANMA KLAVUZU / USER'S GUIDE GTİP/HS Code:
MOTORLU ÇOKLU ASTAR KESME MAKİNESİ MOTOR DRIVEN LINING CUTTING MACHINE KULLANMA KLAVUZU / USER'S GUIDE GTİP/HS Code: 8461.90.00.00.00 Çelik Kuyumculuk Kalıp Makine San. Ve Tic. Ltd. Şti. Adres: Atatürk
DetaylıSeri kablo bağlantısında Windows95/98/ME'ten Windows 2000'e bağlantı Windows95/98/ME - NT4 bağlantısına çok benzer.
Seri kablo bağlantısında Windows95/98/ME'ten Windows 2000'e bağlantı Windows95/98/ME NT4 bağlantısına çok benzer. Direkt Kablo desteğini Windows95/98'e yükledikten sonra, Windows95 for Direct Cable Client
DetaylıGörsel Programlama DERS 03. Görsel Programlama - Ders03/ 1
Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit
DetaylıDiyaframlar kendi düzlemlerinde rijittir Kolon temelleri ankastredir 250 pound 'luk adamın kütlesini 0.00065 kip-sec^2/in olarak alınız.
Problem Z Davranış Spektrumu Analizi Bina Özellikleri Bina betonarme kolonlarla desteklenmiş, perdeli, kirişsiz betonarme döşemeden oluşan, dört katlı bir yapıdır. Binanın çatısının bir köşesinde 30 foot
DetaylıGEOMETRİK YÜZEYLER (SURFACES)
GEOMETRİK YÜZEYLER (SURFACES) Yüzey geometrik olarak kalınlığı sıfır kabul edilen düzlemler anlamına gelir. SURFACES araç çubuğu üzerinde bulunan düğmeler yardımı ile çizilirler. Bazıları ile ilgili çizim
DetaylıIDENTITY MANAGEMENT FOR EXTERNAL USERS
1/11 Sürüm Numarası Değişiklik Tarihi Değişikliği Yapan Erman Ulusoy Açıklama İlk Sürüm IDENTITY MANAGEMENT FOR EXTERNAL USERS You can connect EXTERNAL Identity Management System (IDM) with https://selfservice.tai.com.tr/
DetaylıV-Ray BANYO ALIŞTIRMASI
V-Ray BANYO ALIŞTIRMASI Multi-sub duvar malzemesi Diffuse --> Map --> Tiles Diffuse malzemesi aynı zamanda Maps->Bump üzerine kopyalanır. Böyşece derzlerin olduğu bölgede girinti de oluşturulur: Fayans
DetaylıKÜP YAPIMI. Küp 6 kenarı eşit uzunlukta olan üç boyutlu bir şekildir. Küp. PROJE GÖREVİ mm boyutlarında bir küp tasarlamak
KÜP YAPIMI Küp 6 kenarı eşit uzunlukta olan üç boyutlu bir şekildir. Küp PROJE GÖREVİ 30 30 30 mm boyutlarında bir küp tasarlamak Ekstra çalışma Küp tasarımından sonar zamanınız kalırsa aşağıdaki cisimleri
Detaylı4. HAFTA ENM 108 BİLGİSAYAR DESTEKLİ TEKNİK RESİM. Yrd.Doç.Dr. İnan KESKİN. inankeskin@karabuk.edu.tr
4. HAFTA ENM 108 BİLGİSAYAR DESTEKLİ TEKNİK RESİM Yrd.Doç.Dr. İnan KESKİN inankeskin@karabuk.edu.tr Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2 İçindekiler Tablosu Koordinat Kullanımı...
Detaylı1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.
1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. [10 puan] int param = 30; int result = 300; if (param > 45) result
DetaylıATILIM UNIVERSITY Department of Computer Engineering
ATILIM UNIVERSITY Department of Computer Engineering COMPE 350 Numerical Methods Fall, 2011 Instructor: Fügen Selbes Assistant: İsmail Onur Kaya Homework: 1 Due date: Nov 14, 2011 You are designing a spherical
DetaylıUBE Machine Learning. Kaya Oguz
UBE 521 - Machine Learning Kaya Oguz Support Vector Machines How to divide up the space with decision boundaries? 1990s - new compared to other methods. How to make the decision rule to use with this boundary?
Detaylıe-tartı LTR3 Firmware Upgrade Yazılım Güncelleme Moduler Connection LTR3 Firmware Upgrade / LTR3 Yazılım Güncelleme v1.0.
e-tartı LTR3 Firmware Upgrade Yazılım Güncelleme Moduler Connection www.etarti.com LTR3 Firmware Upgrade / LTR3 Yazılım Güncelleme v1.0.0 1 LTR3 Firmware Upgrade / LTR3 Yazılım Güncelleme v1.0.0 2 Contents
DetaylıPÜRÜZLÜ YÜZEY ÜRETİMİ
KARADENİZ TEKNİK ÜNİVERSİTESİ Bilgisayar Mühendisliği Bölümü Bilgisayar Grafikleri Laboratuarı PÜRÜZLÜ YÜZEY ÜRETİMİ 1. Giriş Cisimlerin yüzey görüntülerindeki parlaklık değişimi iki nedene dayanır. Birincisi
DetaylıSadece kabloda sıcaklığın 100º Fahrenheit düşmesine bağlı olarak oluşan mesnet reaksiyonlarını ve yer değiştirmeleri belirleyiniz.
Problem V Sıcaklık Yüklemesi Çelik E = 29000 ksi Poisson oranı = 0.3 Sıcaklık genleşme katsayısı = 0.0000065 (Fahrenheit) Kiriş-kolon bağlantıları rijit Kablo her iki ucundan mafsallı Yapılacaklar Sadece
DetaylıDEĞİŞİKLİK KOMUTLARI. Prof. Dr. Selim ÇETİNKAYA
DEĞİŞİKLİK KOMUTLARI Prof. Dr. Selim ÇETİNKAYA Değişiklik (modify) komutları Elle yapılan çizimlerde mevcut elemanlarda değişiklik yapmak son derece zor ve zaman alıcıdır. Bilgisayar destekli çizim programlarında
Detaylıa, ı ı o, u u e, i i ö, ü ü şu that (something relatively nearby) şu ekmek o that (something further away) o dondurma
Recap Çoğullar ler If the final vowel is a, ı, o or u, then use lar. limonlar, çocuklar If the final vowel is e, i, ö or ü, then use ler. zeytinler, ekmekler This, That, These and Those bu this bu limon
DetaylıQuestions for Turkish Experts re: Barış Pehlivan s Odatv Computer
Questions for Turkish Experts re: Barış Pehlivan s Odatv Computer 1.) According to the Microsoft Windows ( Windows ) Event Log (specifically, events 6005 and 6006 within SysEvent.Evt ) when was Windows
DetaylıGÖRÜNÜŞLER. Bir nesneyi daha iyi resmedebilmek için Görünüşlerden yararlanılır.
GÖRÜNÜŞLER Bir nesneyi daha iyi resmedebilmek için Görünüşlerden yararlanılır. 03/17 GÖRÜNÜŞLER 6 görünüşün açılımı. (Avrupa Metodu) 04/17 GÖRÜNÜŞLER Kare piramit a b Üstten görünüşlerini çiziniz Koni
DetaylıÇelik Kuyumculuk Kalıp Makine San. Ve Tic. Ltd. Şti.
Çelik Kuyumculuk Kalıp Makine San. Ve Tic. Ltd. Şti. Fabrika Adres: Atatürk Mahallesi Marmara Sanayi Sitesi L Blok No: 3 İkitelli / İstanbul Türkiye Telefon: +90 212 494 44 60 Fax: +90 212 494 44 61 E-mail
DetaylıVeri Yapıları ve Algoritmalar 2006-2007 2.dönem
Veri Yapıları ve Algoritmalar 2006-2007 2.dönem Öğretim Elemanları: Dr. A. Şima Etaner-Uyar Dr. Gülşen Cebiroğlu-Eryiğit Dersle ilgili bilgiler Ders Kitabı Data Structures and Algorithms in Java, 4th Ed.,
Detaylı10.7442 g Na2HPO4.12H2O alınır, 500mL lik balonjojede hacim tamamlanır.
1-0,12 N 500 ml Na2HPO4 çözeltisi, Na2HPO4.12H2O kullanılarak nasıl hazırlanır? Bu çözeltiden alınan 1 ml lik bir kısım saf su ile 1000 ml ye seyreltiliyor. Son çözelti kaç Normaldir? Kaç ppm dir? % kaçlıktır?
DetaylıÖnsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular
Önsöz Giriş İçindekiler V VII IX 1.1. Algoritma 1.1.1. Algoritma Nasıl Hazırlanır? 1.1.2. Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular 2.1. Programın Akış Yönü 19 2.2. Başlama
DetaylıDelta Pulse 3 Montaj ve Çalıstırma Kılavuzu. www.teknolojiekibi.com
Delta Pulse 3 Montaj ve Çalıstırma Kılavuzu http:/// Bu kılavuz, montajı eksiksiz olarak yapılmış devrenin kontrolü ve çalıştırılması içindir. İçeriğinde montajı tamamlanmış devrede çalıştırma öncesinde
DetaylıYazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6
ix Yazılım Nedir? 2 Yazılımın Tarihçesi 3 Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5 Yazılımın Önemi 6 Yazılımcı (Programcı) Kimdir? 8 Yazılımcı Olmak 9 Adım Adım Yazılımcılık 9 Uzman
DetaylıWeek 5 Examples and Analysis of Algorithms
CME111 Programming Languages I Week 5 Examples and Analysis of Algorithms Assist. Prof. Dr. Caner ÖZCAN BONUS HOMEWORK For the following questions (which solved in lab. practice), draw flow diagrams by
DetaylıWhy is the perception of lighting and illumination on photos different from the reality (actual visual perception)
Why is the perception of lighting and illumination on photos different from the reality (actual visual perception) Why is the perception of lighting and illumination on photos different from the reality
DetaylıA ve B düğüm noktalarında X yönündeki yer değiştirmeleri ve mesnet reaksiyonlarını bulunuz.
Problem D Eğimli Mesnetler Çelik E = 29000 ksi, Poisson oranı = 0.3 Tüm elemanların 10 feet uzunluğundadır. Yapılacaklar A ve B düğüm noktalarında X yönündeki yer değiştirmeleri ve mesnet reaksiyonlarını
DetaylıBölüm 4: İş Parçacıkları. Operating System Concepts with Java 8 th Edition
Bölüm 4: İş Parçacıkları 14.1 Silberschatz, Galvin and Gagne 2009 Bölüm 4: İş Parçacıkları Genel Bakış Çoklu İş Parçacığı Modelleri İş Parçacığı Kütüphaneleri İş Parçacıkları ile İlgili Meseleler İşletim
DetaylıCommand: zoom [All/Center/Dynamic/Extents/Previous/Scale/Window] <real time>: a
AUTOCAD: ZOOM Menü : VIEW ZOOM Komut: zoom Komut Kısaltma: Z Command: zoom [All/Center/Dynamic/Extents/Previous/Scale/Window] : a All: Çizim limitleri içindeki çizimi ekrana sığdıracak şekilde
DetaylıELEKTRONİK ALTERNATİF YAKIT SİSTEMLERİ SAN TİC LTD ŞTİ KE 013-B BENZİN SİMULATÖR ( B TİPİ ) PETROL TANK SIMULATOR ( B TYPE )
ELEKTRONİK ALTERNATİF YAKIT SİSTEMLERİ SAN TİC LTD ŞTİ BENZİN SİMULATÖR ( B TİPİ ) PETROL TANK SIMULATOR ( B TYPE ) Kod: Montaj Talimatları ŞEMA 1 BENZİN ENJEKSİYON POMPASI KONNEKTÖRÜ BENZİN SİMÜLATÖRÜ
DetaylıAUTOCAD: Çizime hazırlık
AUTOCAD: Çizime hazırlık Layer Ayarları Menü : FORMAT LAYERS Komut: layers Komut Kısaltma: LA Çizimde kullanılacak katmanları (layers) ve her katmanda kullanılacak çizgi tipini, rengini ve kalınlığı ayarlanır.
DetaylıC için tümleşik geliştirme ortamı (IDE) kurulumları
C için tümleşik geliştirme ortamı (IDE) kurulumları 1. Code::Blocks IDE 2. Dev C++ IDE 3. Visual Studio 4. Eclipse IDE ( IDE: Integrated Development Environment http://tr.wikipedia.org/wiki/t%c3%bcmle%c5%9fik_geli%c5%9ftirme_ortam%c4%b1
Detaylı"Şirket" Sunucusu ve Başarı Mobile Arasındaki HTTP Veri Aktarımı için Etkileşim Teknik Protokolü
"Şirket" Sunucusu ve Başarı Mobile Arasındaki HTTP Veri Aktarımı için Etkileşim Teknik Protokolü BAŞARI Mobile tarafından desteklenmektedir. 1. Genel Bakış Bu döküman ile Şirket Adı nın ve Basari Mobile
DetaylıJava Programlama Dilinde Veri Tipleri. Yrd. Doç. Dr. Aybars UĞUR
Java Programlama Dilinde Veri Tipleri Yrd. Doç. Dr. Aybars UĞUR Metoda Temel Veri Tipi Gönderme Java daki 8 Temel veri tipi (boolean, char, byte, short, int, long, float, double). public class OrnekTemelTip
DetaylıWEB TASARIMININ TEMELLERİ
WEB TASARIMININ TEMELLERİ Öğr. Gör. M. Mutlu YAPICI Ankara Üniversitesi Elmadağ Meslek Yüksekokulu Ders İzlencesi Hafta Modüller/İçerik/Konular 1. Hafta İnternet ve WEB Tanımları Html Temel Etiketleri
DetaylıResimlerin üstüne yazı yazacağız. resimyukle.aspx sayfası oluşturuyoruz. http://www.arifceylan.com/asp-net-c-ile-resim-uzerine-yazi-yazma-ve-gosterme/
23 Mart 2012 / Cuma Yeni bir site açıyoruz. Resimlerin üstüne yazı yazacağız. resimyukle.aspx sayfası oluşturuyoruz. http://www.arifceylan.com/asp-net-c-ile-resim-uzerine-yazi-yazma-ve-gosterme/ Namespace
DetaylıSanal Ortamda Nesnelerin Haptic Kol ile Manipülasyonu. Sevcan AYTEKİN Alpaslan DUYSAK
Sanal Ortamda Nesnelerin Haptic Kol ile Manipülasyonu Sevcan AYTEKİN Alpaslan DUYSAK İÇERİK Amaç Sanal Ortam Sanal Ortam Aygıtları Uygulama Alanları Üç Boyutlu Modelleme (3B) OpenGL, 3Dmax Sanal Ortamın
DetaylıPresent continous tense
Present continous tense This tense is mainly used for talking about what is happening now. In English, the verb would be changed by adding the suffix ing, and using it in conjunction with the correct form
DetaylıBBM Discrete Structures: Final Exam Date: , Time: 15:00-17:00
BBM 205 - Discrete Structures: Final Exam Date: 12.1.2017, Time: 15:00-17:00 Ad Soyad / Name: Ögrenci No /Student ID: Question: 1 2 3 4 5 6 7 8 9 10 11 Total Points: 6 16 8 8 10 9 6 8 14 5 10 100 Score:
DetaylıProblemin çözümünde şu program olanakları kullanılmaktadır
Problem U Tünel Kemer (Tonoz) Yapı Beton E= 3600 ksi Poison Oranı = 0.2 Betonarme duvar ve döşeme 12'' kalınlığındadır Yapılacaklar Yapının kendi ağırlığından dolayı üst ve alt kemerlerin merkezinde meydana
DetaylıKanal açmada izlenecek işlem sırası şu şekildedir
Kanal açmada izlenecek işlem sırası şu şekildedir 1- Tornalanacak parça çizilir 2- Translate komutu ile punta deliğine gelecek nokta 0,0,0 koordinatına taşınır 3- Tezgah seçimi yapılır 4- Kütük tanımlaması
DetaylıCases in the Turkish Language
Fluentinturkish.com Cases in the Turkish Language Grammar Cases Postpositions, circumpositions and prepositions are the words or morphemes that express location to some kind of reference. They are all
DetaylıMy Year Manager is Sınıf Müdürüm. P.E. is on Beden eğitimi dersimin günü
EMTRAS [Turkish] My Headteacher is Okul müdürüm My Year Manager is Sınıf Müdürüm My Form Tutor is Sınıf öğretmenim My Form is Sınıfım P.E. is on Beden eğitimi dersimin günü I must bring in a T-shirt, shorts
Detaylı2 TEMEL ÇİZİM KOMUTLARI
İÇİNDEKİLER ÖNSÖZ III Bölüm 1 AUTOCAD E GİRİŞ 11 1.1.Autocad Programının Kurulumu 12 1.2.Autocad Çizim Ortamının Tanıtılması 13 1.3.Dosyalama İşlemleri 17 1.3.1Yeni Dosya Açma (NEW) 17 1.3.2 Eski Bir Çizim
DetaylıSekil 1 de plani verilen yapisal sistemin dinamik analizini yaparak, 1. ve 5. modlara ait periyotlari hesaplayiniz.
Örnek: Sekil 1 de plani verilen yapisal sistemin dinamik analizini yaparak, 1. ve 5. modlara ait periyotlari hesaplayiniz. Giris Bilgileri Sistem Geometrisi ve Eleman Bilgileri: Sekil 1 Kat plani (Ölçüler
DetaylıTEMPLATES. Binnur Kurt kurt@cs.itu.edu.tr. Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. C++ ile Nesneye Dayalı Programlama 1
PARAMETRİKÇOKŞEKİLLİLİK: TEMPLATES Binnur Kurt kurt@cs.itu.edu.tr Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi C++ ile Nesneye Dayalı Programlama 1 Sınıf Yapısı Kalıtım Çok Şekillilik Templates
Detaylı3D Masa Üstü ve Pencere Efektleri
Compiz Fusion, unix ve türevleri için açık kaynaklı pencere yöneticisi Compiz ve bir grup eklentisini içeren bir yazılımdır. Compiz ve Beryl projelerinin birleşmesinden sonra ortaya çıkan ilk üründür.
DetaylıBÖLÜM 17 17. ÜÇ BOYUTLU NESNELERİ KAPLAMA VE GÖLGELENDİRME
BÖLÜM 17 17. ÜÇ BOYUTLU NESNELERİ KAPLAMA VE GÖLGELENDİRME 17.1. HİDE Üç boyutlu katı modelleme ve yüzey modellemede Wireframe yapılarının görünmemesi için çizgileri saklama görevi yapar. HİDE komutuna
DetaylıİŞLETMELERDE KURUMSAL İMAJ VE OLUŞUMUNDAKİ ANA ETKENLER
ANKARA ÜNİVERSİTESİ SOSYAL BİLİMLER ENSTİTÜSÜ HALKLA İLİŞKİLER VE TANITIM ANA BİLİM DALI İŞLETMELERDE KURUMSAL İMAJ VE OLUŞUMUNDAKİ ANA ETKENLER BİR ÖRNEK OLAY İNCELEMESİ: SHERATON ANKARA HOTEL & TOWERS
DetaylıBAR Dış aydınlatma aygıtları / Outdoor luminaires BAR 65
BAR Dış aydınlatma aygıtları / Outdoor luminaires BAR 65 264 BAR Dış aydınlatma aygıtları / Outdoor luminaires BAR 65 12 18 30 40 42-2 22 36 41 41-7 Elektrostatik toz boyalı Alüminyum profil gövde Alüminyum
DetaylıAutoCAD Temrini (giriş seviyesi)
AutoCAD Temrini (giriş seviyesi) Konular 1. Giriş 1. Çalışma ortamı: Çizim alanı, Menüler, Araç çubukları, Düğmeler. 2. Etkileşim: Bir komut nasıl icra edilir. 2. Çizim oluştur 3. Hazırlık: Katman ve ölçülendirme
DetaylıWILLIAM SHAKESPEARE BY TERRY EAGLETON DOWNLOAD EBOOK : WILLIAM SHAKESPEARE BY TERRY EAGLETON PDF
Read Online and Download Ebook WILLIAM SHAKESPEARE BY TERRY EAGLETON DOWNLOAD EBOOK : WILLIAM SHAKESPEARE BY TERRY EAGLETON PDF Click link bellow and free register to download ebook: WILLIAM SHAKESPEARE
Detaylı1 I S L U Y G U L A M A L I İ K T İ S A T _ U Y G U L A M A ( 5 ) _ 3 0 K a s ı m
1 I S L 8 0 5 U Y G U L A M A L I İ K T İ S A T _ U Y G U L A M A ( 5 ) _ 3 0 K a s ı m 2 0 1 2 CEVAPLAR 1. Tekelci bir firmanın sabit bir ortalama ve marjinal maliyet ( = =$5) ile ürettiğini ve =53 şeklinde
DetaylıÖlü ve hareketli yük toplamına göre moment diyagramını çiziniz ve aşağıya doğru maksimum yer değiştirmeyi hesaplayınız.
Problem J Elastik Zemine Oturan Kiriş Beton E = 3120 ksi Poisson oranı = 0.2 Yapılacaklar Ölü ve hareketli yük toplamına göre moment diyagramını çiziniz ve aşağıya doğru maksimum yer değiştirmeyi hesaplayınız.
DetaylıB düğüm noktasında aşağıya doğru 1'' lik yer değiştirme nedeniyle oluşacak mesnet reaksiyonlarını hesaplayınız.
Problem G Mesnet Çökmeli Çerçeve Çelik E = 29000 ksi, Poisson oranı = 0.3 Temel mafsallı Tüm kiriş-kolon bağlantıları rijit Yapılacaklar B düğüm noktasında aşağıya doğru 1'' lik yer değiştirme nedeniyle
Detaylı