What is Picture to People ?

"Picture to People" (P2P) is a huge Computer Graphics project. It was started to create new softwares able to make 2D drawing, 3D rendering, vexel drawing, text effects, photo effects, image filtering and other complex Computer Graphics operations. It has been made from scratch, including its low level Computer Graphics libraries like Maccala. Nowadays, most final features produced for this project are released as free online tools available from its official website. This blog talks about Computer Graphics, mainly concerning Picture to People development.

"Only who makes has true knowledge. Knowledge is control. True power depends on total control. Only who makes from scratch has the real power."

Showing posts with label progressive thickness curves. Show all posts
Showing posts with label progressive thickness curves. Show all posts

Friday, June 21, 2013

More advanced arrow drawing styles and configuration

Since I released my vector based drawing library for the first time and started using it, there was many ways to draw arrows, because it already had very customizable methods to make it. You can even see a screenshot about it at the web page about Maccala's features.

Anyway, the library had some limitations, as for example: just straight arrows could be drawn and only using a chosen but fixed thickness for arrow body.

I have recently created more methods in my class responsible for drawing 2D vector based objects in a canvas, including methods to draw more configurable and generic arrows. Summing up the old and the new features, now arrow drawing tasks can take advantage of these main features:

- ability to draw straight or curved arrows;
- use of arbitrarily progressive arrow body thickness;
- use of highly configurable arrow head shape;
- ability to draw arrow head in both sides if desired;
- use of any RGB color;
- use of configurable high level anti-aliasing.

Below you see some examples of arrows created by using the new features I have developed.


 Subscribe in a reader

Wednesday, June 19, 2013

Drawing curves with progressive thickness

Here I show you one more recent improvement for my vector based rendering library called Maccala.

Now it's possible to create any kind of curve with an arbitrary progressive thickness. I guess it's kind of strange I have never developed this before, but I have never needed something like this until now.

Surprisingly, it was harder to develop than I imagined initially. It was needed to redevelop my algorithm responsible for creating a thick shape based on a Math curve (conceptually a curve has no thickness at all).

In fact, in a generic algorithm, even drawing operations (in this context, "draw" means "render the contours") are tackled as filling jobs. First an assembling algorithm constructs a shape with an arbitrary thickness, so a filling algorithm can render it.

Below you can see a curve drawn with variable thickness. Now it's possible to make something like this so easily as calling a method. Unnecessary to say, the professional anti-aliased rendering is still there.
 Subscribe in a reader