Domain/Software 2007.01.26 00:41
[[ blog 이사 과정에서 정확한 posting날짜가 분실됨. 년도와 분기 정도는 맞지 않을까? ]]
It's very famous issue. That's why using floating point operation is difficult.
Especially, round-off can make up to 0.5f erratum.
In calculation for drawing on pixels, round-off is frequently used - Do not consider blending and anti-aliasing. And even sum of two errata can make 1 pixel erratum. So, we should always keep this in mind when implement pixel-relative-calculation.
Here is example.
Line L passes point P0 and P1.
Drawing two lines those are orthogonal to L, L-symmetric, passes point P2, P3 respectively and length is R.
As you know, there two lines should be parallel.
But, in this case, we should calculate two end points - the results may be float type. To draw this we should make those as an integer value (usually by using round-off).
For each line, up to 0.5f erratum can exist. So, for two lines, up to 1 pixel erratum can be raised. So, when these two lines are drawn on the canvas, they may not be parallel.
|[GNU] Issues of cross-compiling in GNU build system. (0)||2011.04.21|
|[Tips] Cyclic Queue (0)||2010.10.18|
|[SW] Questions to evaluate SW Engineer (0)||2009.04.09|
|[Prog] Using so-called 'context' data structure. (0)||2008.01.10|
|[Prog] Take care of errata when using float/double at all times! (0)||2007.01.26|
|[Spec] DWARF2 (0)||2006.08.30|