POV-Ray : Newsgroups : povray.binaries.scene-files : mesh creation macros Server Time
2 Sep 2024 14:15:27 EDT (-0400)
  mesh creation macros (Message 3 to 12 of 12)  
<<< Previous 2 Messages Goto Initial 10 Messages
From: ingo
Subject: Re: mesh creation macros
Date: 17 Nov 2001 11:13:44
Message: <Xns915CAF4284861seed7@povray.org>
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

From:
Subject: Re: mesh creation macros
Date: 26 Nov 2001 10:05:38
Message: <opj40u8js0ku3s01riap7b9d0v1d71v0kp@4ax.com>
On 17 Nov 2001 08:36:51 -0500, ingo <ing### [at] homenl> 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

From:
Subject: Re: mesh creation macros
Date: 27 Nov 2001 09:19:44
Message: <02870u0f29o4uancolobb0ucvv8fp0eam7@4ax.com>

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

From:
Subject: Re: mesh creation macros
Date: 28 Nov 2001 07:04:54
Message: <a2k90u0l561avfr1dh5tiunmdbcqod6qak@4ax.com>

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

From: ingo
Subject: Re: mesh creation macros
Date: 28 Nov 2001 07:11:32
Message: <Xns91678633F7EABseed7@povray.org>

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

From: ingo
Subject: Re: mesh creation macros
Date: 28 Nov 2001 07:12:35
Message: <Xns91678661A9E9Fseed7@povray.org>

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

From: ingo
Subject: Re: mesh creation macros
Date: 28 Nov 2001 07:18:04
Message: <Xns9167874F6C315seed7@povray.org>

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

From:
Subject: Re: mesh creation macros
Date: 28 Nov 2001 07:28:23
Message: <11m90u0bdqeo9u3airdias53s9rdsg4u2l@4ax.com>
On 28 Nov 2001 07:18:04 -0500, ingo <ing### [at] homenl> 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)

From:
Subject: Re: mesh creation macros
Date: 28 Nov 2001 07:39:11
Message: <pll90ugbknlibau83uadlit68ptreamp0l@4ax.com>
On 28 Nov 2001 07:11:32 -0500, ingo <ing### [at] homenl> wrote:
> If, then I think it should be part of a method that allows a more 
> general input than just splines.

Ok, I try write something about my system. I tried it more general - it could
work with set of points, splines, functions, spline on surface, qurve joined
from any previous one etc.
I just created macros/initializers
  Create_Qurve_From_Spline("Name",Spline)
  Create_Qurve_From_Function("Name",Function)
  Create_Linear_Qurve("Name",Points)
  Create_Joined_Qurve("Name","Qurve1","Qurve2")
end every above have created methods and properties like Get_Name_Length,
Get_Name_Point(S) etc. They were fast becouse they were parsed as ready macros.
So when I called Get_Length("Name") calculated Get_Name_Length was used. The
same I started with surfaces. Surface get any kind of qurve becouse it calls
global methods Get_Point("Name",U). Internally it still uses original function
or spline or set of points or set of any other qurves.

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

From: ingo
Subject: Re: mesh creation macros
Date: 29 Nov 2001 14:22:48
Message: <Xns9168CF51CA1E7seed7@povray.org>

Skiba wrote:

> Look at the attached file.
> 
> 

I'll investigate.

Thanks for the feedback,

Ingo

-- 
Photography: http://members.home.nl/ingoogni/
Pov-Ray    : http://members.home.nl/seed7/


Post a reply to this message

<<< Previous 2 Messages Goto Initial 10 Messages

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.