当前位置:网站首页>Four commonly used techniques for anti aliasing
Four commonly used techniques for anti aliasing
2022-07-06 00:51:00 【Hydrion-Qlz】
This paper is compiled from the school of software, Xi'an Jiaotong University Mr. Zhu Jihua Computer graphics courseware , Do not reprint
List of articles
When displaying graphics on raster display , Line segments or graphic boundaries are more or less jagged
The graphic signal is continuous , In raster display system , The graphics are represented by discrete pixels
Anamorphosis : The distortion caused by continuous quantity is represented by discrete quantity .
Stepped boundary ;
Distortion of graphic details ;
The narrow figure is missing ( Left ): In the animation sequence , Produce flicker ( Right ).
Anti aliasing
In the process of graphic display , A method or technique for reducing or eliminating aliasing
Several methods of anti aliasing :
- Methods to improve resolution ;
- Unweighted area sampling ;
- Weighted area sampling ;
- Halftone technology .
Improve resolution
Set the display resolution ( level 、 vertical ) Double
The frame buffer capacity is increased to the original 4 times , Scanning and converting graphics of the same size takes 4 Times as long
evaluation : Simple method , But the price is very high , It's not economical
Area sampling
- The contribution of a straight line segment to the brightness of a pixel :
- It is proportional to the area of the area where the two intersect ;
- It is inversely proportional to the distance between the pixel center point and the straight line segment .
- When a line segment does not intersect a pixel , It has no effect on the brightness of the pixel ;
- The intersection area of the same area contributes the same to the brightness of the pixel , It has nothing to do with the position of the intersection area in the pixel .
Unweighted area sampling
Suppose the slope of a straight line segment is m(0≤m≤1), And the drawn line is a pixel unit , Then there are five situations when the straight line segment intersects with the pixel .
Area calculation :
- situation (1)(5) The shadow area is : D 2 / 2 m D^2/2m D2/2m;
- situation (2)(4) The shadow area is : D − m / 2 D-m/2 D−m/2;
- situation (3) The shadow area is : 1 − [ ( 1 − D ) 2 + E 2 ] / 2 m , E = D + m − s q r t ( 1 + m 2 ) 1-[(1-D)^2+E^2]/2m,E=D+m-sqrt(1+m^2) 1−[(1−D)2+E2]/2m,E=D+m−sqrt(1+m2).
The actual gray value displayed by the pixel = Area obtained (0-1 between )* The maximum gray value of this pixel
In order to simplify the calculation, we can use discrete Methods
- First, divide the screen pixels into n Sub pixels ;
- Then calculate the number of sub pixels whose center point falls in the straight line segment k;
- Setting the brightness of the pixel on the screen as the approximate value of the area of the intersecting area can k/n.
Weighted area sampling
thought : The second step of improving the unweighted region sampling method 3 Article nature , The contribution of object pixel brightness in the intersection region depends on the distance between the region and the pixel center
Discrete calculation method can be adopted
- Divide pixels into n Sub pixels of equal area , Calculate the contribution of each sub-pixel to the original pixel , And save it in a two-dimensional weighting table ;
- Find all sub pixels whose centers fall in the straight line segment ;
- Calculate the sum of the contributions of all these sub pixels to the brightness of the original pixel ;
- This value is multiplied by the maximum gray value of the pixel as the display gray value of the pixel .
Yes n=9 The situation of :
Yes n=25 The situation of :
Example
Halftone technology
For a given resolution , The multi-level gray level is obtained by combining several pixels into a unit ;
example : In a display, four pixels form a unit , Can produce 5 Light intensity .
evaluation
- For a two-level gray-scale display, the number of gray levels that may be formed is equal to the number of pixels in the unit plus 1;
- If you have any m Grey level , n × n n\times n n×n Pixels form a unit , Then the number of gray levels is n × n × ( m − 1 ) + 1 n\times n\times (m-1)+1 n×n×(m−1)+1;
- The larger the unit , The higher the gray level ;
- It is at the expense of spatial resolution .
• example : Gray level =4, Each unit =2*2
边栏推荐
- 面试必刷算法TOP101之回溯篇 TOP34
- [Online gadgets] a collection of online gadgets that will be used in the development process
- [groovy] JSON serialization (convert class objects to JSON strings | convert using jsonbuilder | convert using jsonoutput | format JSON strings for output)
- Data analysis thinking analysis methods and business knowledge - analysis methods (III)
- After 95, the CV engineer posted the payroll and made up this. It's really fragrant
- 看抖音直播Beyond演唱会有感
- Promise
- 小程序容器可以发挥的价值
- [groovy] XML serialization (use markupbuilder to generate XML data | create sub tags under tag closures | use markupbuilderhelper to add XML comments)
- After Luke zettlemoyer, head of meta AI Seattle research | trillion parameters, will the large model continue to grow?
猜你喜欢
随机推荐
Spark AQE
面试必刷算法TOP101之回溯篇 TOP34
Logstash clear sincedb_ Path upload records and retransmit log data
[groovy] compile time metaprogramming (compile time method injection | method injection using buildfromspec, buildfromstring, buildfromcode)
Lone brave man
Hundreds of lines of code to implement a JSON parser
golang mqtt/stomp/nats/amqp
CTF daily question day44 rot
BiShe - College Student Association Management System Based on SSM
Interview must brush algorithm top101 backtracking article top34
Basic introduction and source code analysis of webrtc threads
STM32按键消抖——入门状态机思维
小程序容器可以发挥的价值
How to use the flutter framework to develop and run small programs
esxi的安装和使用
golang mqtt/stomp/nats/amqp
After 95, the CV engineer posted the payroll and made up this. It's really fragrant
Arduino六足机器人
cf:D. Insert a Progression【关于数组中的插入 + 绝对值的性质 + 贪心一头一尾最值】
【线上小工具】开发过程中会用到的线上小工具合集