|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I have a closed mesh2 surface (roughly spherical), clipped by a plane. Viewed
from a bit below the clipping plane, it looks sort of like an open hemisphere.
I would like to make a (CSG-like) solid band, or tube/pipe/cylinder, that runs
along the *edge* where the plane and the mesh2 intersect.
I've been able to get the slab corresponding to the opening (intersection with a
very thin box and the mesh2), and a plane-like slab with the opening hole
cut-out (difference), but I cannot get just the edge (with some thickness, so
you can see it!).
Suggestions? Thanks!
David
Post a reply to this message
|
|
| |
| |
|
|
From: Alain
Subject: Re: How to "solidify" edge of clipped mesh2 surface?
Date: 30 Jan 2011 16:13:36
Message: <4d45d480@news.povray.org>
|
|
|
| |
| |
|
|
> I have a closed mesh2 surface (roughly spherical), clipped by a plane. Viewed
> from a bit below the clipping plane, it looks sort of like an open hemisphere.
>
> I would like to make a (CSG-like) solid band, or tube/pipe/cylinder, that runs
> along the *edge* where the plane and the mesh2 intersect.
>
> I've been able to get the slab corresponding to the opening (intersection with a
> very thin box and the mesh2), and a plane-like slab with the opening hole
> cut-out (difference), but I cannot get just the edge (with some thickness, so
> you can see it!).
>
> Suggestions? Thanks!
> David
>
>
As your mesh is roughly spherical, you may be able to make a difference
using it this way:
Add an inside vector to the mesh.
Use a difference of the mesh, a slightly scaled down copy of the mesh,
using a scale statement, and a box or plane.
It can work as you seem so have a totaly convexe and relatively simple
overall shape.
Alain
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Thanks, Alain.
> Use a difference of the mesh, a slightly scaled down copy of the mesh,
> using a scale statement, and a box or plane.
I do have already an inside vector (<0,0,1>) in my mesh2 declaration. I have
also tried various differences, with the noted results:
// Align clipping box at bottom of cut-off mesh2 surface:
#declare TestBox = box {<0.5,0.5,0.5>, <-0.5,-0.5,-0.5> scale <100,100,0.1>
translate Surface_ClipPlane + <0,0,-0.05>};
// The mesh2, with its bottom clipped off:
#declare test_clipped_surf = object {Committor_50_Volmap clipped_by
{MapBoundsPlane} bounded_by {MapBoundsBoxBig}};
// Texture for all TESTOBJ*
#declare T_TEST = texture { pigment { color rgb <0,0,1>}};
// RESULT: Slab filling just the bottom "opening" of surface:
#declare TESTOBJ = intersection {object {TestBox} object{test_clipped_surf}};
// RESULT: Slab with a hole in middle (inverse of TESTOBJ):
#declare TESTOBJ2 = difference {object {TestBox} object{test_clipped_surf}};
// RESULT: Adds a small ring at bottom edge of cut surface, I guess because
// the (semi-transparent) surface is duplicated. Attempt to force
// force the color to opaque dark blue fails (mesh2 has a texture
// declared in it already).
#declare TESTOBJ3 = object{test_clipped_surf #local T_Committor_50_Surface =
texture { pigment { color rgb <0,0,1>}}; texture {T_Committor_50_Surface}
clipped_by {TestBox} };
// RESULT: Looks like TESTOBJ2:
#declare TESTOBJ4 = intersection {object {TESTOBJ scale 1.001} object{TESTOBJ
scale 0.999}};
// RESULT: Just wierd edge effects:
#declare TESTOBJ5 = intersection {object {TESTOBJ scale 1.002} object{TESTOBJ2
scale 0.998}};
Am I doing the differencing wrong? Thanks!
Dave
Post a reply to this message
|
|
| |
| |
|
|
From: stbenge
Subject: Re: How to "solidify" edge of clipped mesh2 surface?
Date: 31 Jan 2011 15:33:30
Message: <4d471c9a@news.povray.org>
|
|
|
| |
| |
|
|
On 1/30/2011 1:13 PM, Alain wrote:
>> I would like to make a (CSG-like) solid band, or tube/pipe/cylinder,
>> that runs
>> along the *edge* where the plane and the mesh2 intersect.
>>
> As your mesh is roughly spherical, you may be able to make a difference
> using it this way:
>
> Add an inside vector to the mesh.
>
> Use a difference of the mesh, a slightly scaled down copy of the mesh,
> using a scale statement, and a box or plane.
>
> It can work as you seem so have a totaly convexe and relatively simple
> overall shape.
Although it won't produce a rounded edge, an extension to your idea
could involve an intersection of several offset copies of the mesh,
differenced from the original mesh. This would be similar to the
"thicken" feature of some mesh modelers. Twelve copies could be used in
an icosaherdal offset pattern, or better yet, a geodesic dome with many
vertices. It would be slow, but would probably work even for non-convex
meshes.
Sam
Post a reply to this message
|
|
| |
| |
|
|
From: Thomas de Groot
Subject: Re: How to "solidify" edge of clipped mesh2 surface?
Date: 1 Feb 2011 03:11:56
Message: <4d47c04c@news.povray.org>
|
|
|
| |
| |
|
|
"David Borhani" <dav### [at] alummitedu> schreef in bericht
news:web.4d44f37b6c17394ca1623e690@news.povray.org...
>I have a closed mesh2 surface (roughly spherical), clipped by a plane.
>Viewed
> from a bit below the clipping plane, it looks sort of like an open
> hemisphere.
>
> I would like to make a (CSG-like) solid band, or tube/pipe/cylinder, that
> runs
> along the *edge* where the plane and the mesh2 intersect.
>
Maybe you should have a look at Poseray 3.13.7 beta. There is an
experimental feature in there which does exactly that. Look under
Groups>Lines, and experiment with "Add thickness to free mesh edges"
You can find Poseray at: http://mysite.verizon.net/sfg0000/
Thomas
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> Thanks, Alain.
>
>> Use a difference of the mesh, a slightly scaled down copy of the mesh,
>> using a scale statement, and a box or plane.
>
> I do have already an inside vector (<0,0,1>) in my mesh2 declaration. I have
> also tried various differences, with the noted results:
>
> // Align clipping box at bottom of cut-off mesh2 surface:
> #declare TestBox = box {<0.5,0.5,0.5>,<-0.5,-0.5,-0.5> scale<100,100,0.1>
> translate Surface_ClipPlane +<0,0,-0.05>};
>
> // The mesh2, with its bottom clipped off:
> #declare test_clipped_surf = object {Committor_50_Volmap clipped_by
> {MapBoundsPlane} bounded_by {MapBoundsBoxBig}};
>
> // Texture for all TESTOBJ*
> #declare T_TEST = texture { pigment { color rgb<0,0,1>}};
>
> // RESULT: Slab filling just the bottom "opening" of surface:
> #declare TESTOBJ = intersection {object {TestBox} object{test_clipped_surf}};
>
> // RESULT: Slab with a hole in middle (inverse of TESTOBJ):
> #declare TESTOBJ2 = difference {object {TestBox} object{test_clipped_surf}};
>
> // RESULT: Adds a small ring at bottom edge of cut surface, I guess because
> // the (semi-transparent) surface is duplicated. Attempt to force
> // force the color to opaque dark blue fails (mesh2 has a texture
> // declared in it already).
> #declare TESTOBJ3 = object{test_clipped_surf #local T_Committor_50_Surface =
> texture { pigment { color rgb<0,0,1>}}; texture {T_Committor_50_Surface}
> clipped_by {TestBox} };
>
> // RESULT: Looks like TESTOBJ2:
> #declare TESTOBJ4 = intersection {object {TESTOBJ scale 1.001} object{TESTOBJ
> scale 0.999}};
> // RESULT: Just wierd edge effects:
> #declare TESTOBJ5 = intersection {object {TESTOBJ scale 1.002} object{TESTOBJ2
> scale 0.998}};
>
> Am I doing the differencing wrong? Thanks!
> Dave
>
>
difference{
object {Committor_50_Volmap}
object {Committor_50_Volmap scale 0.95}
object{MapBoundsBoxBig}
texture{Your_texture}
rotate Some_Rotation
translate Somewhere
}
NO clipped_by
NO bounded_by
If you use clipped_by on a sphere, you'll also get an infinitely this
edge, like this:
sphere{0,1 clipped_by{box{0,1}} // extremely thin wall
Cuts a quadrant out of the SURFACE of the sphere leaving the cut open.
Compare to:
difference{ // wall with thickness
sphere{0,1} // you can replace the sphere by your mesh
sphere{0,0.9}// ...and your mesh scaled by 0.9
box{0,1}
pigment{rgb 1}
}
Alain
Post a reply to this message
|
|
| |
| |
|
|
From: Alain
Subject: Re: How to "solidify" edge of clipped mesh2 surface?
Date: 1 Feb 2011 11:58:39
Message: <4d483bbf@news.povray.org>
|
|
|
| |
| |
|
|
> "David Borhani"<dav### [at] alummitedu> schreef in bericht
> news:web.4d44f37b6c17394ca1623e690@news.povray.org...
>> I have a closed mesh2 surface (roughly spherical), clipped by a plane.
>> Viewed
>> from a bit below the clipping plane, it looks sort of like an open
>> hemisphere.
>>
>> I would like to make a (CSG-like) solid band, or tube/pipe/cylinder, that
>> runs
>> along the *edge* where the plane and the mesh2 intersect.
>>
>
> Maybe you should have a look at Poseray 3.13.7 beta. There is an
> experimental feature in there which does exactly that. Look under
> Groups>Lines, and experiment with "Add thickness to free mesh edges"
>
> You can find Poseray at: http://mysite.verizon.net/sfg0000/
>
> Thomas
>
>
It seems that the mesh is closed but he was using clipped_by where he
should have used a difference.
Alain
Post a reply to this message
|
|
| |
| |
|
|
From: Thomas de Groot
Subject: Re: How to "solidify" edge of clipped mesh2 surface?
Date: 2 Feb 2011 03:28:00
Message: <4d491590$1@news.povray.org>
|
|
|
| |
| |
|
|
"Alain" <aze### [at] qwertyorg> schreef in bericht
news:4d483bbf@news.povray.org...
> It seems that the mesh is closed but he was using clipped_by where he
> should have used a difference.
Indeed. I see that now....
Thomas
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|