Showing papers in "Undergraduate topics in computer science in 2022"

BookDOI
TL;DR: In this article , the authors show how OCaml allows for fast and safe development of data science and AI applications, and how it can be used in scientific computing, and show how to use it for data visualization.
Abstract: Aiming at anyone in scientific computing, the book shows how OCaml allows for fast and safe development of data science and AI applications.

5 citations

Journal ArticleDOI
TL;DR: In this article , the foundations of curves and surface patches are investigated and many of the ideas that are essential to understanding the mathematics behind 2D and 3D curves and how they are developed to produce surface patches.
Abstract: In this chapter we investigate the foundations of curves and surface patches. This is a very large and complex subject and it will be impossible to delve too deeply. However, we can explore many of the ideas that are essential to understanding the mathematics behind 2D and 3D curves and how they are developed to produce surface patches. Once you have understood these ideas you will be able to read more advanced texts and develop a wider knowledge of the subject.

Journal ArticleDOI
TL;DR: In this article , the authors revise Cartesian coordinates, axial systems, the distance between two points in space, and the area of simple 2D shapes, and also cover polar, spherical polar and cylindrical coordinate systems.
Abstract: In this chapter we revise Cartesian coordinates, axial systems, the distance between two points in space, and the area of simple 2D shapes. It also covers polar, spherical polar and cylindrical coordinate systems.

Journal ArticleDOI

[...]

TL;DR: The reason for this consistency is due to the rules associated with numbers and the way they are combined together and manipulated at an abstract level as mentioned in this paper , however, as we saw with the invention of negative numbers, extra rules have to be introduced, such as two negatives make a positive, which is easily remembered.
Abstract: Some people, including me, find learning a foreign language a real challenge; one of the reasons being the inconsistent rules associated with its syntax. For example, why is a table feminine in French, ‘la table’, and a bed masculine, ‘le lit’? They both have four legs! The rules governing natural language are continuously being changed by each generation, whereas mathematics appears to be logical and consistent. The reason for this consistency is due to the rules associated with numbers and the way they are combined together and manipulated at an abstract level. Such rules, or axioms, generally make our life easy, however, as we saw with the invention of negative numbers, extra rules have to be introduced, such as ‘two negatives make a positive’, which is easily remembered. However, as we explore mathematics, we discover all sorts of inconsistencies, such as there is no real value associated with the square-root of a negative number. It’s forbidden to divide a number by zero. Zero divided by zero gives inconsistent results. Nevertheless, such conditions are easy to recognise and avoided. At least in mathematics, we don’t have to worry about masculine and feminine numbers!

Journal ArticleDOI

[...]

TL;DR: In this paper , a comprehensive introduction to vectors is provided, covering 2D and 3D vectors, unit vectors, position vectors, Cartesian vectors, vector magnitude, vector products, and area calculations.
Abstract: This chapter provides a comprehensive introduction to vectors. It covers 2D and 3D vectors, unit vectors, position vectors, Cartesian vectors, vector magnitude, vector products, and area calculations. It also shows how vectors are used in lighting calculations and back-face detection.

Journal ArticleDOI
TL;DR: In this article , linear and non-linear interpolation of scalars, including trigonometric and cubic polynomials, is discussed. But it is not discussed how to interpolate vectors and quaternions.
Abstract: This chapter covers linear and non-linear interpolation of scalars, and includes trigonometric and cubic polynomials. It also includes the interpolation of vectors and quaternions.

Journal ArticleDOI
TL;DR: In this article , a short review of important elements of Euclidean geometry with which you should be familiar is presented, including the definitions of straight lines in space, 3D planes, and how points of intersection are computed.
Abstract: This chapter explores some basic elements of geometry and analytic geometry that are frequently encountered in computer graphics. For completeness, I have included a short review of important elements of Euclidean geometry with which you should be familiar. Perhaps the most important topics that you should try to understand concern the definitions of straight lines in space, 3D planes, and how points of intersection are computed. Another useful topic is the role of parameters in describing lines and line segments, and their intersection.

BookDOI
TL;DR: In this paper , a wide range of mathematical techniques and problem-solving strategies associated with computer games, computer animation, virtual reality, CAD and other areas of computer graphics are discussed.
Abstract: John Vince explains a wide range of mathematical techniques and problem-solving strategies associated with computer games, computer animation, virtual reality, CAD and other areas of computer graphics in this updated and expanded fourth edition. The first four chapters revise number sets, algebra, trigonometry and coordinate systems, which are employed in the following chapters on vectors, transforms, interpolation, 3D curves and patches, analytic geometry and barycentric coordinates. Following this, the reader is introduced to the relatively new topic of geometric algebra, and the last two chapters provide an introduction to differential and integral calculus, with an emphasis on geometry. Mathematics for Computer Graphics covers all of the key areas of the subject, including:Number setsAlgebraTrigonometryCoordinate systemsTransformsQuaternionsInterpolationCurves and surfacesAnalytic geometryBarycentric coordinatesGeometric algebraDifferential calculusIntegral calculusThis fourth edition contains over 120 worked examples and over 270 illustrations, which are central to the authors descriptive writing style. Mathematics for Computer Graphics provides a sound understanding of the mathematics required for computer graphics, giving a fascinating insight into the design of computer graphics software and setting the scene for further reading of more advanced books and technical research papers.

Journal ArticleDOI
TL;DR: In this article , the authors investigate complex numbers and show how they can be thought of as an ordered pair and how they are represented by a matrix, and they also show that many of the qualities associated with quaternions are found in complex numbers, which are worthy of close examination.
Abstract: In this chapter we investigate complex numbers and show how they can be thought of as an ordered pair. We also show how they are represented by a matrix. Many of the qualities associated with quaternions are found in complex numbers, which is why they are worthy of close examination.

Journal ArticleDOI
TL;DR: In this article , the authors develop the idea that integration is the inverse of differentiation, and examine standard algebraic strategies for integrating functions, where the derivative is unknown; these include simple algebraic manipulation, trigonometric identities, integration by parts, integrationby substitution and integration using partial fractions.
Abstract: In this chapter I develop the idea that integration is the inverse of differentiation, and examine standard algebraic strategies for integrating functions, where the derivative is unknown; these include simple algebraic manipulation, trigonometric identities, integration by parts, integration by substitution and integration using partial fractions.

Journal ArticleDOI
TL;DR: In computer graphics, not everyone working in computer graphics requires a knowledge of mathematics, but those that do, often look for a book that introduces them to some basic ideas of mathematics without turning them into mathematicians as mentioned in this paper .
Abstract: Computer graphics contains many areas of specialism such as data visualisation, computer animation, film special effects, computer games and virtual reality. Fortunately, not everyone working in computer graphics requires a knowledge of mathematics, but those that do, often look for a book that introduces them to some basic ideas of mathematics, without turning them into mathematicians.

Journal ArticleDOI
TL;DR: In this paper , the authors proposed a method to reduce the book's weight and provide a gentle introduction to the subject of calculus, and selected specific topics from my book and condensed them into two chapters.
Abstract: Calculus is a very large subject, and calculus books have a reputation for being heavy. Therefore, to minimise this book’s weight, and provide a gentle introduction to the subject, I have selected specific topics from my book [1], and condensed them into two chapters.

Journal ArticleDOI
TL;DR: When patterns of numbers or symbols occur over and over again, mathematicians often devise a way to simplify their description and assign a name to them as mentioned in this paper , which is a common practice in the mathematical community.
Abstract: When patterns of numbers or symbols occur over and over again, mathematicians often devise a way to simplify their description and assign a name to them.

Journal ArticleDOI
TL;DR: Barycentric coordinates as discussed by the authors locate points relative to existing points, rather than to an origin and are known as local coordinates, while Cartesian coordinates are just offsets relative to some origin.
Abstract: Cartesian coordinates are a fundamental concept in mathematics and are central to computer graphics. Such rectangular coordinates are just offsets relative to some origin. Other coordinate systems also exist such as polar, spherical and cylindrical coordinates, and they too, require an origin. Barycentric coordinates, on the other hand, locate points relative to existing points, rather than to an origin and are known as local coordinates.

Journal ArticleDOI
TL;DR: This can only be a brief introduction to geometric algebra as the subject really demands an entire book as discussed by the authors , but it can be used as a starting point for a more complete introduction to algebra.
Abstract: This can only be a brief introduction to geometric algebra as the subject really demands an entire book.

Journal ArticleDOI
TL;DR: The evolution of quaternion algebra has been discussed in this article , where it is shown how quaternions can be represented as a matrix and how to use matrix multiplication to simplify the complexity of the algebra.
Abstract: This chapter contains some historical background to the invention of quaternions, and covers the evolution of quaternion algebra. I show how quaternion algebra is greatly simplified by treating a quaternion as an ordered pair, and provide examples of addition, subtraction, real, pure and unit quaternions. After defining the complex conjugate, norm, quaternion product, square and inverse, I show how a quaternion is represented by a matrix. The chapter concludes with a summary of the important definitions and several worked examples.

Journal ArticleDOI

[...]

TL;DR: In this article , the basic ideas about counting and number systems, and how they are employed in the context of mathematics for computer graphics are discussed, and a discussion of their application in computer graphics can be found.
Abstract: This chapter revises some basic ideas about counting and number systems, and how they are employed in the context of mathematics for computer graphics. Omit this chapter, if you are familiar with the subject.

Journal ArticleDOI
TL;DR: In this article , a variety of problems encountered in computer graphics and mathematical strategies for their solution are examined and a starting point for improving upon these problems may be found, which may be improved upon.
Abstract: This chapter examines a variety of problems encountered in computer graphics and develops mathematical strategies for their solution. Such strategies may not be the most efficient, however, they will provide the reader with a starting point, which may be improved upon.

Journal ArticleDOI
TL;DR: In this paper , some basic features of trigonometry such as angular measure, trigonometric ratios, inverse ratios, and trigonometrical identities are discussed, with which the reader should be familiar.
Abstract: This chapter covers some basic features of trigonometry such as angular measure, trigonometric ratios, inverse ratios, trigonometric identities and various rules, with which the reader should be familiar.

Journal ArticleDOI
TL;DR: In this paper , the authors show how quaternions are used to rotate vectors about an arbitrary axis, and how octonions can be used to do the rotation as well.
Abstract: In this chapter we show how quaternions are used to rotate vectors about an arbitrary axis. We begin by reviewing some of the history associated with quaternions, and the development of octonions.

Journal ArticleDOI
TL;DR: Matrix algebra as mentioned in this paper is a notation widely used in computer graphics and is used to scale, translate, reflect, shear and rotate 2D shapes and 3D objects, and like determinants, have their background in algebra and offer another way to represent and manipulate equations.
Abstract: This chapter introduces matrix algebra, which is a notation widely used in computer graphics. Matrices are used to scale, translate, reflect, shear and rotate 2D shapes and 3D objects, and like determinants, have their background in algebra and offer another way to represent and manipulate equations. Matrices can be added, subtracted and multiplied together, and even inverted, however, they must give the same result obtained through traditional algebraic techniques.

Journal ArticleDOI
TL;DR: In this article , the authors show how matrices are used to scale, translate, reflect, shear and rotate 2D shapes and 3D objects, without thinking about the underlying algebra.
Abstract: This chapter shows how matrices are used to scale, translate, reflect, shear and rotate 2D shapes and 3D objects. The reader should try to understand the construction of the various matrices and recognise the role of each matrix element. After a little practice it will be possible to define a wide variety of matrices without thinking about the underlying algebra.