MoI discussion forum
MoI discussion forum

Full Version: Hidden line removal progress

Show messages:  1  2-21  22-41  42-61  62-81  82-101  102-121  …  282-296

From: Martin (MARTIN3D)
30 Sep 2013   [#42] In reply to [#41]
It's not complicated: Every edge that "touches" the background must become thick.
It's a way to better visualize the object.
The same way Photoshop would apply an Outer Glow Layer Style to a transparent pixel image.

Image Attachments:
Photoshop Outer Glow.png 


From: Martin (MARTIN3D)
30 Sep 2013   [#43] In reply to [#42]
So your example must look like this

Image Attachments:
Screen Shot 2013-09-30 at 17.20.10.png 


From: Frenchy Pilou (PILOU)
30 Sep 2013   [#44] In reply to [#43]
Yes simple for your example and rule but i have spoken of this one (and it's mixed rule under lined)
http://purdy.gatech.edu/wp-content/uploads/2012/07/2_line_wt.pdf
who seems it-self not well applyed on its example! :)

So be simple is the more easy way! :)
From: bemfarmer
30 Sep 2013   [#45] In reply to [#44]
Martin's rule looks very good, and simple, for having a "heavy" and a "light" line weight.

As in Conrad Taylor's pdf, adding an intermediate line weight, and/or continously tapered line weights,
and/or broken lines, and/or dotted or dashed lines could add additional rules for the computer programmer to figure out :-)

Background tone helps visualization also.

- Brian
From: Mike K4ICY (MAJIKMIKE)
30 Sep 2013   [#46]
When I was an art director, this was how I taught my artists to weight their line-art drawings.



To emphasize depth. More interior detail would carry thinner associated line weights.

Impossible, I know. The little inside-only buildup doesn't sit well with me.

None the less, I'll be happy to see what comes of all this.
From: Frenchy Pilou (PILOU)
30 Sep 2013   [#47] In reply to [#46]
On this object that seems yet easy
but for a complex one that surely be a nightmare for the coder! :)
Because there is no logic reason that the entiere side circle will be not entierely large, if the straight line "horizontal" is itself large!
They are "touching" both some empty "background"!
From: Martin (MARTIN3D)
30 Sep 2013   [#48] In reply to [#47]
> When I was an art director, this was how I taught my artists to weight their line-art drawings.

This certainly looks very good but I have a hard time understanding the rule that requires to continue the thick horizontal line into the object. It's an aesthetical choice isn't it? It looks good and helps even more to understand the shape but it seems to be impossible to put into an algorithm.

Image Attachments:
Extented line.png 


From: Mike K4ICY (MAJIKMIKE)
30 Sep 2013   [#49] In reply to [#48]
> seems to be impossible to put into an algorithm.

I do understand the conundrum. This is a tricky thing to negotiate with solid/flat objects. If I was drawing this with pen and paper where the line quality had a bit of natural "grunge" in it, the thick line may have tapered to match the thinner line, or the thinner vertical line would have shared the transition. This is easier to envision when drawing more organic character.

Not possible it seems to do with splines and outlines.
From: eric (ERICCLOUGH)
30 Sep 2013   [#50] In reply to [#34]
Hi Michael ..

Yes I do use a script that you did some months ago. I changed the line width to 6 (from 4) and it does now show the hidden lines as small but distinct dashes. I may increase that number to 8.

thanks,
eric
From: danperk (SBEECH)
30 Sep 2013   [#51]
Hi Michael,

Is it possible to isolate the red lines into a separate layer when exported?

Image Attachments:
Isolate.png 


From: Michael Gibson
30 Sep 2013   [#52] In reply to [#39]
Hi Marc,

> An options button might be interesting instead of adding another dialog.
> It would make it a simpler and less intrusive, you change it only if you have to.
> Saves could 'stick' between sessions.

That's definitely less intrusive, but sometimes less intrusive also means the settings are just not found by many users...

I also sort of like to avoid messing around with the system standard dialogs very much. The regular Windows system dialog does not have a button like that. It's possible to customize the dialogs in different ways but it's not all that unusual for that to have maintenence problems down the road.

- Michael
From: Michael Gibson
30 Sep 2013   [#53] In reply to [#40]
Hi Martin,

> I'm fine with your "border against background" method that gives me a rendering like this:

A couple of questions about the "border against background" option. I'm thinking of calling it something like "Generate outlines", and when enabled it would make an extra set of curves on separate kind of grouping (grouped either as an actual group or layer or separate color or lineweight or maybe any of these) that would be coincident with the regular edges. So that would mean that the outline curves would stack up on the "regular edges". The reason for this is that otherwise to not have separate stacked up curves would mean having the regular edges broken up into smaller pieces which seems kind of weird. Like on your example this area here:



And also another reason to make the outline a separate set of curves is that I think you'll want the outline to go underneath all the other regular edges and I guess underneath the shaded image as well so that when it's thickened it only adds thickness to only one side of the shape rather than having thickness on both sides. I don't believe that there is any way in PostScript to add thickness to just one side of a path rather than having the thickness be symmetrical around the path center line, I think it has to have some kind of masking for an effect like that.

Then the other thing is that if you have separate multiple objects, I would think that the outline would treat spots where it borders on either the background or the other object as an outline area, so for example with 3 objects like this (that don't touch each other, they just block one another in visibility):



Then I'd think that the outlines would go like this:




Does that seem right? The other possibility would be for outlines to only go against strictly the background and not other objects at all which would be like this:



- Michael

Image Attachments:
martin_edge.jpg  martin_outline1.jpg  martin_outline2.jpg  martin_outline3.jpg 


From: Michael Gibson
30 Sep 2013   [#54] In reply to [#46]
Hi Mike,

> When I was an art director, this was how I taught my artists to weight their line-art drawings.

It looks awesome! But unfortunately I think massively difficult to implement.

Not only difficult just to figure out an automated rule for how the thickening should be applied, but also difficult to edit in Illustrator afterwards as well I think, because I don't think there's any way to make a tapering line thickness like that directly on one long center-line curve, I think it has to be done as a closed and filled shape instead.

- Michael
From: Michael Gibson
30 Sep 2013   [#55] In reply to [#48]
Hi Martin,

> This certainly looks very good but I have a hard time understanding the rule that
> requires to continue the thick horizontal line into the object. It's an aesthetical choice isn't it?
> It looks good and helps even more to understand the shape but it seems to be impossible
> to put into an algorithm.




If I understand correctly, it's a rule about all sihouettes being accented, regardless of whether they are inside the "outer outline" of the object or not.

It should not be hard to put this one into an algorithm, because the same geometric silhouette condition does hold through that entire edge - it's a silhouette edge because of the 2 surfaces that the edge belongs to, one surface normal points towards the viewer, while the other surface normal points away from the viewer.

It has to do with looking at surface normals, not at what's going on in the 2D screen space image...

- Michael
From: Michael Gibson
30 Sep 2013   [#56] In reply to [#51]
Hi danperk,

> Is it possible to isolate the red lines into a separate layer when exported?

Those are the "seam edges" on closed smooth surfaces - I think that these particular kinds of edges just won't be exported at all, unless they are also a silhouette edge.

I haven't got any of the edge filtering out stuff in place yet.

Do you ever see a need where you would actually want those particular edges in the drawing?

- Michael
From: danperk (SBEECH)
30 Sep 2013   [#57] In reply to [#56]
>Do you ever see a need where you would actually want those particular edges in the drawing?

Usually not, maybe on a rare occasion where they help describe a curved surface for reference.

I just didn't want say eliminate them in case others have a need for them.

BTW- Starting with Illustrator CS5 you can use the Line Width Tool to control width and taper.
Also Astute Graphics WidthScribe plug-in can be very handy for people who want to do finessing
of line widths in Illustrator.
From: Martin (MARTIN3D)
30 Sep 2013   [#58] In reply to [#53]
Hi Michael

>I'm thinking of calling it something like "Generate outlines", and when enabled it would make an extra set of curves on separate kind of grouping (grouped either as an actual group or layer or separate color or lineweight or maybe any of these) that would be coincident with the regular edges. So that would mean that the outline curves would stack up on the "regular edges".

Great!


>I think you'll want the outline to go underneath all the other regular edges and I guess underneath the shaded image as well so that when it's thickened it only adds thickness to only one side of the shape rather than having thickness on both sides.

Having the outline on a seperate layer would give complete freedom in this regard.


>I don't believe that there is any way in PostScript to add thickness to just one side of a path rather than having the thickness be symmetrical around the path center line.

Will the outline path be a closed curve? I hope so because for a closed path there's an Align Stroke option in Illustrator that allows to set the stroke any way we want.



Then the other thing is that if you have separate multiple objects... Then I'd think that the outlines would go like this... Does that seem right?

Yes please, individual, seperate objects should have their own outline.

Image Attachments:
Align stroke.png 


From: Martin (MARTIN3D)
30 Sep 2013   [#59] In reply to [#55]
>it's a silhouette edge because of the 2 surfaces that the edge belongs to, one surface normal points towards the viewer, while the other surface normal points away from the viewer.

Aah I see. Never thought it could be such a relatively simple rule. Thanks for this explanation Michael. If you can implement this too all the better!

Image Attachments:
Surface normals determine line thickness.png 


From: Michael Gibson
30 Sep 2013   [#60] In reply to [#57]
Hi danperk,

> Usually not, maybe on a rare occasion where they help describe a curved surface for reference.
>
> I just didn't want say eliminate them in case others have a need for them.

I think that I'll probably start with just eliminating them (seam edges on closed smooth surfaces), and then if anyone ends up needing them I'll look into adding an option later.


> BTW- Starting with Illustrator CS5 you can use the Line Width Tool to control width and taper.
> Also Astute Graphics WidthScribe plug-in can be very handy for people who want to do finessing
> of line widths in Illustrator.

Unfortunately the information controlling that is likely to be private just to illustrator - Illustrator has become rather closed with its internal file format structure over the years, the only documented AI version is from AI v8 .

I don't think that PDF has a method for tapered line widths, so probably when generating a PDF file Illustrator converts tapered strokes into a closed and filled outline path rather than something that actually has a line stroke on it in the PDF.

- Michael
From: Michael Gibson
30 Sep 2013   [#61] In reply to [#58]
Hi Martin,

> Will the outline path be a closed curve? I hope so because for a closed path there's an
> Align Stroke option in Illustrator that allows to set the stroke any way we want.

No it usually won't be a closed curve, it will be a bunch of fragments of curves that come pretty close to meeting each other at their ends so generally resembling a closed curve but I'm not confident about getting an actual totally clean closed curve generated for this automatically, there will tend to be little tiny pieces and little tiny spaces between different pieces.

- Michael

Show messages:  1  2-21  22-41  42-61  62-81  82-101  102-121  …  282-296