MoI discussion forum
MoI discussion forum

Full Version: Hidden line removal progress

Show messages:  1-7  8-27  28-47  48-67  68-87  88-107  108-127  …  288-296

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
From: danperk (SBEECH)
30 Sep 2013   [#62] In reply to [#60]
>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.

Works for me, thanks!

>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 .

My reference was just for people that use Illustrator CS5+ and want to edit line widths. Although Astute Graphics must have access to current internal file format structure as they are a 3rd party developer. Anyways, I'm not requesting this as an export option so no worries. :)

>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.

Yes, that's correct. I understand that users may be using Corel, Inkscape etc. so the export needs to be compatible to more than just Adobe.
I'm staying on the ground with CS6 and will not be moving to the clouds.
From: Michael Gibson
30 Sep 2013   [#63] In reply to [#62]
Hi danperk,

> Although Astute Graphics must have access to current internal file format
> structure as they are a 3rd party developer.

Is the Astute Graphics stuff running as a plug-in inside of Illustrator?

If so then probably Adobe does make that stuff accessible through functions that a plug-in can call, but that kind of mechanism would only work for a plug-in that runs inside of Illustrator, not a completely separate program that's trying to communicate to Illustrator only by writing a file out.

- Michael
From: danperk (SBEECH)
30 Sep 2013   [#64] In reply to [#63]
Hi Michael,

>Is the Astute Graphics stuff running as a plug-in inside of Illustrator?

If so then probably Adobe does make that stuff accessible through functions that a plug-in can call, but that kind of mechanism would only work for a plug-in that runs inside of Illustrator, not a completely separate program that's trying to communicate to Illustrator only by writing a file out.

Yes it does, good point! This also carries the negative aspect of requiring updates of plug-ins for new versions of Illustrator. On and on it goes, and where it stops, only Marketing knows. :/
From: mattj (MATTJENN)
1 Oct 2013   [#65]
hi all

FYI Isodraw does this tapered line style on holes. Its nice but for me unnecessary as its overkill. It is alo done with a fill shape which no longer matches the corresponding line widths if the drawing is scaled without scale line widths setting on. Attachment shows the taper in outline mode and preview.

Image Attachments:
Screen Shot 2013-10-01 at 7.57.07 AM.png  Screen Shot 2013-10-01 at 7.57.13 AM.png 


From: Martin (MARTIN3D)
1 Oct 2013   [#66]
Hi Michael,

if others agree would it be possible to put each line type on a seperate layer so that there get five layers exported:

Layer 1 (bottom layer): The shading as a bitmap

Layer 2: The complete object with all visible lines. All lines with a thin stroke

Layer 3: All hidden lines, very thin and dashed

Layer 4: All lines where the surface normals differ (One pointing away from the viewer and one pointing towards the viewer). These lines have a stroke width of 3 times of the ones of layer 2

Layer 5 (top most layer): All outlines where an edge "touches" the background. 3x stroke, round cap, maybe different color

This would result in a very uncluttered export and allow to switch line types on and off easily and also alows to rearrange layers like putting the outline layer to the bottom.

Is that maybe what you have currently in mind?
From: mattj (MATTJENN)
1 Oct 2013   [#67]
hi

in response to martin 3d, i am not too bothered by having the layers option. However, different subassemblies/groups/items within the model on different layers would be useful to me. . .
I guess micheal has opened pandoras box with this latest trick :-) Obviously a lot of people out there are still working with 2D vector as well as 3D.
matt

Show messages:  1-7  8-27  28-47  48-67  68-87  88-107  108-127  …  288-296