pencil icon indicating copy to clipboard operation
pencil copied to clipboard

Implement a discrete straight line constraint for drawing tools

Open Jose-Moreno opened this issue 5 years ago • 5 comments

Issue Summary

As the name implies, having a discrete constraint (i.e variable degree from initial click placement) to create straight lines is a very widespread and useful feature that Pencil2D has been missing ever since it was created.

Even the polyline tool could benefit from this behavior as creating straight lines at odd angles doesn't look really nice when you need precision drawing for creating certain shapes.

Expected Results

To be able to create a straight line at regular or odd intervals depending on a modifier key (normally SHIFT). This would however have to be validated against the Quick-sizing behavior which already uses the hard coded SHIFT key to change the brush size when enabled

Angle based on initial mouse / stylus direction H: Horizontal Angle (0°, 180°) V: Vertical Angle (90°, 270°) D: Discreet Angle (Depends on degree setting, initially 45° steps)

  • [ ] Pencil Tool: H & V
  • [ ] Pen Tool: H & V
  • [ ] Brush Tool: H & V
  • [ ] Eraser Tool: H & V
  • [ ] Polyline Tool: H, V, D

Video or Image Reference

image

Red: odd angle straight lines (current) Blue: discrete angle straight lines

Jose-Moreno avatar Aug 20 '19 01:08 Jose-Moreno

I don't know many of the programs that you (and others) refer to, and I don't understand 100% what you want here. My guess is that you want a tool, or an extension to a tool, so it can draw straight lines. Right? An these lines should be constrained to some predefined angles? Why? If I want a slightly tilted line (3-5 degrees) what then? Well chances are that I've misunderstood it all, so please enlighten me :-)

davidlamhauge avatar Aug 21 '19 04:08 davidlamhauge

@davidlamhauge Sure. So if you want a slightly tilted line you can do that already freehand or with the polyline tool.

But If I want to draw a perfectly flat horizon line, delineate a set of buildings or mechanical elements, or better yet, to draw an isometric perspective grid at 45° angles, I can't without great effort or without using other software entirely.

So I'd like to alternate between drawing freehand lines and straight-angled lines however I choose for complex artwork. This is a simple tool meant to help in drawing inorganic, mechanical or repetitive patterns more efficiently, not to take away the artist freedom.

As you mentioned this is quite simply a request to extend all the drawing tools, and quite particularly to have the polyline tool to be able to lock the stroke placement on a specific axis or direction as determined by a custom angle.

Such behavior could also work similarly as it does in PhotoShop, perhaps just for the freehand drawings tools. In PS when you press & hold the modifier key, then click once on the canvas to establish the first point of the line, and afterwards click on a second point it creates a straight line in any direction as determined by those two points. Note that this will not provide necessarily provide perfect angles, but rather allow you to "eyeball" the angles yourself.

In summary I'm requesting that along freehand lines all the drawing tools should allow you to:

  • Draw precision lines at any angle either by
    • Connecting between any two given points
    • Locking / snapping to an axis (X or Y, 45°) established by the initial stroke direction

In the case of the polyline tool

  • To draw precision lines from any connecting endpoint, at any angle, and let you switch between discrete and "freehand" straight lines

I hope that is more clear. If not I'll capture a few GIF's with the tool behaviors we can draw inspiration from. Cheers.

Jose-Moreno avatar Aug 21 '19 06:08 Jose-Moreno

So, it seems to be the same request from #44. It happens to be mine . If yes you may close it @Jose-Moreno

Kaikogf avatar Aug 21 '19 12:08 Kaikogf

@Kaikogf Yes you're right it's a similar request. I forgot it was there, but it also seems it never had any traffic except for me adding it to the feature roadmap before today. I'll read it later and see if I can add anything to this one or simply move the comments to that one then. I feel this request has been ignored for too long (2013) ...

Jose-Moreno avatar Aug 21 '19 16:08 Jose-Moreno

@Jose-Moreno The issue is the same as in #44. Your description here is more comprehensive and so I am going to close the other one :+1:

Thank you

Kaikogf avatar Feb 26 '20 04:02 Kaikogf