|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I try to calculate a mesh2 with math functions. I can't get the code to run. It
stops at the bracket } of the vertex_vectors statement (after the #debug
statement). Probably I do a beginners error. Can you help me?
Here the code:
//
// Meash2test
//
//
#version 3.7;
#include "colors.inc" // The include files contain
#include "stones.inc" // pre-defined scene elements
background { color Cyan }
light_source { <2, 4, -3> color White}
#declare r = 7;
#declare phi = -1.5;
camera {
location <r*cos(phi), 1, r*sin(phi)>
look_at <0, 1, 2>
}
#declare n = 3;
#declare m = 3;
#declare vec = n * m;
#declare f = 2 * (n - 1) * (m - 1);
#declare r = 0.2;
#declare phi = 3.14 / 10;
mesh2 {
vertex_vectors {
vec
#declare i = 0;
#declare j = 0;
#while(i<n)
#while(j<m)
#declare x1 = pow(i*r,5) * cos(5 * j * phi) - i * r * cos(j * phi);
#declare y1 = pow(i * r,5) * sin(5 * j * phi) - i * r * sin(j * phi);
#declare z1 = i*r + j*phi;
,<x1,y1,z1>
#declare j = j + 1;
#end
#declare i = i + 1;
#end
#debug concat("i=",str(i,0,0), " j=",str(j,0,0))
}
face_indices {
f
#declare i = 1;
#declare j = 0;
#while(i < n)
#while(j < m)
#declare k = i * n + j;
#declare k1 = k - m;
#declare k2 = k - m + 1;
#declare k3 = k + 1;
,<k,k1,k2>, <k, k2, k3>
#declare j = j + 1;
#end
#declare i = i + 1;
#end
}
pigment {rgb 1}
}
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Am 01.09.2016 um 21:54 schrieb Markus:
> vertex_vectors {
> vec
>
> #declare i = 0;
> #declare j = 0;
> #while(i<n)
you want to move the "#declare j = 0" into the outer loop.
> #while(j<m)
> #declare x1 = pow(i*r,5) * cos(5 * j * phi) - i * r * cos(j * phi);
> #declare y1 = pow(i * r,5) * sin(5 * j * phi) - i * r * sin(j * phi);
> #declare z1 = i*r + j*phi;
>
> ,<x1,y1,z1>
>
> #declare j = j + 1;
> #end
> #declare i = i + 1;
> #end
Also, presuming you are using POV-Ray 3.7, to avoid such mistakes you
can instead use the `#for` statement, which initializes and increments
the variable automatically.
#for(i,0,n-1)
#for(j,0,m-1)
...
#end
#end
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
clipka <ano### [at] anonymousorg> wrote:
> Am 01.09.2016 um 21:54 schrieb Markus:
>
> > vertex_vectors {
> > vec
> >
> > #declare i = 0;
> > #declare j = 0;
> > #while(i<n)
>
> you want to move the "#declare j = 0" into the outer loop.
>
> > #while(j<m)
> > #declare x1 = pow(i*r,5) * cos(5 * j * phi) - i * r * cos(j * phi);
> > #declare y1 = pow(i * r,5) * sin(5 * j * phi) - i * r * sin(j * phi);
> > #declare z1 = i*r + j*phi;
> >
> > ,<x1,y1,z1>
> >
> > #declare j = j + 1;
> > #end
> > #declare i = i + 1;
> > #end
>
> Also, presuming you are using POV-Ray 3.7, to avoid such mistakes you
> can instead use the `#for` statement, which initializes and increments
> the variable automatically.
>
> #for(i,0,n-1)
> #for(j,0,m-1)
> ...
> #end
> #end
Thanks, this helped :-)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|