Subject:
|
Re: Smoothing on part level using edge lines
|
Newsgroups:
|
lugnet.cad.dev
|
Date:
|
Mon, 5 Aug 2002 17:09:06 GMT
|
Viewed:
|
495 times
|
| |
| |
In lugnet.cad.dev, Martijn Zwaal writes:
> When I was implementing smoothing on part level using optional lines, I
> discovered an artifact in the smoothing algorithm. You can see what I mean
> by looking at the 'Space Radar Dish' 3960.dat using LDView 1.95 or later
> with primitive substitution disabled. You can see that the normals of the
> ring primitive get blended with the dish.
This is technically due to bad dat code, not the algorithm. That edge
shouldn't contain optional lines. However, given that they used a smashed
half-sphere, they had no control over the presense of type 5 lines along
that edge. And it's the most logical way to model that part. One of the
enhancements I want to add is an angle threshold, so that smoothing won't
occur if the angle between the two polygons is more than a set amount.
> Smoothing using optional lines gives a nice visual improvement if used on
> dat level and it's fast but it's not very good on edges so seams can be
> seen. It also looks nice on part level but things sometimes get too smooth
> around edges and optional lines can be applied arbitrarily in a part (like
> in the minifig arms).
The optional lines on the minifig arms are just wrong. They won't display
correctly in their original designed purpose, so I don't think it's a good
idea to use them as an example. However, as you pointed out with the radar
dish, there are certainly existing parts that produce incorrect smoothing
behavior. (The dimple in the side of the minifig motorcycle helmet has the
same problem as this radar dish.)
> After realizing that smoothing on part level is not too expensive I
> reconsidered the suggestion of smoothing using edge lines. I think an
> algorithm based on them should also smooth hollow parts. It works almost the
> same. Just exchange normals on every edge, except when an 'edge line' is
> present on the edge. This might smooth al parts correctly.
I tend to agree that this might produce better results overall. It's
certainly the case that optional lines are much more likely to be incorrect
in the existing parts. They're a whole lot harder to verify visually, since
you have to spin the part all around and hope you didn't miss any orientations.
On that note, the current smoothing algorithm is probably the most effective
test for correct placement of optional lines. If a curved section doesn't
look smooth, then the optional lines are probably wrong. Either that, or
the smoothing code is broken :-). However, once you see a spot that should
be smoothed and isn't, it's usually straightforward to check the optional
lines in that spot visually.
--Travis Cobbs (tcobbs@REMOVE.halibut.com)
|
|
Message has 1 Reply: | | Re: Smoothing on part level using edge lines
|
| If you check out the big space dish (3961.dat) you can see the optional line algorithm fails because there are no optional lines. In my opinion this part is good. There is no need to fix this part because it will only get larger and slows down some (...) (22 years ago, 6-Aug-02, to lugnet.cad.dev)
|
Message is in Reply To:
| | Smoothing on part level using edge lines
|
| When I was implementing smoothing on part level using optional lines, I discovered an artifact in the smoothing algorithm. You can see what I mean by looking at the 'Space Radar Dish' 3960.dat using LDView 1.95 or later with primitive substitution (...) (22 years ago, 5-Aug-02, to lugnet.cad.dev)
|
11 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
This Message and its Replies on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|