![](/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) |
Here's some mesh making macros I'd like to have some feedback on. Don't
rely too much on them as they are still changing and some depend on the
buggy POV-Ray 3.5 splines that also may change.
*Changed parametric a bit, for the better / for the worse?
*Add, where possible, endcapping options?
*Make the macros that use splines more general so they can take arrays
with points as input. Then provide macros that turn splines, functions
etc. into point arrays?
*Switches to turn off/on normals, uv_coordinates? Switch to generate
uv_coordinates in the BuildWriteMesh2 macro instead of on the fly like
in parametric? The uv-range then would always go from <0,0> - <1,1>.
*Other?
There are three more macros under construction:
* Ruled surfaces, kind off, uses more than 2 splines and does not
do only linear interpolation. It's finished but very mutch bitten by
the spline bugs, so I'm not shure wether it actually works right.
* Prism2, works like Double Sweep in Amapi3D. Half way there.
* Gordon Surface, probably too ambitious. Should be like Coons though,
but with more splines (adding 'extended' ruled surfaces?).
Ingo
--
Photography: http://members.home.nl/ingoogni/
Pov-Ray : http://members.home.nl/seed7/
Post a reply to this message
Attachments:
Download 'makemesh.zip' (15 KB)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
They look so usefull! Thanks. Only msm.inc is missing.
--
Jonathan.
"ingo" <ing### [at] home nl> ha scritto nel messaggio
news:Xns### [at] povray org...
> Here's some mesh making macros I'd like to have some feedback on. Don't
> rely too much on them as they are still changing and some depend on the
> buggy POV-Ray 3.5 splines that also may change.
>
> *Changed parametric a bit, for the better / for the worse?
>
> *Add, where possible, endcapping options?
>
> *Make the macros that use splines more general so they can take arrays
> with points as input. Then provide macros that turn splines, functions
> etc. into point arrays?
>
> *Switches to turn off/on normals, uv_coordinates? Switch to generate
> uv_coordinates in the BuildWriteMesh2 macro instead of on the fly like
> in parametric? The uv-range then would always go from <0,0> - <1,1>.
>
> *Other?
>
>
> There are three more macros under construction:
> * Ruled surfaces, kind off, uses more than 2 splines and does not
> do only linear interpolation. It's finished but very mutch bitten by
> the spline bugs, so I'm not shure wether it actually works right.
> * Prism2, works like Double Sweep in Amapi3D. Half way there.
> * Gordon Surface, probably too ambitious. Should be like Coons though,
> but with more splines (adding 'extended' ruled surfaces?).
>
> Ingo
>
> --
> Photography: http://members.home.nl/ingoogni/
> Pov-Ray : http://members.home.nl/seed7/
>
>
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) |
in news:3bf672a4@news.povray.org JRG wrote:
> Only msm.inc is missing.
No, msm.pov should not have been in there :(
Ingo
--
Photography: http://members.home.nl/ingoogni/
Pov-Ray : http://members.home.nl/seed7/
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) |
On 17 Nov 2001 08:36:51 -0500, ingo <ing### [at] home nl> wrote:
> Here's some mesh making macros I'd like to have some feedback on. Don't
> rely too much on them as they are still changing and some depend on the
> buggy POV-Ray 3.5 splines that also may change.
I played with similiar system like this set of macros. It is supposed to be
standard inlude files for POV 3.5 ?
Here are my propositions:
1. Coons
========
Change header of Coons macro to:
#macro Coons(
Spl1, Min1, Max1,
Spl2, Min2, Max2,
Spl3, Min3, Max3,
Spl4, Min4, Max4,
Iter_U, Iter_V, FileName)
and change calculation of P0 to
#local P0=LInterpolate(
I,
<0,0,0>+Spl1(LInterpolate(J,Min1,Max1)),
<0,0,0>+Spl3(LInterpolate(Jm,Min3,Max3))
) +
LInterpolate(
Jm,
<0,0,0>+Spl2(LInterpolate(I,Min2,Max2)),
<0,0,0>+Spl4(LInterpolate(Im,Min4,Max4))
)-C0;
this way you achive possibility of use smaller number of splines
old syntax
#macro Coons_Simple(Spl1, Spl2, Spl3, Spl4, Iter_U, Iter_V, FileName)
Coons(Spl1,0,1,Spl2,0,1,Spl3,0,1,Spl4,0,1, Iter_U, Iter_V, FileName)
#end
new possibilities
#macro Closed_Surface(Spl, Iter_U, Iter_V, FileName)
Coons(Spl,0,.25,Spl,.25,.5,Spl,.5,.75,Spl,.75,1,Iter_U,Iter_V,FileName)
#end
This way you can simplier control inner behaviour of surface becouse you can
play with it on grid of splines by evaluating subsets.
2. Makemesh
===========
Macros from Makemesh.inc are IMO designed to be more general than only for other
zipped macros they should allow meshes with no normals and no uvvectors. It
could be for example done this way:
//necessary declarations
#declare Empty_List=array[1];
#macro Make_List(Array) array[1]{Array} #end
// sample usage
BuildWriteMesh2(VecArr, Make_List(NormArr), Empty_List, U, V, FileName)
// changed begining of macros
#macro BuildWriteMesh2(VecArr, NormArr, UVArr, U, V, FileName)
#local Normals_Defined=(defined(NormArr[0])?yes:no);
#local UV_Defined=(defined(UVArr[0])?yes:no);
// rest of macro with reference to normals and uv extended with [0]
#end
Also if it is designed as standard include file I think it shuld be better to
refer to standard Interpolate macro or function adjust_range from math.inc.
> *Make the macros that use splines more general so they can take arrays
> with points as input. Then provide macros that turn splines, functions
> etc. into point arrays?
yes.
ABX
--
#declare _=function(a,b,x){((a^2)+(b^2))^.5-x}#default {pigment{color rgb 1}}
union{plane{y,-3}plane{-x,-3}finish{reflection 1 ambient 0}}isosurface{ //ABX
function{_(x-2,y,1)|_((x+y)*.7,z,.1)|_((x+y+2)*.7,z,.1)|_(x/2+y*.8+1.5,z,.1)}
contained_by{box{<0,-3,-.1>,<3,0,.1>}}translate z*15finish{ambient 1}}//POV35
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) |
wrote:
> Here are my propositions:
I forgot about lathe proposition.
There could be yes/no switch to rotate on/off spline during rotation around y
axis. Somethin like (corosssection):
/ | \
/ | \
< | >
\ | /
\ | /
and
/ | /
/ | /
< | <
\ | \
\ | \
ABX
--
#declare _=function(a,b,x){((a^2)+(b^2))^.5-x}#default {pigment{color rgb 1}}
union{plane{y,-3}plane{-x,-3}finish{reflection 1 ambient 0}}isosurface{ //ABX
function{_(x-2,y,1)|_((x+y)*.7,z,.1)|_((x+y+2)*.7,z,.1)|_(x/2+y*.8+1.5,z,.1)}
contained_by{box{<0,-3,-.1>,<3,0,.1>}}translate z*15finish{ambient 1}}//POV35
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) |
wrote:
> Here are my propositions:
Another things.
1. Clipping
It could be interesting when the macros could support clipping_object.
I know - clipped_by could be added to mesh2 but with clipping on the calculation
level you can eliminate triangles outside clipping object. It could save memory
a lot.
2. Output
At this level your macros return file or memory allocation of mesh. It could be
interesting if they could return data structures: arrays with vertices, normals,
uv-vectors and triangles (they are produced temporary). It could be useful for
further ....
3. Manipulation
It could be interesting when two meshes could be joined and produce large arrays
and/or connect similiar vertices and/or smooth normals on the border. Don't
forget about PCM posiibilities.
Do you read my propositions ?
ABX
--
#declare _=function(a,b,x){((a^2)+(b^2))^.5-x}#default {pigment{color rgb 1}}
union{plane{y,-3}plane{-x,-3}finish{reflection 1 ambient 0}}isosurface{ //ABX
function{_(x-2,y,1)|_((x+y)*.7,z,.1)|_((x+y+2)*.7,z,.1)|_(x/2+y*.8+1.5,z,.1)}
contained_by{box{<0,-3,-.1>,<3,0,.1>}}translate z*15finish{ambient 1}}//POV35
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) |
Skiba wrote:
> It is supposed to be standard inlude files for POV 3.5 ?
No
> Here are my propositions:
>
> 1. Coons
>Change header of Coons macro to:
> #macro Coons(
> Spl1, Min1, Max1,
> Spl2, Min2, Max2,
> Spl3, Min3, Max3,
> Spl4, Min4, Max4,
> Iter_U, Iter_V, FileName)
If, then I think it should be part of a method that allows a more
general input than just splines.
> 2. Makemesh
>===========
>
> Macros from Makemesh.inc are IMO designed to be more general than
> only for other zipped macros they should allow meshes with no
> normals and no uvvectors.
Yes.
Ingo
--
Photography: http://members.home.nl/ingoogni/
Pov-Ray : http://members.home.nl/seed7/
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) |
Skiba wrote:
> There could be yes/no switch to rotate on/off spline during
> rotation around y axis.
Nice. Also thought about adding a 'twist' option to the prism.
Ingo
--
Photography: http://members.home.nl/ingoogni/
Pov-Ray : http://members.home.nl/seed7/
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) |
Skiba wrote:
> 1. Clipping
>
Don't know, I'll think about it.
> 2. Output
>
Yes, it's one of the things I'm working on.
> 3. Manipulation
>
> It could be interesting when two meshes could be joined and produce
> large arrays and/or connect similiar vertices and/or smooth normals
> on the border. Don't forget about PCM posiibilities.
> Do you read my propositions ?
Yes, had lost my connection for a few days :(
Ingo
--
Photography: http://members.home.nl/ingoogni/
Pov-Ray : http://members.home.nl/seed7/
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) |
On 28 Nov 2001 07:18:04 -0500, ingo <ing### [at] home nl> wrote:
> > 2. Output
>
> Yes, it's one of the things I'm working on.
Look at the attached file.
ABX
--
#declare _=function(a,b,x){((a^2)+(b^2))^.5-x}#default {pigment{color rgb 1}}
union{plane{y,-3}plane{-x,-3}finish{reflection 1 ambient 0}}isosurface{ //ABX
function{_(x-2,y,1)|_((x+y)*.7,z,.1)|_((x+y+2)*.7,z,.1)|_(x/2+y*.8+1.5,z,.1)}
contained_by{box{<0,-3,-.1>,<3,0,.1>}}translate z*15finish{ambient 1}}//POV35
Post a reply to this message
Attachments:
Download 'structs.inc.txt' (11 KB)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |