• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 1,  comments - 6,  trackbacks - 0
            http://blog.hjenglish.com/fjren/articles/143735.html

            Mathematics for Computer Graphics

            Greg Turk, August 1997

            "What math should I learn in order to study computer graphics?" This is perhaps the most common general question that students ask me about computer graphics. The answer depends on how deeply you wish to go into the field. If you wish to begin to use off-the-shelf graphics programs then the answer is that you probably do not need to know very much math at all. If you wish to take an introductory course in computer graphics, then you should read the first two sections below for my recommendations (algebra, trigonometry and linear algebra). If you want some day to be a researcher in graphics then I believe that you should consider your mathematics education to be an ongoing process throughout your career.

            If you do not particularly care for mathematics, is there still a chance of working in the field? Yes, a few areas within computer graphics are not much concerned with mathematical ideas. You should not give up on graphics just because you are not a math wizard. It is likely, however, that you will have more freedom in choosing research topics if you have a willingness to learn about new mathematical ideas.

            There is no absolute answer to what mathematics is important in computer graphics. Different areas within the field require different mathematical techniques, and your own interests will likely lead you towards some topics and may never touch others. Below are descriptions of a number of areas in mathematics that I believe are useful in computer graphics. Do not feel that you need to be an expert in each of these areas to become a graphics researcher! I deliberately included many areas below to give a fairly broad view of the mathematical ideas used in graphics. Many researchers, however, will never find the need to look at some of the topics that I mention below.

            Finally, although it should be clear from reading this, the opinions given within this document are entirely my own. It is likely that you would get a different list of topics or at least different emphases from other people who work in computer graphics. Now on to the list of topics.

            Algebra and Trigonometry

            High-school level algebra and trigonometry are probably the most important areas to know in order to begin to learn about computer graphics. Just about every day I need to determine one or more unknowns from a simple set of equations. Almost as often I need to perform simple trigonometry such as finding the length of the edge of some geometric figure based on other lengths and angles. Algebra and trigonometry are the subjects that will solve such day-to-day tasks in computer graphics.

            What about the geometry that we learn in high school? It may come as a surprise, but our high school geometry is not very often needed for most tasks in computer graphics. The reason for this is that geometry as it is taught in many schools actually is a course in how to construct mathematical proofs. While proof construction is definitely a valuable intellectual tool, the actual theorems and proofs from your geometry class are not often used in computer graphics. If you go to graduate school in a mathematics related field (including computer graphics) then you may well find yourself proving theorems, but this is not necessary in order to start out in graphics.

            If you have a good understanding of algebra and trigonometry then you are quite prepared to begin reading an introductory book in computer graphics. Most such books contain at least an abbreviated introduction to the next important area of mathematics for computer graphics, namely linear algebra.

            Book recommendation:

            Computer Graphics: Principles and Practice
            James Foley, Andries van Dam, Steven Feiner, John Hughes
            Addison-Wesley
            [a huge book, but still my favorite]

            Linear Algebra

            The ideas of linear algebra are used throughout computer graphics. In fact, any area that concerns itself with numerical representations of geometry often will collect together numbers such as x,y,z positions into mathematical objects called vectors. Vectors and a related mathematical object called a matrix are used all the time in graphics. The language of vectors and matrices is an elegant way to describe (among other things) the way in which an object may be rotated, shifted (translated), or made larger or smaller (scaled). Linear algebra is usually offered either in an advanced high school class or in college. Anyone who wishes to work in computer graphics should eventually get a solid grounding in this subject. As I mentioned before, however, many textbooks in graphics give a reasonable introduction to this topic-- often enough to get you through a first course in graphics.

            Book recommendation:

            Linear Algebra and Its Applications
            Gilbert Strang
            Academic Press

            Calculus

            Knowledge of calculus is an important part of advanced computer graphics. If you plan to do research in graphics, I strongly recommend getting a basic grounding in calculus. This is true not just because it is a collection of tools that are often used in the field, but also because many researchers describe their problems and solutions in the language of calculus. In addition, a number of important mathematical areas require calculus as a prerequisite. This is the one area in mathematics in addition to basic algebra that can open the most doors for you in computer graphics in terms of your future mathematical understanding.

            Calculus is the last of the topics that I will mention that is often introduced in high school. The topics to follow are almost always found in college courses.

            Differential Geometry

            This area of mathematics studies equations that govern the geometry of smooth curves and surfaces. If you are trying to figure out what direction is perpendicular to (points directly away from) a smooth surface (the "normal vector") then you are using differential geometry. Making a vehicle travel at a particular speed along a curved path is also differential geometry. There is a common technique in graphics for making a smooth surface appear rough known as "bump mapping", and this method draws on differential geometry. If you plan to do work with curves and surfaces for shape creation (called "modeling" in the graphics field) then you should learn at least the basics of differential geometry. Multivariable calculus is the prerequisite for this area.

            Book recommendation:

            Elementary Differential Geometry
            Barrett O'Neill
            Academic Press

            Numerical Methods

            Almost every time we represent and manipulate numbers in the computer we use approximate instead of exact values, and because of this there is always the possibility for errors to creep in. Moreover, there are often many different approaches to solving a given numerical problem, and some methods will be faster, more accurate or require less memory than others. The study of these issues goes by a number of names including "numerical methods" and "scientific computing". This is a very broad area, and several of the other areas of mathematics that I will mention can be considered sub-areas underneath this umbrella. These sub-areas include sampling theory, matrix equations, numerical solution of differential equations, and optimization.

            Book recommendation:

            Numerical Recipes in C: The Art of Scientific Computing
            William Press, Saul Teukolsky, William Vetterling and Brian Flannery
            Cambridge University Press
            [this is a very valuable reference but is not normally used as a textbook]

            Sampling Theory and Signal Processing

            Over and over in computer graphics we represent some object such as an image or a surface as a collection of numbers that are stored in a regular two-dimensional array. Whenever we do this we are creating a "sampled" representation of the object. A good understanding of sampling theory is important if we are to use and to control the quality of such representations. A common issue in sampling as it applies to graphics is the jagged edges that can appear on the silhouette of an object when it is drawn on a computer screen. The appearance of such jagged edges (one form of a phenomenon known as "aliasing") is very distracting, and this can be minimized by using well-understood techniques from sampling theory. At the heart of sampling theory are concepts such as convolution, the Fourier transform, and spatial and frequency representations of functions. These ideas are also important in the fields of image and audio processing.

            Book recommendation:

            The Fourier Transform and Its Applications
            Ronald N. Bracewell
            McGraw Hill

            Matrix Equations

            There are a wide variety of problems that come up in computer graphics that require the numerical solution of matrix equations. Some problems that need matrix techniques include: finding the best position and orientation to match one object to another (one example of a "least squares" problem), creating a surface that drapes over a given collection of points with minimal creases (thin-plate splines), and simulation of materials such as water or cloth. Matrix formulations of problems come up often enough in graphics that I rank this area very high on my list of topics to know.

            Book recommendation:

            Matrix Computations
            Gene Golub and Charles Van Loan
            Johns Hopkins University Press

            Physics

            Physics is obviously a field of study in its own right and not a sub-category of mathematics. Nevertheless, physics and mathematics are closely tied to one another in several areas within computer graphics. Examples of graphics problems that involve physics include how light interacts with the surfaces of objects, how light bounces around in a complex environment, the way people and animals move, and the motion of water and wind. Knowledge of physics is important for simulating all of these phenomena. This is closely tied to solving differential equations, which I shall discuss next.

            Numerical Solutions of Differential Equations

            It is my belief that techniques for solving differential equations are extremely important to computer graphics. As we just discussed, much of computer graphics is devoted to simulating physical systems from the real world. How waves form in water and how an animal walks across the ground are two examples of physical simulation. Simulation of physical systems very often leads to numerical solutions of differential equations. Note that this is actually very different than symbolic solutions to differential equations. Symbolic solutions are exact answers, and usually can be found only for extremely simple sets of equations. Sometimes a college course called "Differential Equations" will only examine symbolic solutions, and this will not help much for most computer graphics problems.

            In physical simulation, one breaks the world down into little pieces that are represented as large vectors. Then the relations between the parts of the world are captured in the entries in matrices. Solving the matrix equations that arise is not usually done exactly, but is instead performed by carrying out a long series of calculations that yields an approximate solution as a list of numbers. This is what numerical solutions of differential equations are about. Note that the solution of matrix equations is an intimate part of numerical solutions to differential equations.

            Optimization

            Quite often in computer graphics we are looking for a description of an object or a collection of objects that satisfies some desired goal. Examples include looking for the positions of lights that give a certain "feeling" to how a room is lit, figuring out how an animated character can move its limbs to carry out a particular action, and positioning shapes and text on a page so that the result does not look cluttered. Each of these examples can be stated as an optimization problem. Ten years ago there was little in the graphics literature that made use of optimization techniques, but the field is using optimization more and more in recent work. I think that optimization will continue to play an increasingly important role in computer graphics.

            Probability and Statistics

            There are a number of areas within computer graphics that make use of probability and/or statistics. Certainly when researchers carry out studies using human subject, they require statistical methods in order to perform the analysis of the data. Graphics related areas that often make use of human subjects include Virtual Reality and Human-Computer Interaction (HCI). In addition, many computer descriptions of the real world involve using various probabilities that a given action will occur. The probability that a tree limb will branch during growth or that a synthetic animal will decide to walk in a particular direction are two examples of this. Finally, some techniques for solving difficult equations make use of random numbers to estimate their solutions. An important example of this is a class of techniques known as Monte Carlo methods that are often used to determine how light propagates in an environment. These are just a few of the ways that probability and statistics are used in computer graphics.

            Computational Geometry

            Computational geometry is the study of efficient ways to represent and manipulate geometry within the computer. Typical problems include testing whether two objects collide, deciding how to break up a polygon into triangles, and finding the nearest point in a group to a given location. This area is a blend of algorithms, data structures and mathematics. Researchers in graphics who work on creating shapes (modeling) draw heavily upon this area.

            Book recommendations:

            Computational Geometry in C
            Joseph O'Rourke
            Cambridge University Press
            [undergraduate text]
            Computational Geometry: An Introduction
            Franco Preparata and Michael Shamos
            Springer-Verlag
            [the classic text, somewhat dated]

            Concluding Words: Applied and Pure Mathematics

            One common thread to many of the mathematical topics that are associate with graphics is that they are from the applied side instead of the theoretical side of mathematics. This should not come as a surprise. Many of the problems in computer graphics are closely tied to problems that physicists and engineers have studied, and the mathematical tools of the physicist and of the engineer are overwhelmingly the tools that graphics researchers use. Most of the topics that make up theoretical ("pure") mathematics are seldom put to use in computer graphics. This should not be taken as an absolute truth, however. We should pay attention to examples from other fields: molecular biology is now drawing upon knot theory for the study of DNA dynamics, and subatomic physics makes use of abstract group theory. Who can tell when a "pure" mathematics topic will be put to use in computer graphics?

            There are a few areas of mathematics that seem as though they ought to be important and yet never really play a large part in computer graphics. Perhaps the most interesting of these areas is topology. The usual one-sentence description of topology is the study of why a doughnut and a coffee cup are the same. The answer is that they are both surfaces with one hole. Here we are talking about ideas from topology. Aren't surfaces a big part of computer graphics? Yes, but it turns out that most of the ideas in topology that are useful to graphics can be learned in a first course in differential geometry. Differential geometry studies the *shapes* of surfaces, whereas topology studies things such as which parts of a surface are next to which other parts. I have seen very little topology that is put to use in graphics, and I believe that this is because much of topology is concerned with rather abstract sets, and that much of topology is far removed from the concepts in three dimensional Euclidean space that is so central to most of graphics. There are times when the formalism of topology (the symbolic notation) is a convenient way to express ideas in graphics, but the actual tools from abstract topology so seldom play a role in graphics. Study this beautiful subject for its own sake, but don't expect an immediate payoff for graphics!

            I have been asked a few times whether either abstract algebra (group theory, rings, etc.) or number theory play a role in computer graphics. Not much that I have seen. These subjects, like topology, are areas that are full of beautiful ideas. Unfortunately these ideas seldom find their way into computer graphics.

            Mathematics for Computer Graphics
            數(shù)學(xué)在計(jì)算機(jī)圖形學(xué)中的應(yīng)用
            Greg Turk, August 1997
             “學(xué)習(xí)計(jì)算機(jī)圖形學(xué)需要多少的數(shù)學(xué)?”這是初學(xué)者最經(jīng)常問(wèn)的問(wèn)題。答案取決于你想在計(jì)算機(jī)圖形學(xué)領(lǐng)域鉆研多深。如果僅僅使用周圍唾手可得的圖形軟件,你不需要知道多少數(shù)學(xué)知識(shí)。如果想學(xué)習(xí)計(jì)算機(jī)圖形學(xué)的入門知識(shí),我建議你讀一讀下面所寫的前兩章(代數(shù),三角學(xué)和線性代數(shù))。如果想成為一名圖形學(xué)的研究者,那么對(duì)數(shù)學(xué)的學(xué)習(xí)將是活到老,學(xué)到老。
            如果你并不特別喜歡數(shù)學(xué),是否仍有在計(jì)算機(jī)圖形學(xué)領(lǐng)域工作的機(jī)會(huì)?是的,計(jì)算機(jī)圖形學(xué)的確有一些方面不需要考慮太多的數(shù)學(xué)問(wèn)題。你不應(yīng)該因?yàn)閿?shù)學(xué)成績(jī)不好而放棄它。不過(guò),如果學(xué)習(xí)了更多的數(shù)學(xué)知識(shí),似乎你將在研究課題上有更多的選擇余地。
            對(duì)于在計(jì)算機(jī)圖形學(xué)中哪些數(shù)學(xué)才是重要的還沒有明確的答案。這領(lǐng)域里不同的方面要求掌握不同的數(shù)學(xué)知識(shí),也許興趣將會(huì)決定了你的方向。以下介紹我認(rèn)為對(duì)于計(jì)算機(jī)圖形學(xué)有用的數(shù)學(xué)。別以為想成為一名圖形學(xué)的研究者就必須精通各門數(shù)學(xué)!為了對(duì)用于圖形學(xué)的數(shù)學(xué)有一個(gè)全面的看法,我特地列出了很多方面。但是許多研究者從不需要考慮下面提到的數(shù)學(xué)。
            最后,雖然讀了這篇文章后,你應(yīng)該會(huì)對(duì)數(shù)學(xué)在計(jì)算機(jī)圖形學(xué)中的應(yīng)用有所了解,不過(guò)這些觀點(diǎn)完全是我自己的。也許你應(yīng)該閱讀更多的此類文章,或者至少?gòu)钠渌麖氖掠?jì)算機(jī)圖形學(xué)工作的人那里了解不同的學(xué)習(xí)重點(diǎn)?,F(xiàn)在開始切入正題。

            代數(shù)和三角學(xué)
            對(duì)于計(jì)算機(jī)圖形學(xué)的初學(xué)者來(lái)說(shuō),高中的代數(shù)和三角學(xué)可能是最重要的數(shù)學(xué)。日復(fù)一日,我從簡(jiǎn)單的方程解出一個(gè)或更多的根。我時(shí)常還要解決類似求一些幾何圖形邊長(zhǎng)的簡(jiǎn)單三角學(xué)問(wèn)題。代數(shù)和三角學(xué)是計(jì)算機(jī)圖形學(xué)的最基礎(chǔ)的知識(shí)。
            那么高中的幾何學(xué)怎么樣呢?可能讓人驚訝,不過(guò)在多數(shù)計(jì)算機(jī)圖形學(xué)里,高中的幾何學(xué)并不經(jīng)常被用到。原因是許多學(xué)校教的幾何學(xué)實(shí)際上是如何建立數(shù)學(xué)證明的課程。雖然證明題對(duì)提高智力顯然是有效的,但對(duì)于計(jì)算機(jī)圖形學(xué)來(lái)說(shuō),那些與幾何課有關(guān)的定理和證明并不常被用到。如果你畢業(yè)于數(shù)學(xué)相關(guān)領(lǐng)域(包括計(jì)算機(jī)圖形學(xué)),就會(huì)發(fā)現(xiàn)雖然你在證明定理,不過(guò)這對(duì)開始學(xué)習(xí)圖形學(xué)不是必要的。
            如果精通代數(shù)和三角學(xué),就可以開始讀一本計(jì)算機(jī)圖形學(xué)的入門書了。下一個(gè)重要的用于計(jì)算機(jī)圖形學(xué)的數(shù)學(xué)——線性代數(shù),多數(shù)此類書籍至少包含了一個(gè)對(duì)線性代數(shù)的簡(jiǎn)要介紹。
            推薦的參考書: 
            Computer Graphics: Principles and Practice 
            James Foley, Andries van Dam, Steven Feiner, John Hughes 
            Addison-Wesley 
            [雖然厚重,可是我很喜歡]

            線性代數(shù)
            線性代數(shù)的思想貫穿于計(jì)算機(jī)圖形學(xué)。事實(shí)上,只要牽涉到幾何數(shù)值表示法,就常常抽象出例如x,y,z坐標(biāo)之類的數(shù)值,我們稱之為矢量。圖形學(xué)自始至終離不開矢量和矩陣。用矢量和矩陣來(lái)描述旋轉(zhuǎn),平移,或者縮放是再好不過(guò)了。高中和大學(xué)都有線性代數(shù)的課程。只要想在計(jì)算機(jī)圖形學(xué)領(lǐng)域工作,就應(yīng)該打下堅(jiān)實(shí)的線性代數(shù)基礎(chǔ)。我剛才提到,許多圖形學(xué)的書都有關(guān)于線性代數(shù)的簡(jiǎn)要介紹——足夠教給你圖形學(xué)的第一門課。
            推薦的參考書: 
            Linear Algebra and Its Applications 
            Gilbert Strang 
            Academic Press

            微積分學(xué) 
            微積分學(xué)是高級(jí)計(jì)算機(jī)圖形學(xué)的重要成分。如果打算研究圖形學(xué),我強(qiáng)烈建議你應(yīng)該對(duì)微積分學(xué)有初步認(rèn)識(shí)。理由不僅僅是微積分學(xué)是一種很有用的工具,還有許多研究者用微積分學(xué)的術(shù)語(yǔ)來(lái)描述他們的問(wèn)題和解決辦法。另外,在許多重要的數(shù)學(xué)領(lǐng)域,微積分學(xué)被作為進(jìn)一步學(xué)習(xí)的前提。學(xué)習(xí)了基本代數(shù)之后,微積分學(xué)又是一種能為你打開多數(shù)計(jì)算機(jī)圖形學(xué)與后繼的數(shù)學(xué)學(xué)習(xí)之門的課程。
            微積分學(xué)是我介紹的最后一個(gè)中學(xué)課程,以下提及的科目幾乎全部是大學(xué)的課程。

            微分幾何學(xué)
            微分幾何學(xué)研究支配光滑曲線,曲面的方程組。如果你要計(jì)算出經(jīng)過(guò)某個(gè)遠(yuǎn)離曲面的點(diǎn)并垂直于曲面的矢量(法向矢量)就會(huì)用到微分幾何學(xué)。讓一輛汽車以特定速度在曲線上行駛也牽涉到微分幾何學(xué)。有一種通用的繪制光滑曲面的圖形學(xué)技術(shù),叫做“凹凸帖圖”,這個(gè)技術(shù)用到了微分幾何學(xué)。如果要著手于用曲線和曲面來(lái)創(chuàng)造形體(在圖形學(xué)里稱之為建模)你至少應(yīng)該學(xué)習(xí)微分幾何學(xué)的基礎(chǔ)。
            推薦的參考書: 
            Elementary Differential Geometry 
            Barrett O'Neill 
            Academic Press 

            數(shù)值方法
            幾乎任何時(shí)候,我們?cè)谟?jì)算機(jī)里用近似值代替精確值來(lái)表示和操作數(shù)值,所以計(jì)算過(guò)程總是會(huì)有誤差。而且對(duì)于給定的數(shù)值問(wèn)題,常常有多種解決的方法,一些方法會(huì)更塊,更精確或者對(duì)內(nèi)存的需求更少。數(shù)值方法研究的對(duì)象包括“計(jì)算方法”和“科學(xué)計(jì)算”等等。這是一個(gè)很廣闊的領(lǐng)域,而且我將提及的其他幾門數(shù)學(xué)其實(shí)是數(shù)值方法的一些分支。這些分支包括抽樣法理論,矩陣方程組,數(shù)值微分方程組和最優(yōu)化。
            推薦的參考書: 
            Numerical Recipes in C: The Art of Scientific Computing 
            William Press, Saul Teukolsky, William Vetterling and Brian Flannery 
            Cambridge University Press 
            [這本參考書很有價(jià)值可是很少作為教材使用]

            抽樣法理論和信號(hào)處理
            在計(jì)算機(jī)圖形學(xué)里我們反復(fù)使用儲(chǔ)存在正規(guī)二維數(shù)組里的數(shù)字集合來(lái)表示一些對(duì)象,例如圖片和曲面。這時(shí),我們就要用抽樣法來(lái)表示這些對(duì)象。如果要控制這些對(duì)象的品質(zhì),抽樣法理論就變得尤為重要。抽樣法應(yīng)用于圖形學(xué)的常見例子是當(dāng)物體被繪制在屏幕上時(shí),它的輪廓呈現(xiàn)鋸齒狀的邊緣。這鋸齒狀的邊緣(被認(rèn)為是“混淆”現(xiàn)象)是非常讓人分散注意力的,用抽樣法中著名的技術(shù)例如回旋,傅立葉變換,空間和頻率的函數(shù)表示就能把這個(gè)現(xiàn)象減少到最小。這些思想在圖像和音頻處理領(lǐng)域是同樣重要的。
            推薦的參考書: 
            The Fourier Transform and Its Applications 
            Ronald N. Bracewell 
            McGraw Hill

            矩陣方程組
            計(jì)算機(jī)圖形學(xué)的許多問(wèn)題要用到矩陣方程組的數(shù)值解法。一些涉及矩陣的問(wèn)題包括:找出最好的位置與方向以使對(duì)象們互相匹配(最小二乘法),創(chuàng)建一個(gè)覆蓋所給點(diǎn)集的曲面,并使皺折程度最小(薄板樣條算法),還有材質(zhì)模擬,例如水和衣服等。在圖形學(xué)里矩陣表述相當(dāng)流行,因此在用于圖形學(xué)的數(shù)學(xué)中我對(duì)矩陣方程組的評(píng)價(jià)是很高的。
            推薦的參考書: 
            Matrix Computations 
            Gene Golub and Charles Van Loan 
            Johns Hopkins University Press

            物理學(xué)
            物理學(xué)顯然不是數(shù)學(xué)的分支,它是自成一家的學(xué)科。但是在計(jì)算機(jī)圖形學(xué)的某些領(lǐng)域,物理學(xué)和數(shù)學(xué)是緊密聯(lián)系的。在圖形學(xué)里,牽涉物理學(xué)的問(wèn)題包括光與物體的表面是怎樣互相影響的,人與動(dòng)物的移動(dòng)方式,水與空氣的流動(dòng)。為了模擬這些自然現(xiàn)象,物理學(xué)的知識(shí)是必不可少的。這和解微分方程緊密聯(lián)系,我將會(huì)在下一節(jié)提到微分方程。

            微分方程的數(shù)值解法
            我相信對(duì)于計(jì)算機(jī)圖形學(xué)來(lái)說(shuō),解微分方程的技巧是非常重要的。像我們剛才討論的,計(jì)算機(jī)圖形學(xué)致力于模擬源于真實(shí)世界的物理系統(tǒng)。波浪是怎樣在水里形成的,動(dòng)物是怎樣在地面上行走的,這就是兩個(gè)模擬物理系統(tǒng)的例子。模擬物理系統(tǒng)的問(wèn)題經(jīng)常就是怎樣解微分方程的數(shù)值解。請(qǐng)注意,微分方程的數(shù)值解法與微分方程的符號(hào)解法是有很大差異的。符號(hào)解法求出沒有誤差的解,而且時(shí)常只用于一些非常簡(jiǎn)單的方程。有時(shí)大學(xué)課程里的“微分方程”只教符號(hào)解法,不過(guò)這并不會(huì)對(duì)多數(shù)計(jì)算機(jī)圖形學(xué)的問(wèn)題有幫助。
            在對(duì)物理系統(tǒng)的模擬中,我們把世界細(xì)分為許多表示成矢量的小元素。然后這些元素之間的關(guān)系就可以用矩陣來(lái)描述。雖然要處理的矩陣方程組往往沒有很精確的解,但是取而代之的是執(zhí)行了一系列的計(jì)算,這些計(jì)算產(chǎn)生一個(gè)表示成數(shù)列的近似解。這就是微分方程的數(shù)值解法。請(qǐng)注意,矩陣方程的解法與微分方程數(shù)值解法的關(guān)系是很密切的。 

            最優(yōu)化
            在計(jì)算機(jī)圖形學(xué)里,我們常常為了期望的目標(biāo)尋求一種合適的描述對(duì)象或者對(duì)象集的方法。例如安排燈的位置使得房間的照明看起來(lái)有種特殊的“感覺”,動(dòng)畫里的人物要怎樣活動(dòng)四肢才能實(shí)現(xiàn)一個(gè)特殊的動(dòng)作,怎樣排版才不會(huì)使頁(yè)面混亂。以上這些例子可以歸結(jié)為最優(yōu)化問(wèn)題。十年前的計(jì)算機(jī)圖形學(xué)幾乎沒有最優(yōu)化技術(shù)的文獻(xiàn),不過(guò)最近這個(gè)領(lǐng)域越來(lái)越重視最優(yōu)化理論。我認(rèn)為在計(jì)算機(jī)圖形學(xué)里,最優(yōu)化的重要性將會(huì)日益增加。

            概率論與統(tǒng)計(jì)學(xué)
            計(jì)算機(jī)圖形學(xué)的許多領(lǐng)域都要用到概率論與統(tǒng)計(jì)學(xué)。當(dāng)研究者涉足人類學(xué)科時(shí),他們當(dāng)然需要統(tǒng)計(jì)學(xué)來(lái)分析數(shù)據(jù)。圖形學(xué)相關(guān)領(lǐng)域涉及人類學(xué)科,例如虛擬現(xiàn)實(shí)和人機(jī)交互(HCI)。另外,許多用計(jì)算機(jī)描繪真實(shí)世界的問(wèn)題牽涉到各種未知事件的概率。兩個(gè)例子:一棵成長(zhǎng)期的樹,它的樹枝分杈的概率;虛擬的動(dòng)物如何決定它的行走路線。最后,一些解高難度方程組的技巧用了隨機(jī)數(shù)來(lái)估計(jì)方程組的解。重要的例子:蒙特卡羅方法經(jīng)常用于光如何傳播的問(wèn)題。以上僅是一部分在計(jì)算機(jī)圖形學(xué)里使用概率論和統(tǒng)計(jì)學(xué)的方法。

            計(jì)算幾何學(xué)
            計(jì)算幾何學(xué)研究如何用計(jì)算機(jī)高效地表示與操作幾何體。典型問(wèn)題如,碰撞檢測(cè),把多邊形分解為三角形,找出最靠近某個(gè)位置的點(diǎn),這個(gè)學(xué)科包括了運(yùn)算法則,數(shù)據(jù)結(jié)構(gòu)和數(shù)學(xué)。圖形學(xué)的研究者,只要涉足創(chuàng)建形體(建模),就要大量用到計(jì)算幾何學(xué)。
            推薦的參考書: 
            Computational Geometry in C 
            Joseph O'Rourke 
            Cambridge University Press 
            [大學(xué)教材] 
            Computational Geometry: An Introduction 
            Franco Preparata and Michael Shamos 
            Springer-Verlag 
            [很經(jīng)典,不過(guò)有點(diǎn)舊了]

            總結(jié):數(shù)學(xué)應(yīng)用和數(shù)學(xué)理論
            對(duì)于圖形學(xué)來(lái)說(shuō),以上提到的許多數(shù)學(xué)學(xué)科都有個(gè)共同點(diǎn):比起這些數(shù)學(xué)的理論價(jià)值,我們更傾向于發(fā)掘它們的應(yīng)用價(jià)值。不要驚訝。圖形學(xué)的許多問(wèn)題和物理學(xué)者與工程師們研究的問(wèn)題是緊密聯(lián)系的,并且物理學(xué)者與工程師們使用的數(shù)學(xué)工具正是圖形學(xué)研究者們使用的。多數(shù)研究純數(shù)學(xué)理論的學(xué)科從不被用于計(jì)算機(jī)圖形學(xué)。不過(guò)這不是絕對(duì)的。請(qǐng)注意這些特例:分子生物學(xué)正利用節(jié)理論來(lái)研究DNA分子動(dòng)力學(xué),亞原子物理學(xué)用到了抽象群論。也許有一天,純數(shù)學(xué)理論也能推動(dòng)計(jì)算機(jī)圖形學(xué)的發(fā)展,誰(shuí)知道呢?
            有些看來(lái)重要的數(shù)學(xué)實(shí)際上在計(jì)算機(jī)圖形學(xué)里不常被用到??赡芡?fù)鋵W(xué)是此類數(shù)學(xué)中最有意思的。用一句話來(lái)形容拓?fù)鋵W(xué),它研究油炸圈餅與咖啡杯為什么在本質(zhì)上是相同的。答案是他們都是只有一個(gè)洞的曲面。我們來(lái)討論一下拓?fù)鋵W(xué)的思想。雖然曲面是計(jì)算機(jī)圖形學(xué)的重要成分,不過(guò)微分幾何學(xué)的課程已經(jīng)涵蓋了多數(shù)對(duì)圖形學(xué)有用的拓?fù)鋵W(xué)知識(shí)。微分幾何學(xué)研究曲面的造型,可是拓?fù)鋵W(xué)研究曲面的相鄰關(guān)系。我覺得拓?fù)鋵W(xué)對(duì)于圖形學(xué)來(lái)說(shuō)幾乎沒用,這是由于拓?fù)鋵W(xué)關(guān)心抽象的事物,而且拓?fù)鋵W(xué)遠(yuǎn)離了多數(shù)圖形學(xué)的核心——三維歐氏空間的概念。對(duì)于圖形學(xué)來(lái)說(shuō),拓?fù)鋵W(xué)的形式(符號(hào)表示法)是表達(dá)思想的簡(jiǎn)便方法,不過(guò)圖形學(xué)很少用到抽象拓?fù)鋵W(xué)的實(shí)際工具。對(duì)圖形學(xué)來(lái)說(shuō),拓?fù)鋵W(xué)像一個(gè)好看的花瓶,不過(guò)別指望它能立即帶給你回報(bào)。
            有人曾經(jīng)這么問(wèn)我,計(jì)算機(jī)圖形學(xué)是否用到了抽象代數(shù)(群論,環(huán),等等….)或者數(shù)論。我沒怎么遇到過(guò)。和拓?fù)鋵W(xué)一樣,這些學(xué)科有很多美好的思想??墒呛懿恍?,這些思想很少用于計(jì)算機(jī)圖形學(xué)。
            --The End--

            [小鵬翻譯 email: rggg_clp@163.com]



            posted on 2008-08-31 04:22 bneliao 閱讀(226) 評(píng)論(0)  編輯 收藏 引用 所屬分類: graph/game
            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿

            隨筆檔案

            文章分類

            文章檔案

            BLOG連接

            D3D

            GAME

            搜索

            •  

            積分與排名

            • 積分 - 10978
            • 排名 - 1129

            最新評(píng)論

            久久亚洲精品国产精品| 久久久99精品成人片中文字幕 | 久久一区二区三区免费| 亚洲国产日韩综合久久精品| 伊人久久综合精品无码AV专区| 久久亚洲国产午夜精品理论片 | 久久精品麻豆日日躁夜夜躁| 国产日韩久久免费影院| 亚洲∧v久久久无码精品| 久久亚洲国产欧洲精品一| 久久亚洲中文字幕精品一区| 国产成人香蕉久久久久| 欧美牲交A欧牲交aⅴ久久| 亚洲伊人久久大香线蕉苏妲己| 中文字幕无码精品亚洲资源网久久 | 久久精品国产72国产精福利| 日韩久久久久久中文人妻 | 无码任你躁久久久久久久| 激情伊人五月天久久综合| 欧美日韩精品久久免费| 久久99精品久久久久久野外| 国产V亚洲V天堂无码久久久| 亚洲va久久久噜噜噜久久男同| 久久久精品国产亚洲成人满18免费网站 | 少妇熟女久久综合网色欲| 国内精品久久久久久久久电影网| 久久精品国产亚洲AV无码偷窥 | 久久综合久久综合久久综合| 久久夜色精品国产欧美乱| 久久WWW免费人成一看片| 一本一道久久a久久精品综合 | 国产三级久久久精品麻豆三级| 人妻无码精品久久亚瑟影视| 久久久精品波多野结衣| 久久国产午夜精品一区二区三区| 大伊人青草狠狠久久| 丰满少妇高潮惨叫久久久| 丁香五月网久久综合| 亚洲综合精品香蕉久久网97| 亚洲成色999久久网站| 国产精品热久久毛片|