 |
 |
|
 |
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
hughes, b. wrote:
> A prism for a dodecahedron?
I think he meant a (extruded) regular 12-sided polygon. Don't know if it
has an "official" name, but his guess, "dodecagon", sounds logical to me...
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Correct, that is what I meant. :-) "Dodeca-" I took to mean the prefix
for twelve, and "gon" I thought would be the suffix for a multi-sided
geometric shape.
-MW
Johannes Dahlstrom wrote:
>
> hughes, b. wrote:
>
> > A prism for a dodecahedron?
>
> I think he meant a (extruded) regular 12-sided polygon. Don't know if it
> has an "official" name, but his guess, "dodecagon", sounds logical to me...
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
The number of sides to the extruded shape is not as much the matter as
is the question of how to rotate vectors of a given distance from the
origin (in XZ plane) around the y-axis. Looks like this 'vrotate' is
worth a look. Let me go study some... Unless of course one of you
decides to GIVE me the answer... ;-)
--LibraryMan
Christoph Hormann wrote:
>
> LibraryMan wrote:
> >
> > Hi,
> > I'm trying to do a prism with a dodecagon (? -- anyway, polygon with 12
> > equal sides ) face and instead of trying to figure out the exact vectors
> > of the points, I wanted to do something like specifying every 4th
> > vector, then rotating the in-betweens around the y-axis, like this:
> >
> > #declare v_01 = <0.5, 0> ;
> > #declare v_02 = <0.5, 0> rotate y*30 ;
> > [...]
>
> Bob's suggestion is surely the best for your purpose but
> rotating/transforming vectors can be done with
> 'vrotate()'/'vtransform()'. See the documentation for details.
>
> Christoph
>
> --
> POV-Ray tutorials, include files, Sim-POV,
> HCR-Edit and more: http://www.tu-bs.de/~y0013390/
> Last updated 02 Nov. 2002 _____./\/^>_*_<^\/\.______
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"LibraryMan" <mrm### [at] att net> wrote in message
news:3DCFEC0E.9C09C925@att.net...
> The number of sides to the extruded shape is not as much the matter as
> is the question of how to rotate vectors of a given distance from the
> origin (in XZ plane) around the y-axis. Looks like this 'vrotate' is
> worth a look. Let me go study some... Unless of course one of you
> decides to GIVE me the answer... ;-)
I don't think anything written up for POV so far does something with the uv
kind of vectors such as prism uses. Checking out vrotate for that here got
me nowhere even though I tried to use the dot operator in an attempt to
limit the usual 3 float vectors to two floats but POV will not allow it into
the prism.
I had a feeling you knew a prism wasn't going to do a dodecahedron but I
didn't catch on about the dodecagon name and jumped ahead that you were
confused about the prism. My fault, sorry.
If anyone tells of a way to work with the uv vector, as described above, I'm
all ears too.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
BTW, what are uv vectors (RANK newbie here!)
Wow, it's hard to believe something simple enough for _ME_ to come up
with it isn't actually possible
to do!! I mean, in principle it ought to work, right? POV's SDL can do
so many other things (that I sure DON'T understand! ;-) )
I was allowed to declare the following vectors, no problem, :
#declare v_01 = <0.5, 0, 0>;
#declare v_02 = vrotate(<0.5, 0, 0>,y*30);
#declare v_03 = vrotate(<0.5, 0, 0>,y*60);
#declare v_04 = <0, 0, -0.5>;
#declare v_05 = vrotate(<0, 0, -0.5>,y*30);
#declare v_06 = vrotate (<0, 0, -0.5>,y*60);
#declare v_07 = <-0.5, 0, 0>;
#declare v_08 = vrotate(<-0.5, 0, 0>,y*30);
#declare v_09 = vrotate(<-0.5, 0, 0>,y*60);
#declare v_10 = <0, 0, 0.5>;
#declare v_11 = vrotate(<0, 0, 0.5>,y*30);
#declare v_12 = vrotate(<0, 0, 0.5>,y*60);
But when it came to actually using them in the prism, like so:
prism {
linear_sweep
linear_spline
0,
1,
13,
v_01, v_02, v_03, v_04, v_05, v_06, v_07, v_08, v_09, v_10, v_11, v_12,
v_01
pigment { Green }
}
POV choked on it! AARRGGGH! It's SO simple! Why isn't it possible?!
--Mark
"hughes, b." wrote:
>
> I don't think anything written up for POV so far does something with the uv
> kind of vectors such as prism uses. Checking out vrotate for that here got
> me nowhere even though I tried to use the dot operator in an attempt to
> limit the usual 3 float vectors to two floats but POV will not allow it into
> the prism.
>
> I had a feeling you knew a prism wasn't going to do a dodecahedron but I
> didn't catch on about the dodecagon name and jumped ahead that you were
> confused about the prism. My fault, sorry.
>
> If anyone tells of a way to work with the uv vector, as described above, I'm
> all ears too.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
I quote from section 4.1.4 of the manual for POV v3.1g:
"A vector is a set of related float values. Vectors may be specified
using literals, identifiers or functions which return vector values. You
may also create very complex vector
expressions from combinations of any of these using various familiar
operators."
I _SHOULD_ be able to use the identifiers as vectors in the prism
statement, shouldn't I? If not, the above is a LIE!
Anyone? (Bueller?...)
--Mark
"hughes, b." wrote:
>
> "LibraryMan" <mrm### [at] att net> wrote in message
> news:3DCFEC0E.9C09C925@att.net...
> > The number of sides to the extruded shape is not as much the matter as
> > is the question of how to rotate vectors of a given distance from the
> > origin (in XZ plane) around the y-axis. Looks like this 'vrotate' is
> > worth a look. Let me go study some... Unless of course one of you
> > decides to GIVE me the answer... ;-)
>
> I don't think anything written up for POV so far does something with the uv
> kind of vectors such as prism uses. Checking out vrotate for that here got
> me nowhere even though I tried to use the dot operator in an attempt to
> limit the usual 3 float vectors to two floats but POV will not allow it into
> the prism.
>
> I had a feeling you knew a prism wasn't going to do a dodecahedron but I
> didn't catch on about the dodecagon name and jumped ahead that you were
> confused about the prism. My fault, sorry.
>
> If anyone tells of a way to work with the uv vector, as described above, I'm
> all ears too.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
LibraryMan wrote:
>
> I quote from section 4.1.4 of the manual for POV v3.1g:
This corresponds to section 6.1.4 of the POV 3.5 help (for Win).
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
In article <3DD0220B.1B5F76C3@att.net>, LibraryMan <mrm### [at] att net>
wrote:
> POV choked on it! AARRGGGH! It's SO simple! Why isn't it possible?!
It is possible, POV just choked because you gave it bad information. It
is expecting a 2D vector in this case, you gave it a 3D vector. I'm not
really sure what it would do in this case, either chop off the third
component or give an error. Either way, it would not work...the third
component is one you need. If you replace each "v_XX" with "< v_XX.x,
v_XX.z>" it should work fine. If POV truncates 3D vectors to 2D ones,
you just need to use coordinates in the xy plane and rotate around the z
axis. I know that seems counterintuitive when the prism is in the xz
plane.
Here are a couple macros that might be useful:
This macro truncates a vector to 2D, only useful if POV doesn't do it
automatically:
#macro V2D(V) (<V.x, V.y>) #end
You would need to rearrange your vectors to be in the xy plane to use
this macro. Or use this version:
#macro V_XZ(V) (<V.x, V.z>) #end
Another one, takes a 2D vector and angle to rotate it around the z axis:
#macro VRotate2D(V, A)
#local Tmp = vrotate(V, z*A);
(< Tmp.x, Tmp.y>)
#end
And if you are trying to get a perfect dodecagon, you are doing it the
hard way...you could just use a loop:
#macro RegularPrism(Sides
prism {linear_sweep linear_spline
#local J = 0;
#while(J < Sides)
VRotate2D(<1, 0>, 360*J/12)
#declare J = J + 1;
#end
}
#end
object {RegularPrism(12)
pigment {color Green}
}
--
Christopher James Huff <cja### [at] earthlink net>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tag povray org
http://tag.povray.org/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
I did get it accepting the 2D vectors, as Chris had shown by forcing them
within the prism. I kept getting a 3D (or 4D or 5D?) when predeclaring even
with dot operators.
No dodecahedron (yet), so I leave that up to you to try and figure out.
Especially since I'm not sure what I'm doing with it. Chris's loop idea
sounds simpler but I couldn't get it to make one by rotating just the x
value, not with the loop he suggested though.
#declare v_01 = <0.5, 0>;
#declare v_02 = vrotate(<0.5, 0>,30*y);
#declare v_03 = vrotate(<0.5, 0>,60*y);
#declare v_04 = <0, -0.5>;
#declare v_05 = vrotate(<0, -0.5>,30*y);
#declare v_06 = vrotate(<0, -0.5>,60*y);
#declare v_07 = <-0.5, 0>;
#declare v_08 = vrotate(<-0.5, 0>,30*y);
#declare v_09 = vrotate(<-0.5, 0>,60*y);
#declare v_10 = <0, 0.5>;
#declare v_11 = vrotate(<0, 0.5>,30*y);
#declare v_12 = vrotate(<0, 0.5>,60*y);
prism {
linear_sweep
linear_spline
0, // sweep the following shape from here ...
1, // ... up through here
13, // the number of points making up the shape ...
<v_01.x,v_01.y>, <v_02.x,v_02.y>, <v_03.x,v_03.y>, <v_04.x,v_04.y>,
<v_05.x,v_05.y>, <v_06.x,v_06.y>, <v_07.x,v_07.y>,
<v_08.x,v_08.y>, <v_09.x,v_09.y>, <v_10.x,v_10.y>, <v_11.x,v_11.y>,
<v_12.x,v_12.y>, <v_01.x,v_01.y>
pigment { color rgb <0,1,0> }
rotate -90*x // face camera
}
camera {
location -4*z
look_at 0
}
light_source {
<10,10,-10>,<1,0.5,1>
}
light_source {
<-10,-10,-10>,<0.5,1,0.5>
}
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
In article <3dd05985@news.povray.org>,
"hughes, b." <omn### [at] charter net> wrote:
> No dodecahedron (yet), so I leave that up to you to try and figure out.
There's one in the include files.
> Especially since I'm not sure what I'm doing with it. Chris's loop idea
> sounds simpler but I couldn't get it to make one by rotating just the x
> value, not with the loop he suggested though.
The main problem was not with the loop, but with the prism statement, I
didn't give a complete one. My excuse? I've never used the object
before... ;-)
There was also a typo that would have made it work only with 12 sides,
but that doesn't seem to be what you ran into.
I'm not sure what you mean by "rotating just the x value", unless you
mean x as in < 1, 0, 0>.
This seems to work fine, with shorter code, and supporting any number of
sides.
global_settings {assumed_gamma 1}
#declare CamPos = <-3, 2.5,-8>;
camera {
location CamPos
look_at < 0, 0, 0>
angle 45
}
light_source {<-50,-50,-50>, color rgb 1}
light_source {CamPos, color rgb 0.05}
#macro VRotate2D(V, A)
#local Tmp = vrotate(V, z*A);
(< Tmp.x, Tmp.y>)
#end
#macro RegularPrism(Height1, Height2, Sides)
prism {linear_sweep linear_spline
Height1, Height2, Sides
#local J = 0;
#while(J < Sides)
VRotate2D(x, 360*J/Sides)
#local J = J + 1;
#end
}
#end
object {RegularPrism(0, 1, 12)
pigment {color rgb 1}
finish {ambient 0}
rotate -x*45
}
--
Christopher James Huff <cja### [at] earthlink net>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tag povray org
http://tag.povray.org/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|
 |