2
0
mirror of https://github.com/boostorg/gil.git synced 2026-01-19 16:22:14 +00:00

4 Commits

Author SHA1 Message Date
Marco Langer
d5492e1ace feat: Added apply_rasterizer() free function (#695)
This PR implements the gil::apply_rasterizer()
free function mentioned in #680.
2022-06-27 09:54:58 +02:00
Marco Langer
adddbec896 refactor: Ellipse rasterizer according to the comment at (#692)
https://github.com/boostorg/gil/pull/585#issuecomment-1144412220
2022-06-26 13:33:53 +02:00
Nicolas Herry
0b24f4cdbf Ensure all examples build without error (#628)
* Added all missing examples, dodgy Jamfile still
* Fixed attributions and Jamfile indent
* One readme per example: synopsis, build and exec reqs
* Cleaned up example/convolve2d.cpp
* Added example target to root Jamfile

Closes #436
2021-11-10 18:21:02 +01:00
Olzhas Zhumabek
a37f12b3e9 Add implementation of Hough transforms (#512)
Support construction from step_size, step_count, and a function for angles

Implement angle and radious version of Hough line transform and adds a demo
with static line that goes over secondary diagonal.

Implement incremental line raster
Implement naive line raster
Implement Bresenham line raster
Leave only Bresenham line rasterization

Naive and incremental algorithms were removed because they are supposed
to produce the same results anyway.
The reason for diverging results is inaccuracy of floating point numbers

Add circle rendering through trigonometric functions, using
arctan(1 / (radius + 1)) as minimal angle step.

Trigonometric circle rasterizer does not follow circle equation, but still
produces very round shapes.
A new testing methodology needs to be devised for this rasterizer.

The new version accepts start and points inclusively and tries to use
canonic representation during computations.

Slope decided to be is (diff_y + 1) / (diff_x + 1).
2021-01-25 23:31:39 +01:00