There are no "vector" drawings in Lazarus. In the end, everything that you draw is done pixel by pixel.
The difference between "vector" and "bitmap" drawings is only relevant for the way the drawing is stored. In a "vector" file (svg, wmf, PostScript) it consists of drawing commands, e.g. "draw line from (10, 10) to (100, 120)", in a "bitmap" file (bmp, png, jpeg, gif...) the image is essentially a 2D-array of colored pixels. As a consequence, a "vector" drawing can scaled without loss in quality, while a "bitmap" drawing can be scaled only with quality loss because missing pixels must be interpolated, or overlapping pixels must be combined.
----------------
Returning to your question in reply #2:
When you click on the up/down button of the SpinEdit the displayed value is automatically incremented/decremented (unless you set the SpinEdit.Increment to 0). What you need is a handler for the OnChange event of the SpinEdit - as it's name says, it is called whenever the Value of the SpinEdit changes. It gives you the opportunity to react on the new value. In your case you simply call Paintbox1.Invalidate to redraw the Paintbox. The OnPaint event of the Paintbox, on the other hand, must be use the new SpinEdit.value and construct the new polygon from it.
See attached demo which contains a quick implementation of Reubeaux polygon drawing (there is some inaccuracy due to rounding occsionally which should be addressed).