Appendix a Opengl Function Reference

Total Page:16

File Type:pdf, Size:1020Kb

Appendix a Opengl Function Reference Appendix A OpenGL Function Reference The graphics routines of OPEN GEOMETRY are based on OPENGL. In order to use OPEN GEOMETRY you need do not need to know anything about OPENGL, but still it may be interesting to get a more profound insight in the background of the OPEN GEOMETRY class library. If you want to use OPEN GEOMETRY for a certain specific task, you might feel the need to adapt some of its drawing and shading routines. In this case you will need to know a few basics about OPENGL. Therefore, we give a very short description of the most important OPENG L functions. Of course, this list is far from complete. If you need more information, please refer to "pure" OPENGL books (e.g., [1], [17], or [36]). We have sorted the routines according to the following groups: 1. Coordinate Transformations glFrustum, glLoadldentity, glLoadMatrix, glMatrixMode, glMultMatrix, glPopMatrix, glPusbMatrix, glRotate, glScale, glTranslate 2. Primitives (Lines, Polygons, Points, ... ) glBegin, glCullFace, glEdgeFIag, glEnd, glFrontFace, glGetPolygonStripple, glLineStrippIe, glLine Widtb, glPointSize, glPolygonMode, glPolygonStrip­ pIe, glVertex 3. Color glClearColor, glClearlndex, glColor, glColorv, glColorMask, glIndex, glIn­ dexMask, glLogicOp, glSbadeModel 622 Appendix A. OpenGL Function Reference 4. Lighting glColorMaterial, glGetMaterial, glGetLight, glLight, glLightModel, glMate­ rial, glNorma13 5. Texture Mapping glTexCoord, glTexEnv, glTexGen, glTexlmage2D, glTexImagelD, glTexPa­ rameter, glEnable 6. Raster Graphics glCopyPixels, glDrawPixels, glPixelMap, glPixelStore, glPixelTransfer, glPix­ elZoom, glReadPixels, glRasterPos A.I Coordinate Transformations Whenever you write OPENGL code, it is important to have an understanding of how coordinate transformations in OPENGL work. In particular, you have to think about the order of the transformations if you apply several in a row. Always keep in mind that OPENG L transformations will not change the coordinates of your objects, whereas many OPEN GEOMETRy-transformations will actually change them. void glFrustum( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far); <> Multiplies the current matrix by a matrix <> for a perspective-view frustum. left, right define left and right clipping planes bottom, top define bottom and top clipping planes near, far distance to the near and far clipping planes I I void glLoadldentity( void ); <> Sets the current matrix to Identity. void glLoadMatrix<d,f> ( const TYPE* m ); <> Sets the current matrix to the one specified. m 4x4 matrix I I void glMatrixMode( GLenum mode ); Section A.I. Coordinate Transformations 623 o Specifies the current matrix mode. mode can be GLMODELVIEW, GL_PROJECION, GLTEXTURE I void glMultMatrix<d,f> ( TYPE *m ); o Multiplies the current matrix by the one specified. m 4x4 matrix I I void glPopMatrix( void ); o Pops the current matrix off the matrix stack. I void glPushMatrix( void ); o Pushes the current matrix onto the matrix stack. I void glRotate<d,f> ( TYPE angle, TYPE x, TYPE y, TYPE z ); o Rotates the current matrix by a rotation matrix. angle specifies the angle of rotation in degrees x,y,z vector from the origin that is used as the axis of rotation. I void glScale<d,f> ( TYPE x, TYPE y, TYPE z ); o Multiplies the current matrix by a matrix that o scales an object along the x,y,z axes. x,y,z Scale factors along the x,y, and z axes I I void glTranslate<d,f> ( TYPE x, TYPE y, TYPE z ); o Multiplies the current matrix by a matrix that o translates an object along the axes. x,y,z translation vector I A.2 Primitives OPENGL offers only a few geometrical primitives to be drawn: lines, polygons, and points. The auxiliary libraries provide the programmer with some other "primitives" like spheres and teapots. 624 Appendix A. OpenGL Function Reference void glBegin( GLenum mode ); o Sets the beginning of a group of vertices o that build one or more primitives. mode type of primitive operation GLPOINTS individual points GL_LINES simple lines GL_LINKSTRlP series of connected lines GL_LINKLOOP same as above with first and last vertices connected GLTRlANGLES simple triangle GL_TRlANGLESYAN linked fan of triangles GL_TRlANGLES_STRIP linked strip of triangles GLPOLYGON convex polygon GLQUADS four-sided polygon GLQUAD_STRlP linked strip of four-sided polygons I void glCullFace( GLenum mode ); mode GLYRONT, GL_BACK, GLYRONLAND_BACK; I void glEdgeFlag<v> ( GLboolean<const GLboolean *>flag ); o Indicates whether a vertex should be considered o as initializing a boundary edge of a polygon. flag Sets the edge flag to this value. GL_TRUE (default) or GLFALSE I void glEnd ( ); o Terminates a group of vertices specified by glBegin ( ). I void glFrontFace( GLenum mode ); o Defines the front and back sides of a polygon. mode GL_CCW faces with counterclockwise orientation are considered front-facing. (default) GL_CW faces with clockwise orientation are considered front-facing. I void glGetPolygonStipple( GLubyte *mask ); o Returns the stipple pattern of a polygon. Section A.2. Primitives 625 Pointer to the polygon stipple pattern. I void glLineStipple( GLint factor, GLushort pattern ); o Specifies the stipple pattern for GLLINE... o primitive operations. First enable strip piing o by calling glEnable( GLLINKSTIPPLE ). factor The pattern is stretched out by this factor. pattern Sets the 16-bit long strippling pattern. I~-----------------------------------------------------------~ I void glLine Width ( GLBoat width ); o Sets the current line width. width width of line in pixels (default is 1.0) I void glPointSize( GLBoat size) ; o Sets the current point size. size size of point (default is 1.0) I I void glPolygonMode( GLenum face, GLenum mode) ; o Sets the drawing mode for the front faces and back faces of a polygon. face Specifies which faces are affected by the mode change. GLFRONT, GL_BACK, GL_FRONT_AND_BACK mode can be GL_POINT, GL_LINE, GL_FILL I void glPolygonStipple( const GLubyte* mask ) o Specifies the stipple pattern used to fill polygons. *mask pointer to a 32 * 32-bit array that contains the stipple pattern. I void gIVertex<2,3,4><s,i,f,d><v> ( TYPE coords ) o Specifies the 3D coordinates of a vertex. o Example: glVertex3f( 1.0 , 1.5 , 4.0 ); coords can be 1-4 dimensional (x,y,z,w) w coordinate for scaling purposes 626 Appendix A. OpenGL Function Reference (default is 1.0) I void glClearColor( GLc1ampf red, GLc1ampf green, GLc1ampf blue, GLc1ampf alpha ) o Specifies the current clear color for glClear. I void glClearlndex( GLfloat index) ; o Specifies the clearing value for the color index buffer. index clear color value I void glColor<3,4><b,i,s,u,d,f> ( TYPE red, TYPE green, TYPE blue, TYPE alpha ); o Sets the current drawing color. I void glColor<3,4><b,i,s,u,d,f>v( const TYPE *v); o Sets the current drawing color. v points to an array with four elements I void glColorMask( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha ); o Defines the current mask used to control o writing in RGBA mode. I void glIndex<i,s,d,f><v> ( TYPE index); o Sets the current drawing index color. index color index; I I void glIndexMask( GLuint mask ); o Sets the mask used to control writing into the color o index buffer by protecting individual bits from being set. mask bit mask; I void glLogicOp( GLenum opcode ); Section A.2. Primitives 627 (> Defines the current logical pixel operation for color o index mode. opcode can be GLCLEAR, GLCOPY (default), GLNOOP, GL_SET, GL_COPY_INVERTED, GLINVERT, GL_AND, GLOR, GLNOR, GL_XOR, GL_EQUIV, GLAND_INVERTED, GLOKINVERTED; I void glShadeModel( GLenum mode); o Specifies the current shade model mode GLFLAT or GLSMOOTH (default) ; A.3 Color OPENGL allows you to set RGB colors. Furthermore, it enables the programmer to set a-values for transparency. void glClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) (> Specifies the current clear color for glClear. I void glClearIndex( GLf-loat index) ; o Specifies the clearing value for the color index buffer. index clear color value I I void glColor<3,4><b,i,s,u,d,f> ( TYPE red, TYPE green, TYPE blue, TYPE alpha ); (> Sets the current drawing color. I void glColor<3,4><b,i,s,u,d,f>v( const TYPE *v); o Sets the current drawing color. v points to an array with four elements I void glColorMask( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) ; 628 Appendix A. OpenGL Function Reference <> Defines the current mask used to control <> writing in RGBA mode. I void glIndex<i,s,d,f><v> ( TYPE index); <> Sets the current drawing index color. index color index I void glIndexMask( GLuint mask ); <> Sets the mask used to control writing into the color <> index buffer by protecting individual bits from being set. mask bit mask I void glLogicOp( GLenum opcode ); <> Defines the current logical pixel operation for color <> index mode. opcode can be GLCLEAR, GLCOPY (default), GLNOOP, GL_SET, GL_COPYJNVERTED, GLJNVERT, GL-AND, GL_OR, GLNOR, GL_XOR, GL-EQUIV, GL_ANDJNVERTED, GLOKINVERTED; I void glShadeModel ( GLenum mode ); <> Specifies the current shade model mode GLYLAT or GL_SMOOTH (default) ; A.4 Lighting When it comes to lighting, OPENG L offers a palette of functions that allow you to use a number of light sources and to provide the objects with physical properties like shininess, etc. Remember that OPEN GEOMETRY does not use those functions by default, and that it is up to the programmer to introduce the corresponding code. Section A.4. Lighting 629 void glColorMaterial( GLenum face, GLenum mode); <> Allows material colors to track the color set by glColor. face GLFRONT, GLJ3ACK or GLFRONT-AND_BACK mode GLEMISSION, GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR or GL_AMBIENT-AND_DIFFUSE I void glGetMaterial<i,f>v( GLenum face, GLenum pname, TYPE param ) <> Returns the current material property settings. face GLFRONT, GLJ3ACK or GLYRONT_AND_BACK pname: param: GL_EMISSION RGBA values GL_AMBIENT RGBA values GL-.DIFFUSE RGBA values GLSPECULAR RGBA values GL_SHININESS specular exponent GL_COLORJNDEXES 3 values ( ambient, diffuse, specular components ) I void glGetLight<i,f>v( GLenum light, GLenum pname, TYPE *params ); <> Returns information about the current light source settings.
Recommended publications
  • Harmonious Hilbert Curves and Other Extradimensional Space-Filling Curves
    Harmonious Hilbert curves and other extradimensional space-filling curves∗ Herman Haverkorty November 2, 2012 Abstract This paper introduces a new way of generalizing Hilbert's two-dimensional space-filling curve to arbitrary dimensions. The new curves, called harmonious Hilbert curves, have the unique property that for any d0 < d, the d-dimensional curve is compatible with the d0-dimensional curve with respect to the order in which the curves visit the points of any d0-dimensional axis-parallel space that contains the origin. Similar generalizations to arbitrary dimensions are described for several variants of Peano's curve (the original Peano curve, the coil curve, the half-coil curve, and the Meurthe curve). The d-dimensional harmonious Hilbert curves and the Meurthe curves have neutral orientation: as compared to the curve as a whole, arbitrary pieces of the curve have each of d! possible rotations with equal probability. Thus one could say these curves are `statistically invariant' under rotation|unlike the Peano curves, the coil curves, the half-coil curves, and the familiar generalization of Hilbert curves by Butz and Moore. In addition, prompted by an application in the construction of R-trees, this paper shows how to construct a 2d-dimensional generalized Hilbert or Peano curve that traverses the points of a certain d-dimensional diagonally placed subspace in the order of a given d-dimensional generalized Hilbert or Peano curve. Pseudocode is provided for comparison operators based on the curves presented in this paper. 1 Introduction Space-filling curves A space-filling curve in d dimensions is a continuous, surjective mapping from R to Rd.
    [Show full text]
  • Spatial Accessibility to Amenities in Fractal and Non Fractal Urban Patterns Cécile Tannier, Gilles Vuidel, Hélène Houot, Pierre Frankhauser
    Spatial accessibility to amenities in fractal and non fractal urban patterns Cécile Tannier, Gilles Vuidel, Hélène Houot, Pierre Frankhauser To cite this version: Cécile Tannier, Gilles Vuidel, Hélène Houot, Pierre Frankhauser. Spatial accessibility to amenities in fractal and non fractal urban patterns. Environment and Planning B: Planning and Design, SAGE Publications, 2012, 39 (5), pp.801-819. 10.1068/b37132. hal-00804263 HAL Id: hal-00804263 https://hal.archives-ouvertes.fr/hal-00804263 Submitted on 14 Jun 2021 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. TANNIER C., VUIDEL G., HOUOT H., FRANKHAUSER P. (2012), Spatial accessibility to amenities in fractal and non fractal urban patterns, Environment and Planning B: Planning and Design, vol. 39, n°5, pp. 801-819. EPB 137-132: Spatial accessibility to amenities in fractal and non fractal urban patterns Cécile TANNIER* ([email protected]) - corresponding author Gilles VUIDEL* ([email protected]) Hélène HOUOT* ([email protected]) Pierre FRANKHAUSER* ([email protected]) * ThéMA, CNRS - University of Franche-Comté 32 rue Mégevand F-25 030 Besançon Cedex, France Tel: +33 381 66 54 81 Fax: +33 381 66 53 55 1 Spatial accessibility to amenities in fractal and non fractal urban patterns Abstract One of the challenges of urban planning and design is to come up with an optimal urban form that meets all of the environmental, social and economic expectations of sustainable urban development.
    [Show full text]
  • Redalyc.Self-Similarity of Space Filling Curves
    Ingeniería y Competitividad ISSN: 0123-3033 [email protected] Universidad del Valle Colombia Cardona, Luis F.; Múnera, Luis E. Self-Similarity of Space Filling Curves Ingeniería y Competitividad, vol. 18, núm. 2, 2016, pp. 113-124 Universidad del Valle Cali, Colombia Available in: http://www.redalyc.org/articulo.oa?id=291346311010 How to cite Complete issue Scientific Information System More information about this article Network of Scientific Journals from Latin America, the Caribbean, Spain and Portugal Journal's homepage in redalyc.org Non-profit academic project, developed under the open access initiative Ingeniería y Competitividad, Volumen 18, No. 2, p. 113 - 124 (2016) COMPUTATIONAL SCIENCE AND ENGINEERING Self-Similarity of Space Filling Curves INGENIERÍA DE SISTEMAS Y COMPUTACIÓN Auto-similaridad de las Space Filling Curves Luis F. Cardona*, Luis E. Múnera** *Industrial Engineering, University of Louisville. KY, USA. ** ICT Department, School of Engineering, Department of Information and Telecommunication Technologies, Faculty of Engineering, Universidad Icesi. Cali, Colombia. [email protected]*, [email protected]** (Recibido: Noviembre 04 de 2015 – Aceptado: Abril 05 de 2016) Abstract We define exact self-similarity of Space Filling Curves on the plane. For that purpose, we adapt the general definition of exact self-similarity on sets, a typical property of fractals, to the specific characteristics of discrete approximations of Space Filling Curves. We also develop an algorithm to test exact self- similarity of discrete approximations of Space Filling Curves on the plane. In addition, we use our algorithm to determine exact self-similarity of discrete approximations of four of the most representative Space Filling Curves.
    [Show full text]
  • Fractal Initialization for High-Quality Mapping with Self-Organizing Maps
    Neural Comput & Applic DOI 10.1007/s00521-010-0413-5 ORIGINAL ARTICLE Fractal initialization for high-quality mapping with self-organizing maps Iren Valova • Derek Beaton • Alexandre Buer • Daniel MacLean Received: 15 July 2008 / Accepted: 4 June 2010 Ó Springer-Verlag London Limited 2010 Abstract Initialization of self-organizing maps is typi- 1.1 Biological foundations cally based on random vectors within the given input space. The implicit problem with random initialization is Progress in neurophysiology and the understanding of brain the overlap (entanglement) of connections between neu- mechanisms prompted an argument by Changeux [5], that rons. In this paper, we present a new method of initiali- man and his thought process can be reduced to the physics zation based on a set of self-similar curves known as and chemistry of the brain. One logical consequence is that Hilbert curves. Hilbert curves can be scaled in network size a replication of the functions of neurons in silicon would for the number of neurons based on a simple recursive allow for a replication of man’s intelligence. Artificial (fractal) technique, implicit in the properties of Hilbert neural networks (ANN) form a class of computation sys- curves. We have shown that when using Hilbert curve tems that were inspired by early simplified model of vector (HCV) initialization in both classical SOM algo- neurons. rithm and in a parallel-growing algorithm (ParaSOM), Neurons are the basic biological cells that make up the the neural network reaches better coverage and faster brain. They form highly interconnected communication organization. networks that are the seat of thought, memory, con- sciousness, and learning [4, 6, 15].
    [Show full text]
  • FRACTAL CURVES 1. Introduction “Hike Into a Forest and You Are Surrounded by Fractals. the In- Exhaustible Detail of the Livin
    FRACTAL CURVES CHELLE RITZENTHALER Abstract. Fractal curves are employed in many different disci- plines to describe anything from the growth of a tree to measuring the length of a coastline. We define a fractal curve, and as a con- sequence a rectifiable curve. We explore two well known fractals: the Koch Snowflake and the space-filling Peano Curve. Addition- ally we describe a modified version of the Snowflake that is not a fractal itself. 1. Introduction \Hike into a forest and you are surrounded by fractals. The in- exhaustible detail of the living world (with its worlds within worlds) provides inspiration for photographers, painters, and seekers of spiri- tual solace; the rugged whorls of bark, the recurring branching of trees, the erratic path of a rabbit bursting from the underfoot into the brush, and the fractal pattern in the cacophonous call of peepers on a spring night." Figure 1. The Koch Snowflake, a fractal curve, taken to the 3rd iteration. 1 2 CHELLE RITZENTHALER In his book \Fractals," John Briggs gives a wonderful introduction to fractals as they are found in nature. Figure 1 shows the first three iterations of the Koch Snowflake. When the number of iterations ap- proaches infinity this figure becomes a fractal curve. It is named for its creator Helge von Koch (1904) and the interior is also known as the Koch Island. This is just one of thousands of fractal curves studied by mathematicians today. This project explores curves in the context of the definition of a fractal. In Section 3 we define what is meant when a curve is fractal.
    [Show full text]
  • Bachelorarbeit Im Studiengang Audiovisuelle Medien Die
    Bachelorarbeit im Studiengang Audiovisuelle Medien Die Nutzbarkeit von Fraktalen in VFX Produktionen vorgelegt von Denise Hauck an der Hochschule der Medien Stuttgart am 29.03.2019 zur Erlangung des akademischen Grades eines Bachelor of Engineering Erst-Prüferin: Prof. Katja Schmid Zweit-Prüfer: Prof. Jan Adamczyk Eidesstattliche Erklärung Name: Vorname: Hauck Denise Matrikel-Nr.: 30394 Studiengang: Audiovisuelle Medien Hiermit versichere ich, Denise Hauck, ehrenwörtlich, dass ich die vorliegende Bachelorarbeit mit dem Titel: „Die Nutzbarkeit von Fraktalen in VFX Produktionen“ selbstständig und ohne fremde Hilfe verfasst und keine anderen als die angegebenen Hilfsmittel benutzt habe. Die Stellen der Arbeit, die dem Wortlaut oder dem Sinn nach anderen Werken entnommen wurden, sind in jedem Fall unter Angabe der Quelle kenntlich gemacht. Die Arbeit ist noch nicht veröffentlicht oder in anderer Form als Prüfungsleistung vorgelegt worden. Ich habe die Bedeutung der ehrenwörtlichen Versicherung und die prüfungsrechtlichen Folgen (§26 Abs. 2 Bachelor-SPO (6 Semester), § 24 Abs. 2 Bachelor-SPO (7 Semester), § 23 Abs. 2 Master-SPO (3 Semester) bzw. § 19 Abs. 2 Master-SPO (4 Semester und berufsbegleitend) der HdM) einer unrichtigen oder unvollständigen ehrenwörtlichen Versicherung zur Kenntnis genommen. Stuttgart, den 29.03.2019 2 Kurzfassung Das Ziel dieser Bachelorarbeit ist es, ein Verständnis für die Generierung und Verwendung von Fraktalen in VFX Produktionen, zu vermitteln. Dabei bildet der Einblick in die Arten und Entstehung der Fraktale
    [Show full text]
  • Efficient Neighbor-Finding on Space-Filling Curves
    Universitat¨ Stuttgart Efficient Neighbor-Finding on Space-Filling Curves Bachelor Thesis Author: David Holzm¨uller* Degree: B. Sc. Mathematik Examiner: Prof. Dr. Dominik G¨oddeke, IANS Supervisor: Prof. Dr. Miriam Mehl, IPVS October 18, 2017 arXiv:1710.06384v3 [cs.CG] 2 Nov 2019 *E-Mail: [email protected], where the ¨uin the last name has to be replaced by ue. Abstract Space-filling curves (SFC, also known as FASS-curves) are a useful tool in scientific computing and other areas of computer science to sequentialize multidimensional grids in a cache-efficient and parallelization-friendly way for storage in an array. Many algorithms, for example grid-based numerical PDE solvers, have to access all neighbor cells of each grid cell during a grid traversal. While the array indices of neighbors can be stored in a cell, they still have to be computed for initialization or when the grid is adaptively refined. A fast neighbor- finding algorithm can thus significantly improve the runtime of computations on multidimensional grids. In this thesis, we show how neighbors on many regular grids ordered by space-filling curves can be found in an average-case time complexity of (1). In 풪 general, this assumes that the local orientation (i.e. a variable of a describing grammar) of the SFC inside the grid cell is known in advance, which can be efficiently realized during traversals. Supported SFCs include Hilbert, Peano and Sierpinski curves in arbitrary dimensions. We assume that integer arithmetic operations can be performed in (1), i.e. independent of the size of the integer.
    [Show full text]
  • Math Morphing Proximate and Evolutionary Mechanisms
    Curriculum Units by Fellows of the Yale-New Haven Teachers Institute 2009 Volume V: Evolutionary Medicine Math Morphing Proximate and Evolutionary Mechanisms Curriculum Unit 09.05.09 by Kenneth William Spinka Introduction Background Essential Questions Lesson Plans Website Student Resources Glossary Of Terms Bibliography Appendix Introduction An important theoretical development was Nikolaas Tinbergen's distinction made originally in ethology between evolutionary and proximate mechanisms; Randolph M. Nesse and George C. Williams summarize its relevance to medicine: All biological traits need two kinds of explanation: proximate and evolutionary. The proximate explanation for a disease describes what is wrong in the bodily mechanism of individuals affected Curriculum Unit 09.05.09 1 of 27 by it. An evolutionary explanation is completely different. Instead of explaining why people are different, it explains why we are all the same in ways that leave us vulnerable to disease. Why do we all have wisdom teeth, an appendix, and cells that if triggered can rampantly multiply out of control? [1] A fractal is generally "a rough or fragmented geometric shape that can be split into parts, each of which is (at least approximately) a reduced-size copy of the whole," a property called self-similarity. The term was coined by Beno?t Mandelbrot in 1975 and was derived from the Latin fractus meaning "broken" or "fractured." A mathematical fractal is based on an equation that undergoes iteration, a form of feedback based on recursion. http://www.kwsi.com/ynhti2009/image01.html A fractal often has the following features: 1. It has a fine structure at arbitrarily small scales.
    [Show full text]
  • Algorithms for Scientific Computing
    Algorithms for Scientific Computing Space-Filling Curves Michael Bader Technical University of Munich Summer 2017 Start: Morton Order / Cantor’s Mapping 00 01 0000 0001 0100 0101 0010 0011 0110 0111 1000 1001 1100 1101 10 11 1010 1011 1110 1111 Questions: • Can this mapping lead to a contiguous “curve”? • i.e.: Can we find a continuous mapping? • and: Can this continuous mapping fill the entire square? Michael Bader j Algorithms for Scientific Computing j Space-Filling Curves j Summer 2017 2 Morton Order and Cantor’s Mapping Georg Cantor (1877): 0:0110 ::: 0:01111001 ::: ! 0:1101 ::: • bijective mapping [0; 1] ! [0; 1]2 • proved identical cardinality of [0; 1] and [0; 1]2 • provoked the question: is there a continuous mapping? (i.e. a curve) Michael Bader j Algorithms for Scientific Computing j Space-Filling Curves j Summer 2017 3 History of Space-Filling Curves 1877: Georg Cantor finds a bijective mapping from the unit interval [0; 1] into the unit square [0; 1]2. 1879: Eugen Netto proves that a bijective mapping f : I ! Q ⊂ Rn can not be continuous (i.e., a curve) at the same time (as long as Q has a smooth boundary). 1886: rigorous definition of curves introduced by Camille Jordan 1890: Giuseppe Peano constructs the first space-filling curves. 1890: Hilbert gives a geometric construction of Peano’s curve; and introduces a new example – the Hilbert curve 1904: Lebesgue curve 1912: Sierpinski curve Michael Bader j Algorithms for Scientific Computing j Space-Filling Curves j Summer 2017 4 Part I Space-Filling Curves Michael Bader j Algorithms for Scientific Computing j Space-Filling Curves j Summer 2017 5 What is a Curve? Definition (Curve) n As a curve, we define the image f∗(I) of a continuous mapping f : I! R .
    [Show full text]
  • Peano Curves in Complex Analysis
    PEANO CURVES IN COMPLEX ANALYSIS MALIK YOUNSI Abstract. A Peano curve is a continuous function from the unit interval into the plane whose image contains a nonempty open set. In this note, we show how such space-filling curves arise naturally from Cauchy transforms in complex analysis. 1. Introduction. A Peano curve (or space-filling curve) is a continuous function f : [0, 1] → C, where C denotes the complex plane, such that f([0, 1]) contains a nonempty open set. The first example of such a curve was constructed by Peano [6] in 1890, motivated by Cantor’s proof of the fact that the unit interval and the unit square have the same cardinality. Indeed, Peano’s construction has the property that f maps [0, 1] continuously onto [0, 1] × [0, 1]. Note, however, that topological considerations prevent such a function f from being injective. One year later, in 1891, Hilbert [3] constructed another example of a space-filling curve, as a limit of piecewise-linear curves. Hilbert’s elegant geometric construction has now become quite classical and is usually taught at the undergraduate level. Figure 1. The first six steps of Hilbert’s iterative construction of a Peano curve. However, much less known is the fact that Peano curves can be obtained by the use of complex-analytic methods, more precisely, from the boundary values of certain power series defined on the unit disk. This was observed by Salem and Zygmund in 1945 in the following theorem: Date: April 6, 2018. The author is supported by NSF Grant DMS-1758295.
    [Show full text]
  • Peano- and Hilbert Curve Historical Comments
    How do they look like Hilbert's motivation - Historical comments Peano- and Hilbert curve Historical comments Jan Zeman, Pilsen, Czech Republic 22nd June 2021 Jan Zeman,Pilsen, Czech Republic Peano- and Hilbert curve How do they look like Hilbert's motivation - Historical comments Peano curve Peano curve Jan Zeman,Pilsen, Czech Republic Peano- and Hilbert curve How do they look like Hilbert's motivation - Historical comments Peano curve Jan Zeman,Pilsen, Czech Republic Peano- and Hilbert curve How do they look like Hilbert's motivation - Historical comments Peano curve Jan Zeman,Pilsen, Czech Republic Peano- and Hilbert curve How do they look like Hilbert's motivation - Historical comments Peano curve Jan Zeman,Pilsen, Czech Republic Peano- and Hilbert curve How do they look like Hilbert's motivation - Historical comments Peano curve Jan Zeman,Pilsen, Czech Republic Peano- and Hilbert curve How do they look like Hilbert's motivation - Historical comments Peano curve Jan Zeman,Pilsen, Czech Republic Peano- and Hilbert curve How do they look like Hilbert's motivation - Historical comments Peano curve Jan Zeman,Pilsen, Czech Republic Peano- and Hilbert curve How do they look like Hilbert's motivation - Historical comments Peano curve Jan Zeman,Pilsen, Czech Republic Peano- and Hilbert curve How do they look like Hilbert's motivation - Historical comments Peano curve Jan Zeman,Pilsen, Czech Republic Peano- and Hilbert curve How do they look like Hilbert's motivation - Historical comments Peano curve Jan Zeman,Pilsen, Czech Republic Peano-
    [Show full text]
  • Using Fractal Dimensions for Characterizing Intra-Urban Diversity
    A Service of Leibniz-Informationszentrum econstor Wirtschaft Leibniz Information Centre Make Your Publications Visible. zbw for Economics Thomas, Isabelle; Keersmaecker, Marie-Laurence De; Frankhauser, Pierre Conference Paper Using fractal dimensions for characterizing intra- urban diversity. The example of Brussels 43rd Congress of the European Regional Science Association: "Peripheries, Centres, and Spatial Development in the New Europe", 27th - 30th August 2003, Jyväskylä, Finland Provided in Cooperation with: European Regional Science Association (ERSA) Suggested Citation: Thomas, Isabelle; Keersmaecker, Marie-Laurence De; Frankhauser, Pierre (2003) : Using fractal dimensions for characterizing intra-urban diversity. The example of Brussels, 43rd Congress of the European Regional Science Association: "Peripheries, Centres, and Spatial Development in the New Europe", 27th - 30th August 2003, Jyväskylä, Finland, European Regional Science Association (ERSA), Louvain-la-Neuve This Version is available at: http://hdl.handle.net/10419/115977 Standard-Nutzungsbedingungen: Terms of use: Die Dokumente auf EconStor dürfen zu eigenen wissenschaftlichen Documents in EconStor may be saved and copied for your Zwecken und zum Privatgebrauch gespeichert und kopiert werden. personal and scholarly purposes. Sie dürfen die Dokumente nicht für öffentliche oder kommerzielle You are not to copy documents for public or commercial Zwecke vervielfältigen, öffentlich ausstellen, öffentlich zugänglich purposes, to exhibit the documents publicly, to make them machen, vertreiben oder anderweitig nutzen. publicly available on the internet, or to distribute or otherwise use the documents in public. Sofern die Verfasser die Dokumente unter Open-Content-Lizenzen (insbesondere CC-Lizenzen) zur Verfügung gestellt haben sollten, If the documents have been made available under an Open gelten abweichend von diesen Nutzungsbedingungen die in der dort Content Licence (especially Creative Commons Licences), you genannten Lizenz gewährten Nutzungsrechte.
    [Show full text]