"I use an ordinary R²->R function plot after resolving the implicit
equation to z and discretrizing it over a domain restricted to the
partial symmetry"
Yeah <I said casually>. I do that all of the time! In my sleep, in
fact! LOL!
Kudos to you, Parkinbot! What would we do without people like you!
Jon
On 6/10/2016 8:43 AM, Parkinbot wrote:
Hi Ronaldo,
this looks good and shows that your Frep-stuff is working well, besides that
it could profit from some (implicit) grid refining scheme near the borders.
Ok, you use the triple cosine shortcut instead of the minimal surface
calculation, but this is another theme.
To be able to print it, one would also like to have a skin extruded
structure, which was the point where my effort (and time) ended.
BTW, I used an ordinary R²->R function plot after resolving the implict
equation to z and discretrizing it over a domain restricted to the partial
symmetry. While this gives you a nice border around the top hole, you can
use union operations to repeat the rendered chuck for all symmetries with
the required orientation.
Jon, we are talking about explicitly rendering shapes and rendering speed of
the polyhedron approach. Sorry, if that gets boring for you.
--
View this message in context: http://forum.openscad.org/Improve-rendering-speed-tp17580p17634.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Parkinbot wrote
this looks good and shows that your Frep-stuff is working well, besides
that it could profit from some (implicit) grid refining scheme near the
borders.
Yes, the borders are a lot rough. I did not implemented any feature
detection scheme. They are a lot harder to implement. A local refining
scheme would improve the edges but they would be rough anyway.
Ok, you use the triple cosine shortcut instead of the minimal surface
calculation, but this is another theme.
To be able to print it, one would also like to have a skin extruded
structure, which was the point where my effort (and time) ended.
I used the approximation I found in Wikipedia. I am not acquainted to the
minimal surface theory and have not found any exact implicit form of the
surface.
By changing the code a little and redefining the Schwartz primitive, I got
the following:
http://forum.openscad.org/file/n17636/Schwartz_surface_skin.png
http://forum.openscad.org/file/n17636/Schwartz_surface_skin_0.png
The upper image represents just the surface and it is not a manyfold. It was
obtained by commenting 4 lines of the f_mesh_evaluation code eliminating the
six bounding box of the mesh.
The lower image seems to be what you wanted. The Schwartz primitive for that
was simply redefined as:
function Schwartz_p(pt, a,b,c,d) =
let( s = acos(pt[0]) + bcos(pt[1]) + c*cos(pt[2]) )
min( s, - s + d);
So, the inside surface was obtained just by doing an "offset" of the
original function value and the min() is equivalent to an intersection. That
is one of the marvelous things of the implicit representation of f-reps.
This last run took a longer time to preview: 20min. So, I think we are in
the wrong thread to discuss this subject :)
BTW, I used an ordinary R²->R function plot after resolving the implict
equation to z and discretrizing it over a domain restricted to the partial
symmetry. While this gives you a nice border around the top hole, you can
use union operations to repeat the rendered chuck for all symmetries with
the required orientation.
I have no idea of what you are saying here. But I tip my hat to you.
@jon, I could not say it better.
--
View this message in context: http://forum.openscad.org/Improve-rendering-speed-tp17580p17636.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
One more point: Rudolf, who I suppose is German, referred to a minimal
surface created by Schwartz, who I suppose is German too. I would like to
render a minimal surface created by a Brazilian mathematician (I am a
Brazilian too): the Costa surface. But I have not found any implicit form
of it. If someone give me a reference for that I would be very grateful.
Ronaldo
2016-06-10 13:56 GMT-03:00 Ronaldo rcmpersiano@gmail.com:
Parkinbot wrote
this looks good and shows that your Frep-stuff is working well, besides
that it could profit from some (implicit) grid refining scheme near the
borders.
Yes, the borders are a lot rough. I did not implemented any feature
detection scheme. They are a lot harder to implement. A local refining
scheme would improve the edges but they would be rough anyway.
Ok, you use the triple cosine shortcut instead of the minimal surface
calculation, but this is another theme.
To be able to print it, one would also like to have a skin extruded
structure, which was the point where my effort (and time) ended.
I used the approximation I found in Wikipedia. I am not acquainted to the
minimal surface theory and have not found any exact implicit form of the
surface.
By changing the code a little and redefining the Schwartz primitive, I got
the following:
http://forum.openscad.org/file/n17636/Schwartz_surface_skin.png
http://forum.openscad.org/file/n17636/Schwartz_surface_skin_0.png
The upper image represents just the surface and it is not a manyfold. It
was
obtained by commenting 4 lines of the f_mesh_evaluation code eliminating
the
six bounding box of the mesh.
The lower image seems to be what you wanted. The Schwartz primitive for
that
was simply redefined as:
function Schwartz_p(pt, a,b,c,d) =
let( s = acos(pt[0]) + bcos(pt[1]) + c*cos(pt[2]) )
min( s, - s + d);
So, the inside surface was obtained just by doing an "offset" of the
original function value and the min() is equivalent to an intersection.
That
is one of the marvelous things of the implicit representation of f-reps.
This last run took a longer time to preview: 20min. So, I think we are in
the wrong thread to discuss this subject :)
BTW, I used an ordinary R²->R function plot after resolving the implict
equation to z and discretrizing it over a domain restricted to the
partial
symmetry. While this gives you a nice border around the top hole, you can
use union operations to repeat the rendered chuck for all symmetries with
the required orientation.
I have no idea of what you are saying here. But I tip my hat to you.
@jon, I could not say it better.
--
View this message in context:
http://forum.openscad.org/Improve-rendering-speed-tp17580p17636.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Parkinbot:
Not boring! Just above my head! I really am amazed at what some of you
are doing. As I said, Kudos!
Jon
On 6/10/2016 12:21 PM, Parkinbot wrote:
Jon, we are talking about explicitly rendering shapes and rendering speed of
the polyhedron approach. Sorry, if that gets boring for you.
Ronaldo,
thanks again, for showing how mighty your approach is. I tried to dig out my
code on that, but found only my first approach, which I did in OpenSCAD. I
think I changed to Matlab after that. I remember there was a point, I got
frustrated on calculating the skin part - in which your approach seems to be
very good.
http://forum.openscad.org/file/n17639/SchwarzP.png
its better here
http://www.indiana.edu/~minimal/archive/Triply/genus3/PLines/web/
For the R²->R part: You can resolve the skin equation
0 = cos(x) + cos(y) + cos(z)
for z
z = acos(-cos(x) - cos(y))
and then solve this system for any (feasible) z-discretrization, while
restricting x and y (out of R²) to the symmetry region (shown by the lines
in linked picture). Not such a big deal.
So, the inside surface was obtained just by doing an "offset" of the
original function value and the min() is equivalent to an intersection.
That
is one of the marvelous things of the implicit representation of f-reps.
yes, this is indeed marvelous. I'll have to dig into that one day.
Hermann Schwarz was a German mathematican. Can't help you with Costa ...
Surface math is not my world by the way.
--
View this message in context: http://forum.openscad.org/Improve-rendering-speed-tp17580p17639.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
A good way to get nice borders for the Schwarz-p even with an unrefined grid
is to do the meshing over a slightly enlarged domain and then intersect with
a cube ...
--
View this message in context: http://forum.openscad.org/Improve-rendering-speed-tp17580p17640.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Parkinbot wrote
A good way to get nice borders for the Schwarz-p even with an unrefined
grid is to do the meshing over a slightly enlarged domain and then
intersect with a cube ...
Done.
http://forum.openscad.org/file/n17642/Schwartz_surface_skin_0.png
For easy comparison, I have left the top and bottom surfaces uncut. I have
refined the mesh a lot this time: it has 140000 points. The final model has
43000 polygons, subdivided in 137000 triangles with a total of 197000
vertices. It took 38min to render.
I agree, jon, this is definitely not an appropriate example for this thread.
:)
Ronaldo
--
View this message in context: http://forum.openscad.org/Improve-rendering-speed-tp17580p17642.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Well done. Now you see that it is not harmonic. The minimal surface connects
with circles.
But I'll vote for it to get the logo of multithreaded OpenSCAD.
--
View this message in context: http://forum.openscad.org/Improve-rendering-speed-tp17580p17644.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Hi, Rudolf.
I have built a simple animation with the Schwarz surface generated by my
f-rep library. Here is the file:
Schwarz.mp4 http://forum.openscad.org/file/n17787/Schwarz.mp4
I could not display the video with the online software but it can be
downloaded to be played offline. The animation loosely suggests that an
OpenSCAD model is made of the combination of small parts.
--
View this message in context: http://forum.openscad.org/Improve-rendering-speed-tp17580p17787.html
Sent from the OpenSCAD mailing list archive at Nabble.com.