![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
thread in povray.general
B. Gimeno
Post a reply to this message
Attachments:
Download 'bt_test.jpg' (58 KB)
Preview of image 'bt_test.jpg'
![bt_test.jpg](/povray.binaries.images/attachment/%3Cweb.48dc038462133541a5f67c3f0%40news.povray.org%3E/bt_test.jpg?ttop=443866&toff=3050&preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"B. Gimeno" <nomail@nomail> wrote:
> thread in povray.general
>
> B. Gimeno
Theory is fine, but understand it and unite with the existing code is a
different story.
I've been trying other methods to "calculate" the normal, like using the same
points of the original object with a differente radius, but it generates
artifacts as this picture shows.
I wonder if even getting correctly calculate the normal vector could it apply to
other kinds of objects like the surface of Klein post <a
href:"http://news.povray.org/web.488a15af4a3fd4ff2380a740%40news.povray.org">
here</a>.
http://news.povray.org/web.488a15af4a3fd4ff2380a740%40news.povray.org
I suppose you know what I mean, the normals should be to reverse as the surface
is folded in on itself generating more artifacts like these. Or not?
B. Gimeno
Post a reply to this message
Attachments:
Download 'bt_test_2.jpg' (70 KB)
Preview of image 'bt_test_2.jpg'
![bt_test_2.jpg](/povray.binaries.images/attachment/%3Cweb.48de045c911f20375989c4ee0%40news.povray.org%3E/bt_test_2.jpg?ttop=443866&toff=3050&preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> Theory is fine, but understand it and unite with the existing code is a
> different story.
>
> I've been trying other methods to "calculate" the normal, like using the
> same
> points of the original object with a differente radius, but it generates
> artifacts as this picture shows.
>
> I wonder if even getting correctly calculate the normal vector could it
> apply to
> other kinds of objects like the surface of Klein post <a
> href:"http://news.povray.org/web.488a15af4a3fd4ff2380a740%40news.povray.org">
> here</a>.
>
> http://news.povray.org/web.488a15af4a3fd4ff2380a740%40news.povray.org
>
> I suppose you know what I mean, the normals should be to reverse as the
> surface
> is folded in on itself generating more artifacts like these. Or not?
Triangles are still rendered as triangles, the normal is used to
make the highlights act different. The solution to this sort of
thing is to either use more triangles, or switch to isosurfaces.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Tim Attwood" <tim### [at] comcast net> wrote:
> Triangles are still rendered as triangles, the normal is used to
> make the highlights act different. The solution to this sort of
> thing is to either use more triangles, or switch to isosurfaces.
I suspect that B. Gimeno's image might possibly be getting the normals inside
out, at least over part of the surface.
Here's a similar image, created with 900 triangles, that doesn't show the same
effect.
Post a reply to this message
Attachments:
Download 'smoothnormals.jpg' (97 KB)
Preview of image 'smoothnormals.jpg'
![smoothnormals.jpg](/povray.binaries.images/attachment/%3Cweb.48ded883911f2037fd79f3f60%40news.povray.org%3E/smoothnormals.jpg?ttop=443866&toff=3050&preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"B. Gimeno" <nomail@nomail> wrote:
> "B. Gimeno" <nomail@nomail> wrote:
> I suppose you know what I mean, the normals should be to reverse as the surface
> is folded in on itself generating more artifacts like these. Or not?
>
> B. Gimeno
Well, one possible solution would be to pair triangles with the same control
points, each with the normal inverted with respect to its other, which would
lead us to the following conclusion:
The Klein Surface is "a one-side borderless surface with two sides".
B. Gimeno
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Tim Attwood" <tim### [at] comcast net> wrote:
> Triangles are still rendered as triangles, the normal is used to
> make the highlights act different. The solution to this sort of
> thing is to either use more triangles, or switch to isosurfaces.
Thanks for your suggestions, but:
I can not use isosurfaces or increase the number of triangles as they are used
to draw patterns according to parameters
(examples http://www.persistencia.org/bt_tesel.htm )
Thanks anyway
B. Gimeno.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Mike Williams" <nomail@nomail> wrote:
> "Tim Attwood" <tim### [at] comcast net> wrote:
>
> I suspect that B. Gimeno's image might possibly be getting the normals inside
> out, at least over part of the surface.
>
> Here's a similar image, created with 900 triangles, that doesn't show the same
> effect.
Curious object, does it tried to be a torus shape?
If so, let me see your code, the use of cross-reference between sine and cosine
functions is wrong and is beyond my level of English and the google's automatic
translator ake myself understood, but I think I still remember how to get a
decent torus with a nested-loop.
A greeting
B. Gimeno
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Wasn't it B. Gimeno who wrote:
>"Mike Williams" <nomail@nomail> wrote:
>> "Tim Attwood" <tim### [at] comcast net> wrote:
>>
>> I suspect that B. Gimeno's image might possibly be getting the normals inside
>> out, at least over part of the surface.
>>
>> Here's a similar image, created with 900 triangles, that doesn't show
>>the same
>> effect.
>
>Curious object, does it tried to be a torus shape?
>If so, let me see your code, the use of cross-reference between sine and cosine
>functions is wrong and is beyond my level of English and the google's automatic
>translator ake myself understood, but I think I still remember how to get a
>decent torus with a nested-loop.
It's called a Bohemian Dome.
It's the shape that you get if you hold a circle flat and sweep it
around a circle. For a torus, the diameter of the swept circle always
points to the centre of the torus. For a Bohemian Dome the diameter of
the circle always point in the same direction.
The surface intersects itself. The side that is the inside on one half
is the outside on the other half. And POV even gets that right: it uses
the interior_texture on the outside of one half.
It's generated by these parametric equations:
x = A*cos(u)
y = B*cos(v) + A*sin(u)
z = C*sin(v)
Code to create it using a parametric isosurface (seriously slow) or
using Ingo Janssen's "param.inc" to create a smooth mesh2 to approximate
it (fast) can be found here:
http://www.econym.demon.co.uk/isotut/param.htm
--
Mike Williams
Gentleman of Leisure
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |