POV-Ray : Newsgroups : povray.binaries.images : joining the greeble-madness :) Server Time
13 Oct 2026 18:34:10 EDT (-0400)
  joining the greeble-madness :) (Message 1 to 47 of 47)  
From: Zeger Knaepen
Subject: joining the greeble-madness :)
Date: 14 May 2006 13:12:20
Message: <446764f4@news.povray.org>
I just *had* to try to make my own greeble-macro :)

here's a first result, rendertime: 3'48" on a Sempron 2400+ with 768MB RAM, 
running Windows XP SP2

comments are more than welcome !

cu!
-- 
#macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
#end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
_(0x+y.5+y/2x)_(0x-y.5+y/2x)            // ZK http://www.povplace.com


Post a reply to this message


Attachments:
Download 'greebles.jpg' (73 KB)

Preview of image 'greebles.jpg'
greebles.jpg


 

From: Jim Charter
Subject: Re: joining the greeble-madness :)
Date: 14 May 2006 13:52:04
Message: <44676e44$1@news.povray.org>
Zeger Knaepen wrote:
> I just *had* to try to make my own greeble-macro :)
> 
> here's a first result, rendertime: 3'48" on a Sempron 2400+ with 768MB RAM, 
> running Windows XP SP2
> 
> comments are more than welcome !
> 
> cu!
> 
I think it is a bit of a stylistic departure from the usual but the 
result is attractive, even gorgeous, and useful I think.

The obvious problem with this and the other attempts at an automated 
generator is the lack of averarching elements that would span "cells" 
Simply varying the scale of the cells does not get that effect.


Post a reply to this message

From: Sven Littkowski
Subject: Feedback
Date: 14 May 2006 19:28:54
Message: <4467bd36@news.povray.org>
Hmmm...

It is looking gorgeous, for my eyes! It is a good combination of greebles 
and metallic texture.
I also like that cell structure which reminds me for a large town full of 
huge buildings. Here, in this case, it ensures that the shown ship section 
indicates its huge size. Your design is actually better than my greebles I 
use for the Imperial Carrier SENECA. Actually, I would like to climb my 
X-Wing, and dive down into these artificial ravines hunting some imperial 
fighters..!

An additional idea: add a few very fine (very thin) antennas randomly, maybe 
with having a few anti-collision lights on them (no light but ambient 1.0). 
Probably, the tiny antennas would be recognizable from this distance.

Another idea: Build a macro which can be applied to cylindrical objects, 
which will have a fluid move from surface structures (as seen here) to side 
structures and (maybe) bottom structures. Wow!

Last idea: The borders of these ravines shouldn't be too straight like cut 
by a knife - let these ravines have slightly different diameters (just 
slightly, not more).

This here seems to be a surface macro. I would be veeery interested now to 
see a side macro (different shapes and structure) and a front macro (again 
different structures, I guess, and kind of symetrical).

Again: it looks damn good! This macro will become the stuff many of us will 
want for our future armadas of starships!!!

Greetings,

Sven




"Zeger Knaepen" <zeg### [at] povplacecom> schrieb im Newsbeitrag 
news:446764f4@news.povray.org...
>I just *had* to try to make my own greeble-macro :)
>
> here's a first result, rendertime: 3'48" on a Sempron 2400+ with 768MB 
> RAM, running Windows XP SP2
>
> comments are more than welcome !
>
> cu!
> -- 
> #macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
> sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
> #end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
> _(0x+y.5+y/2x)_(0x-y.5+y/2x)            // ZK http://www.povplace.com
>
>
>


Post a reply to this message

From: mine
Subject: Re: joining the greeble-madness :)
Date: 14 May 2006 22:15:00
Message: <web.4467e3124b8a9084a533cc200@news.povray.org>
"Zeger Knaepen" <zeg### [at] povplacecom> wrote:
> I just *had* to try to make my own greeble-macro :)
>
> here's a first result, rendertime: 3'48" on a Sempron 2400+ with 768MB RAM,
> running Windows XP SP2
>
> comments are more than welcome !
>
> cu!
> --
> #macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
> sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
> #end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
> _(0x+y.5+y/2x)_(0x-y.5+y/2x)            // ZK http://www.povplace.com

Nice, I like it! Never mind the fact that i didn't know what a greeble was
and had to google it to find out!! Are they difficult to do?


Post a reply to this message

From: Zeger Knaepen
Subject: Re: joining the greeble-madness :)
Date: 15 May 2006 03:20:48
Message: <44682bd0$1@news.povray.org>
"Jim Charter" <jrc### [at] msncom> wrote in message 
news:44676e44$1@news.povray.org...
> I think it is a bit of a stylistic departure from the usual but the 
> result is attractive, even gorgeous, and useful I think.

thanks :)
 
> The obvious problem with this and the other attempts at an automated 
> generator is the lack of averarching elements that would span "cells" 
> Simply varying the scale of the cells does not get that effect.

true, but I'll try to work on that :)

cu!
-- 
#macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
#end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
_(0x+y.5+y/2x)_(0x-y.5+y/2x)            // ZK http://www.povplace.com


Post a reply to this message

From: Zeger Knaepen
Subject: Re: joining the greeble-madness :)
Date: 15 May 2006 03:25:29
Message: <44682ce9@news.povray.org>
> Nice, I like it!

thank you :)

> Never mind the fact that i didn't know what a greeble was
> and had to google it to find out!! Are they difficult to do?

depends on how detailed it needs to be.  For long shots, my macros might 
be good enough, but in close-up they'll look kind of lame :)

cu!
-- 
#macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
#end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
_(0x+y.5+y/2x)_(0x-y.5+y/2x)            // ZK http://www.povplace.com


Post a reply to this message

From: Zeger Knaepen
Subject: Re: Feedback
Date: 15 May 2006 03:32:17
Message: <44682e81$1@news.povray.org>
"Sven Littkowski" <sve### [at] jamaica-focuscom> wrote in message 
news:4467bd36@news.povray.org...
> Hmmm...
> 
> It is looking gorgeous, for my eyes! It is a good combination of 
greebles 
> and metallic texture.

thanks :)

> I also like that cell structure which reminds me for a large town full 
of 
> huge buildings. Here, in this case, it ensures that the shown ship 
section 
> indicates its huge size. Your design is actually better than my 
greebles I 
> use for the Imperial Carrier SENECA. Actually, I would like to climb 
my 
> X-Wing, and dive down into these artificial ravines hunting some 
imperial 
> fighters..!

hehe :)
I was just trying to create a city-macro based on this greeble-macro :)
 
> An additional idea: add a few very fine (very thin) antennas randomly, 
maybe 
> with having a few anti-collision lights on them (no light but ambient 
1.0). 
> Probably, the tiny antennas would be recognizable from this distance.

good idea! I'll try that !
 
> Another idea: Build a macro which can be applied to cylindrical 
objects, 
> which will have a fluid move from surface structures (as seen here) to 
side 
> structures and (maybe) bottom structures. Wow!

sounds difficult, but not impossible :)
 
> Last idea: The borders of these ravines shouldn't be too straight like 
cut 
> by a knife - let these ravines have slightly different diameters (just 

> slightly, not more).

well, for the city-macro I just made, I made it possible to have streets 
between the buildings (kind of obvious, no? :)), so it shouldn't be any 
problem to do that also with the greeble-macro :)
 
> This here seems to be a surface macro. I would be veeery interested 
now to 
> see a side macro (different shapes and structure) and a front macro 
(again 
> different structures, I guess, and kind of symetrical).

first I'll try to finish this, with more interesting greeble-objects 
than just superellipsoids
then I'm going to try to make a triangular version of this macro... 
don't know how exactly yet though :-/
after that's done, I'll try to make that side- (with windows), front- 
(maybe with extra weapons?), back- (possibly with engines?), ... -macros 
:)
 
> Again: it looks damn good! This macro will become the stuff many of us 
will 
> want for our future armadas of starships!!!

:)

cu!
-- 
#macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
#end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
_(0x+y.5+y/2x)_(0x-y.5+y/2x)            // ZK http://www.povplace.com


Post a reply to this message

From: Thomas de Groot
Subject: Re: joining the greeble-madness :)
Date: 15 May 2006 05:06:33
Message: <44684499$1@news.povray.org>
"Zeger Knaepen" <zeg### [at] povplacecom> schreef in bericht
news:446764f4@news.povray.org...
> I just *had* to try to make my own greeble-macro :)
>

This is the kind of greeble I like very much: not too intrusive, but subtly
guiding the eyes over the surface. Good work Zeger! Could be used
architecturally, on a curtain wall.

Thomas


Post a reply to this message

From: Warp
Subject: Re: joining the greeble-madness :)
Date: 15 May 2006 06:29:35
Message: <4468580f$1@news.povray.org>
You will be assimilated! Resistance is futile!


Post a reply to this message

From: Mike Williams
Subject: Re: Feedback
Date: 15 May 2006 07:04:59
Message: <0SzOrBAZ1FaEFwMd@econym.demon.co.uk>
Wasn't it Zeger Knaepen who wrote:

>I was just trying to create a city-macro based on this greeble-macro :)

I went the other way. I based my Greeble code on the macro that I used
to generate this city:
http://www.econym.demon.co.uk/pictures/cityscape.jpg

-- 
Mike Williams
Gentleman of Leisure


Post a reply to this message

From: Zeger Knaepen
Subject: Re: joining the greeble-madness :)
Date: 15 May 2006 08:54:49
Message: <44687a19@news.povray.org>
> This is the kind of greeble I like very much: not too intrusive, but 
subtly
> guiding the eyes over the surface. Good work Zeger!

thank you! :)

cu!
-- 
#macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
#end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
_(0x+y.5+y/2x)_(0x-y.5+y/2x)            // ZK http://www.povplace.com


Post a reply to this message

From: Sven Littkowski
Subject: Re: joining the greeble-madness :)
Date: 15 May 2006 12:34:04
Message: <4468ad7c@news.povray.org>
Be careful, Borg! We otherwise will get support from our captain who will 
come back to us from the near future! With nano viruses which will destroy 
you Borg from within, as soon as you assimilate!

:-)   ;-)   :-D

Sven


"Warp" <war### [at] tagpovrayorg> schrieb im Newsbeitrag 
news:4468580f$1@news.povray.org...
>   You will be assimilated! Resistance is futile!


Post a reply to this message

From: Sven Littkowski
Subject: Question
Date: 15 May 2006 14:44:43
Message: <4468cc1b$1@news.povray.org>
Hi!

Will it be able to use different textures for vertical and for surface 
areas? That would allow the usage of windows for all side areas of your very 
useful and breathtaking macro! Best would be, one texture for front and 
back, one for left and right, and one for surface (and bottom).

Respect,

Sven


Post a reply to this message

From: Zeger Knaepen
Subject: Re: Question
Date: 15 May 2006 15:28:22
Message: <4468d656$1@news.povray.org>
"Sven Littkowski" <sve### [at] jamaica-focuscom> wrote in message 
news:4468cc1b$1@news.povray.org...
> Hi!
> 
> Will it be able to use different textures for vertical and for surface 

> areas? That would allow the usage of windows for all side areas of 
your very 
> useful and breathtaking macro! Best would be, one texture for front 
and 
> back, one for left and right, and one for surface (and bottom).

as it is now, the texture has nothing to do with the macro, the macro 
only handles the geometry, so yes, you can define different textures for 
any part :)

btw, has anyone got any idea on how to subdivide a triangle to make the 
"greeble-cells" ? :-/

cu!
-- 
#macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
#end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
_(0x+y.5+y/2x)_(0x-y.5+y/2x)            // ZK http://www.povplace.com


Post a reply to this message

From: John VanSickle
Subject: Re: joining the greeble-madness :)
Date: 16 May 2006 00:29:57
Message: <44695545$1@news.povray.org>
Zeger Knaepen wrote:

> I just *had* to try to make my own greeble-macro :)
> 
> here's a first result, rendertime: 3'48" on a Sempron 2400+ with 768MB RAM, 
> running Windows XP SP2
> 
> comments are more than welcome !
> 
> cu!

This one's actually quite good.  A nice metallic texture, instead of 
polished marble.

Regards,
John


Post a reply to this message

From: John VanSickle
Subject: Re: joining the greeble-madness :)
Date: 16 May 2006 00:44:48
Message: <446958c0$1@news.povray.org>
Jim Charter wrote:

> Zeger Knaepen wrote:
> 
>> I just *had* to try to make my own greeble-macro :)
>>
>> here's a first result, rendertime: 3'48" on a Sempron 2400+ with 768MB 
>> RAM, running Windows XP SP2
>>
>> comments are more than welcome !
>>
>> cu!
>>
> I think it is a bit of a stylistic departure from the usual but the 
> result is attractive, even gorgeous, and useful I think.
> 
> The obvious problem with this and the other attempts at an automated 
> generator is the lack of averarching elements that would span "cells" 
> Simply varying the scale of the cells does not get that effect.

One way is to give cells borders, and require that two cell types cannot 
meet unless their typing along that border matches.  Then you can 
sprinkle some stand-alone cells in with larger pieces, and even 
irregular pieces.  The tricky part is to make sure that the surface can 
be completely tiled in this way.

Or you can have multiple layers of greebling, in which the higher level 
has tubes and stuff that traverse the lower-level tiles.

Regards,
John


Post a reply to this message

From: John VanSickle
Subject: Re: Question
Date: 16 May 2006 00:47:26
Message: <4469595e$1@news.povray.org>
Zeger Knaepen wrote:

> btw, has anyone got any idea on how to subdivide a triangle to make the
"greeble-cells" ? :-/

Depends on the proportions of the triangle.  An equilateral is best 
subdivided into smaller equilaterals.  A triangle with the golden ratio 
between its sides is best divided with a Penrose tiling.

Regards,
John


Post a reply to this message

From: Zeger Knaepen
Subject: Re: joining the greeble-madness :)
Date: 16 May 2006 06:25:18
Message: <4469a88e$1@news.povray.org>
> This one's actually quite good.  A nice metallic texture, instead of 
> polished marble.

thanks :)
it's the same texture I use for almost all of my scifi-images actually 
:)

cu!
-- 
#macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
#end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
_(0x+y.5+y/2x)_(0x-y.5+y/2x)            // ZK http://www.povplace.com


Post a reply to this message

From: Zeger Knaepen
Subject: Re: Question
Date: 16 May 2006 08:04:50
Message: <4469bfe2@news.povray.org>
"John VanSickle" <evi### [at] hotmailcom> wrote in message 
news:4469595e$1@news.povray.org...
> Zeger Knaepen wrote:
> 
> > btw, has anyone got any idea on how to subdivide a triangle to make 
the "greeble-cells" ? :-/
> 
> Depends on the proportions of the triangle.  An equilateral is best 
> subdivided into smaller equilaterals.  A triangle with the golden 
ratio 
> between its sides is best divided with a Penrose tiling.

I'll have to look that up !
Right now I'm trying a "universal 4-sided polygon greeble-cell 
generator", with 2 points at the same location.  Looks useful imho.

cu!
-- 
#macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
#end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
_(0x+y.5+y/2x)_(0x-y.5+y/2x)            // ZK http://www.povplace.com


Post a reply to this message


Attachments:
Download 'vierhoekgreeble.jpg' (51 KB)

Preview of image 'vierhoekgreeble.jpg'
vierhoekgreeble.jpg


 

From: How Camp
Subject: Re: Question
Date: 16 May 2006 08:43:32
Message: <4469c8f4$1@news.povray.org>
"Zeger Knaepen" <zeg### [at] povplacecom> wrote in message 
news:4469bfe2@news.povray.org...

> Right now I'm trying a "universal 4-sided polygon greeble-cell generator",
> with 2 points at the same location.  Looks useful imho.


Wow, this is really nice.  What more can you share about this technique?

- How


Post a reply to this message

From: Zeger Knaepen
Subject: Re: Question
Date: 16 May 2006 09:10:18
Message: <4469cf3a$1@news.povray.org>
"How Camp" <hac### [at] gmailcom> wrote in message 
news:4469c8f4$1@news.povray.org...
> "Zeger Knaepen" <zeg### [at] povplacecom> wrote in message 
> news:4469bfe2@news.povray.org...
> 
> > Right now I'm trying a "universal 4-sided polygon greeble-cell 
generator",
> > with 2 points at the same location.  Looks useful imho.
> 
> 
> Wow, this is really nice.  What more can you share about this 
technique?

here's some code:

-- start code --
camera {
 location <-2,5,-5>/3
 look_at <-.5,.5,0>
}
light_source {<750,180,750> rgb 1+<.5,.4,.3>}
light_source {<-150,180,-75> rgb <.3,.4,.5> }//shadowless}
light_source {<750,80,-500> rgb <.4,.5,.9>/4 shadowless}
light_source {<-75,80,500> rgb 1+<.4,.5,.9>/4}
#declare Seed=seed(4);
#macro Verlaag4(X)
 #local R=X-(1+rand(Seed)*.25);
 R
#end

#macro PointAt(H1,H2,P)
 #local R=H1+(H2-H1)*P;
 R
#end
#macro VerdeelVierhoek(H1,H2,H3,H4,Diepte,Seed)
 #local H1=H1*<1,1>;
 #local H2=H2*<1,1>;
 #local H3=H3*<1,1>;
 #local H4=H4*<1,1>;
 
 #if (Diepte<0)
  #local R=.002;
  #local R2=R*(3+rand(Seed)*0);
  #local M=(H1+H2+H3+H4)/4;
  #local NH1=H1+vnormalize(M-H1)*R2;
  #local NH2=H2+vnormalize(M-H2)*R2;
  #local NH3=H3+vnormalize(M-H3)*R2;
  #local NH4=H4+vnormalize(M-H4)*R2;
   #local NH1=<NH1.u,NH1.v>;
   #local NH2=<NH2.u,NH2.v>;
   #local NH3=<NH3.u,NH3.v>;
   #local NH4=<NH4.u,NH4.v>;
  union {
   prism {
    linear_spline
    linear_sweep
    -.0001,0,
    5
    H1,H2,H3,H4,H1
   }
   #if (vlength(NH1-NH2)!=0) cylinder 
{<NH1.u,0,NH1.v>,<NH2.u,0,NH2.v>,R} #end
   #if (vlength(NH2-NH3)!=0) cylinder 
{<NH2.u,0,NH2.v>,<NH3.u,0,NH3.v>,R} #end
   #if (vlength(NH3-NH4)!=0) cylinder 
{<NH3.u,0,NH3.v>,<NH4.u,0,NH4.v>,R} #end
   #if (vlength(NH4-NH1)!=0) cylinder 
{<NH4.u,0,NH4.v>,<NH1.u,0,NH1.v>,R} #end
   sphere {<NH1.u,0,NH1.v>,R}sphere {<NH2.u,0,NH2.v>,R}
   sphere {<NH3.u,0,NH3.v>,R}sphere {<NH4.u,0,NH4.v>,R}
   prism {
    linear_spline
    linear_sweep
    0,R,
    5
    NH1,NH2,NH3,NH4,NH1
   }
  }
 #else
  #local Procent1=.5+(rand(Seed)-rand(Seed))*.3;
  #local Procent2=.5+(rand(Seed)-rand(Seed))*.3;
  #local H12=PointAt(H1,H2,Procent1);
  #local H34=PointAt(H4,H3,Procent1);

  #local H23=PointAt(H2,H3,Procent2);
  #local H41=PointAt(H1,H4,Procent2);
  
  #local HM=PointAt(H12,H34,Procent2);
  VerdeelVierhoek(H1,H12,HM,H41,Verlaag4(Diepte),Seed)
  VerdeelVierhoek(H12,H2,H23,HM,Verlaag4(Diepte),Seed)
  VerdeelVierhoek(HM,H23,H3,H34,Verlaag4(Diepte),Seed)
  VerdeelVierhoek(H41,HM,H34,H4,Verlaag4(Diepte),Seed)
 #end
#end
#declare obj=
union {
 #declare Depth=4;
 union {
  VerdeelVierhoek(<-1,0>,<-1,1>,<1,1>,<1,0>,Depth,Seed)
  union {
   VerdeelVierhoek(<-1,0>,<1,0>,<1,-1>,<1,-1>,Depth,Seed)
   matrix <
    1,0,0,
    0,1,0,
    0,.5,1,
    0,0,0
    >
  }
  translate -x+y
  matrix <
   1,.5,0,
   0,1,0,
   0,0,1,
   0,0,0
   >
 }
 union {
  VerdeelVierhoek(<-1,0>,<-1,1>,<1,1>,<1,0>,Depth,Seed)
  union {
   VerdeelVierhoek(<-1,0>,<1,0>,<1,-1>,<1,-1>,Depth,Seed)
   matrix <
    1,0,0,
    0,1,0,
    0,.5,1,
    0,0,0
    >
  }
  scale <-1,1,1>
  translate x+y
  matrix <
   1,-.5,0,
   0,1,0,
   0,0,1,
   0,0,0
   >
 }
 pigment {rgb 1}
 finish {specular 1}
}
-- end code --

I still need to add the greebles themselves, but that shouldn't be too 
much of a problem.

cu!
-- 
#macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
#end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
_(0x+y.5+y/2x)_(0x-y.5+y/2x)            // ZK http://www.povplace.com


Post a reply to this message

From: Sven Littkowski
Subject: Ehh, yu, anodda question!
Date: 16 May 2006 09:23:06
Message: <4469d23a$1@news.povray.org>
Hi Zeger,

you replied to John van Sickle that you did some SF images. Is it possible 
to see them? Is there some website, or can you e-mail them to me?

I would be curious.

Thanks,

Sven


Post a reply to this message

From: Zeger Knaepen
Subject: Re: Ehh, yu, anodda question!
Date: 16 May 2006 09:27:59
Message: <4469d35f$1@news.povray.org>
"Sven Littkowski" <sve### [at] jamaica-focuscom> wrote in message 
news:4469d23a$1@news.povray.org...
> Hi Zeger,
> 
> you replied to John van Sickle that you did some SF images. Is it 
possible 
> to see them? Is there some website, or can you e-mail them to me?
> 
> I would be curious.

see sig

cu!
-- 
#macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
#end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
_(0x+y.5+y/2x)_(0x-y.5+y/2x)            // ZK http://www.povplace.com


Post a reply to this message

From: Sven Littkowski
Subject: Ehh, yu, me a stupid!
Date: 16 May 2006 09:40:09
Message: <4469d639$1@news.povray.org>
Hmmm, it has been always there and I somehow managed to not to recognize it. 
Sorry, and big thanks!

Sven


"Zeger Knaepen" <zeg### [at] povplacecom> schrieb im Newsbeitrag 
news:4469d35f$1@news.povray.org...
see sig
_(0x+y.5+y/2x)_(0x-y.5+y/2x)            // ZK http://www.povplace.com


Post a reply to this message

From: How Camp
Subject: Re: Question
Date: 16 May 2006 14:13:36
Message: <446a1650$1@news.povray.org>
"Zeger Knaepen" <zeg### [at] povplacecom> wrote in message 
news:4469cf3a$1@news.povray.org...

> here's some code:

Thanks!  This was a lot of fun to play with.  It is surprisingly flexible, 
too...

- How


Post a reply to this message


Attachments:
Download 'knaepen01.jpg' (97 KB) Download 'knaepen02.jpg' (36 KB)

Preview of image 'knaepen01.jpg'
knaepen01.jpg

Preview of image 'knaepen02.jpg'
knaepen02.jpg


 

From: Sven Littkowski
Subject: Re: joining the greeble-madness :)
Date: 16 May 2006 22:03:05
Message: <446a8459@news.povray.org>
Greetings!

Zeger, I have there a starship I am developing, and would like to try out 
your greebles macro for some parts of that ship. I want to ask you for the 
code of the macro you have published in your posting here.

Another question: do you plan a macro which can automatically adjust to the 
heights and surfaces of an object (union or difference or blob)? Maybe a 
combination of surface greebles and a side greebles, which, depending on the 
angle ration, decides how to keep the greebles of one kind (surface or 
side), or to mix the two kinds of greebles.

But again: I would like to try out your macro, if it is okay for you.

Greetings,

Sven


Post a reply to this message

From: Zeger Knaepen
Subject: Re: joining the greeble-madness :)
Date: 17 May 2006 02:02:33
Message: <446abc79$1@news.povray.org>
"Sven Littkowski" <sve### [at] jamaica-focuscom> wrote in message 
news:446a8459@news.povray.org...
> Greetings!
> 
> Zeger, I have there a starship I am developing, and would like to try 
out 
> your greebles macro for some parts of that ship. I want to ask you for 
the 
> code of the macro you have published in your posting here.

np, I'll send you the code for this image and for the latest image

I didn't clean the code though, don't have time now :-/
 
> Another question: do you plan a macro which can automatically adjust 
to the 
> heights and surfaces of an object (union or difference or blob)? Maybe 
a 
> combination of surface greebles and a side greebles, which, depending 
on the 
> angle ration, decides how to keep the greebles of one kind (surface or 

> side), or to mix the two kinds of greebles.

I don't think I can

I was planning however to make greeble-macros for some primitives, like 
cylinders, spheres, boxes, cones and torii
 
cu!
-- 
#macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
#end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
_(0x+y.5+y/2x)_(0x-y.5+y/2x)            // ZK http://www.povplace.com


Post a reply to this message

From: Sven Littkowski
Subject: Re: joining the greeble-madness :)
Date: 17 May 2006 13:53:02
Message: <446b62fe@news.povray.org>
"Zeger Knaepen" <zeg### [at] povplacecom> schrieb im Newsbeitrag 
news:446abc79$1@news.povray.org...
> np, I'll send you the code for this image and for the latest image

Thanks a lot, I have received them. I am checking them now. I appreciate it 
a lot, and promise you to give you very well credits if I manage to use them 
for the imperial carrier I am working on. Promised!

> I was planning however to make greeble-macros for some primitives, like 
> cylinders, spheres, boxes, cones and torii

Yes! Go ahead with them! Tora! Tora! Tora!
Pleeeaaase, inform me (or all of us, here) somehow once you have them ready.


Post a reply to this message

From: Sven Littkowski
Subject: Re: Feedback
Date: 30 Jan 2016 07:45:01
Message: <web.56acb020394b51b3a4b8f9e70@news.povray.org>
Ten years later. Any progress? Any news? :-D


Post a reply to this message

From: Stephen
Subject: Re: Feedback
Date: 30 Jan 2016 08:11:05
Message: <56acb669$1@news.povray.org>
On 1/30/2016 12:44 PM, Sven Littkowski wrote:
> Ten years later. Any progress? Any news? :-D
>

News of what, Sven?

None of your recent posts have quoted who or what you are replying to. 
As you say it was 10 years ago and if you are using a newsreader, like 
me. Your posts appear as orphaned posts.


-- 

Regards
     Stephen


Post a reply to this message

From: clipka
Subject: Re: Feedback
Date: 30 Jan 2016 10:15:53
Message: <56acd3a9$1@news.povray.org>
Am 30.01.2016 um 14:10 schrieb Stephen:
> On 1/30/2016 12:44 PM, Sven Littkowski wrote:
>> Ten years later. Any progress? Any news? :-D
>>
> 
> News of what, Sven?
> 
> None of your recent posts have quoted who or what you are replying to.
> As you say it was 10 years ago and if you are using a newsreader, like
> me. Your posts appear as orphaned posts.

That certainly depends on your newsreader settings.

But I do agree that re-opening discussions from 10 years ago isn't
really a too promising idea.


Post a reply to this message

From: Stephen
Subject: Re: Feedback
Date: 30 Jan 2016 10:30:06
Message: <56acd6fe$1@news.povray.org>
On 1/30/2016 3:15 PM, clipka wrote:
> Am 30.01.2016 um 14:10 schrieb Stephen:
>> On 1/30/2016 12:44 PM, Sven Littkowski wrote:
>>> Ten years later. Any progress? Any news? :-D
>>>
>>
>> News of what, Sven?
>>
>> None of your recent posts have quoted who or what you are replying to.
>> As you say it was 10 years ago and if you are using a newsreader, like
>> me. Your posts appear as orphaned posts.
>
> That certainly depends on your newsreader settings.
>
Yes, true. I probably stopped Thunderbird from downloading all the posts 
in p.b.i. as they only go back to 2010. Whereas in p.b.sceen-files the 
earliest is 1997.

> But I do agree that re-opening discussions from 10 years ago isn't
> really a too promising idea.
>

Especially when you think of the age of some of the posters. <Gulp!


-- 

Regards
     Stephen


Post a reply to this message

From: Sven Littkowski
Subject: Re: Feedback
Date: 30 Jan 2016 18:51:01
Message: <56ad4c65$1@news.povray.org>
(smiling)
Yes, of course you all are right. My newsreader (Thunderbird) also never
showed these very old posts. But just by very lucky accident, I found
these threads with the Google search engine. I didn't like to open them
with my web browser, as I prefer their display in Thunderbird.

That is the reason, why I "marked" those ancient threads with some sort
of comment. Less for restarting any discussion, but more for the reason
to bring them up again inside my Thunderbird newsreader.

I am trying to find the source code, Zeger Knaepen had published within
one of his comments within these threads, as I need now that macro.
Easier to find (hopefully) in the better sorted view Thunderbird gives me.

With other words: unless you have that macro, there is no reason to
continue those old discussions (I agree fully). Unless, greebles
motivate the one or other of you, then a new discussion would make sense.

Since I have them back in my newsreader now, I am searching them now for
that macro. My apologies for bringing these old (but for me highly
interesting) discussion back. :-)


Post a reply to this message

From: Mike Horvath
Subject: Re: Feedback
Date: 30 Jan 2016 20:59:58
Message: <56ad6a9e$1@news.povray.org>
On 1/30/2016 6:50 PM, Sven Littkowski wrote:
> (smiling)
> Yes, of course you all are right. My newsreader (Thunderbird) also never
> showed these very old posts. But just by very lucky accident, I found
> these threads with the Google search engine. I didn't like to open them
> with my web browser, as I prefer their display in Thunderbird.
>
> That is the reason, why I "marked" those ancient threads with some sort
> of comment. Less for restarting any discussion, but more for the reason
> to bring them up again inside my Thunderbird newsreader.
>
> I am trying to find the source code, Zeger Knaepen had published within
> one of his comments within these threads, as I need now that macro.
> Easier to find (hopefully) in the better sorted view Thunderbird gives me.
>
> With other words: unless you have that macro, there is no reason to
> continue those old discussions (I agree fully). Unless, greebles
> motivate the one or other of you, then a new discussion would make sense.
>
> Since I have them back in my newsreader now, I am searching them now for
> that macro. My apologies for bringing these old (but for me highly
> interesting) discussion back. :-)
>

Responding to an old post does not magically make the old post appear in 
Thunderbird unless you also include the quoted text.


Mike


Post a reply to this message

From: Thomas de Groot
Subject: Re: Feedback
Date: 31 Jan 2016 02:45:06
Message: <56adbb82@news.povray.org>
On 31-1-2016 0:50, Sven Littkowski wrote:
> I am trying to find the source code, Zeger Knaepen had published within
> one of his comments within these threads, as I need now that macro.
> Easier to find (hopefully) in the better sorted view Thunderbird gives me.
>

Well, as I tend to keep (almost) everything, here is the greebles macro 
you mention.


-- 
Thomas


Post a reply to this message


Attachments:
Download 'greebles.inc.txt' (51 KB)

From: Sven Littkowski
Subject: Re: Feedback
Date: 31 Jan 2016 14:39:33
Message: <56ae62f5$1@news.povray.org>
Biiig thanks! Got it, Thomas!

Is it that version that can do boxes and cylinders, or is it the
previous version that does only boxes? Any idea?

---------------

Mike: yes, posting some little text did the trick for me in the
Thunderbird newsreader: I saw this thread, and it was right on top.


Post a reply to this message

From: Zeger Knaepen
Subject: Re: Feedback
Date: 31 Jan 2016 19:33:03
Message: <56aea7bf@news.povray.org>
On 31/01/2016 20:39, Sven Littkowski wrote:
> Biiig thanks! Got it, Thomas!
>
> Is it that version that can do boxes and cylinders, or is it the
> previous version that does only boxes? Any idea?

As far as I can tell, that's the version that does prisms.
There should be a parametric patch version somewhere

Ok, the attached zip-file may or may not contain all needed files, but 
the code is not pretty..
at all.. :)


Post a reply to this message


Attachments:
Download 'parametric.zip' (9 KB)

From: Sven Littkowski
Subject: Re: Feedback
Date: 31 Jan 2016 21:23:15
Message: <56aec193$1@news.povray.org>
Hey, welcome back, Zeger!

As you can see, your stuff is that good, that even after a decade it is
wanted!

Question:
What kind of metallic texture did you use for your two sample objects? I
really liked that texture.


Post a reply to this message

From: Sven Littkowski
Subject: Re: Feedback
Date: 31 Jan 2016 21:25:34
Message: <56aec21e$1@news.povray.org>
Here a link to some areas of the spaceship v2:
https://www.facebook.com/media/set/?set=a.729262957088962.1073741832.100000157941289&type=3

(not at the begin or end of that photo album, more in the middle.


Post a reply to this message

From: Thomas de Groot
Subject: Re: Feedback
Date: 1 Feb 2016 02:54:15
Message: <56af0f27$1@news.povray.org>
On 1-2-2016 1:33, Zeger Knaepen wrote:
> On 31/01/2016 20:39, Sven Littkowski wrote:
>> Biiig thanks! Got it, Thomas!
>>
>> Is it that version that can do boxes and cylinders, or is it the
>> previous version that does only boxes? Any idea?
>
> As far as I can tell, that's the version that does prisms.
> There should be a parametric patch version somewhere

Yes, if I remember correctly, I used this for prisms and for spheres at 
the time. I do not remember any parametric patch however.

>
> Ok, the attached zip-file may or may not contain all needed files, but
> the code is not pretty..
> at all.. :)

I shall add it to the collection ;-)  Thanks!

-- 
Thomas


Post a reply to this message

From: Sven Littkowski
Subject: Re: Feedback
Date: 1 Feb 2016 07:55:30
Message: <56af55c2$1@news.povray.org>
Now we have here a thread that spans ten years. :-D

And we have some of the best greebles the universe ever has seen. Thanks
to Zeger!


Post a reply to this message

From: Thomas de Groot
Subject: Re: Feedback
Date: 1 Feb 2016 08:12:15
Message: <56af59af$1@news.povray.org>
On 1-2-2016 13:55, Sven Littkowski wrote:
> Now we have here a thread that spans ten years. :-D
>
> And we have some of the best greebles the universe ever has seen. Thanks
> to Zeger!
>

They were in the original posts however, weren't they? Because that is 
were my copy came from. So, nothing really new.

-- 
Thomas


Post a reply to this message

From: Sven Littkowski
Subject: Re: Feedback
Date: 2 Feb 2016 01:51:27
Message: <56b051ef$1@news.povray.org>
No, not new, indeed. But timeless.   :-)


Post a reply to this message

From: Sven Littkowski
Subject: Re: Feedback
Date: 7 Feb 2016 12:05:18
Message: <56b7794e$1@news.povray.org>
Zeger, problem:

I want to make a render with your CYLINDRIC GREEBLES. But a file that is
required ("macros.inc"), is missing. Can you post this file here?

Or, if anyone else has this file, too, please post it. Thanks.


Post a reply to this message

From: Sven Littkowski
Subject: Re: Feedback
Date: 7 Feb 2016 12:06:56
Message: <56b779b0@news.povray.org>
cylindergreebles.pov

------------

#default {pigment {rgb 1} finish {ambient .1 specular 1}}
camera {
	location <2.8,-1,-3>
	angle 80
	look_at x
}
#declare Seed=seed(441);
light_source {<-750,500,-500> rgb 1} //<1.5,1.4,1.3>}
light_source {<-750,-500,-500> rgb <.5,.4,.3>}
light_source {<500,150,750> rgb <.5,.6,.7>}


#include "macros.inc"
#macro
RoundCilinderSegment(StartHeight,EindHeight,Radius,StartHoek,EindHoek,Bevel,BevelHeight,MaxLength)
	#local Start=y*(StartHeight+Bevel);
	#local Eind=y*(EindHeight-Bevel);
	#local Start2=y*StartHeight;
	#local Eind2=y*EindHeight;
		#local StartHoek2=StartHoek+degrees(Bevel/Radius);
		#local EindHoek2=EindHoek-degrees(Bevel/Radius);
		#local TotaleLengte=radians(EindHoek-StartHoek)*(Radius+BevelHeight);
		#local Aantal=max(int(TotaleLengte/MaxLength),1);
		#local Tel=0;
		mesh {
			triangle {
				vrotate(<Radius,StartHeight,0>,y*StartHoek),
				vrotate(<Radius,EindHeight,0>,y*StartHoek),
				vrotate(<Radius+BevelHeight,StartHeight+Bevel,0>,y*StartHoek2)
			}
			triangle {
				vrotate(<Radius,EindHeight,0>,y*StartHoek),
				vrotate(<Radius+BevelHeight,EindHeight-Bevel,0>,y*StartHoek2),
				vrotate(<Radius+BevelHeight,StartHeight+Bevel,0>,y*StartHoek2)
			}
			triangle {
				vrotate(<Radius,EindHeight,0>,y*StartHoek),
				vrotate(<Radius,EindHeight,0>,y*StartHoek2),
				vrotate(<Radius+BevelHeight,EindHeight-Bevel,0>,y*StartHoek2)
			}
			triangle {
				vrotate(<Radius,StartHeight,0>,y*StartHoek),
				vrotate(<Radius+BevelHeight,StartHeight+Bevel,0>,y*StartHoek2),
				vrotate(<Radius,StartHeight,0>,y*StartHoek2)
			}

			triangle {
				vrotate(<Radius,StartHeight,0>,y*EindHoek),
				vrotate(<Radius,EindHeight,0>,y*EindHoek),
				vrotate(<Radius+BevelHeight,StartHeight+Bevel,0>,y*EindHoek2)
			}
			triangle {
				vrotate(<Radius,EindHeight,0>,y*EindHoek),
				vrotate(<Radius+BevelHeight,EindHeight-Bevel,0>,y*EindHoek2),
				vrotate(<Radius+BevelHeight,StartHeight+Bevel,0>,y*EindHoek2)
			}
			triangle {
				vrotate(<Radius,EindHeight,0>,y*EindHoek),
				vrotate(<Radius,EindHeight,0>,y*EindHoek2),
				vrotate(<Radius+BevelHeight,EindHeight-Bevel,0>,y*EindHoek2)
			}
			triangle {
				vrotate(<Radius,StartHeight,0>,y*EindHoek),
				vrotate(<Radius+BevelHeight,StartHeight+Bevel,0>,y*EindHoek2),
				vrotate(<Radius,StartHeight,0>,y*EindHoek2)
			}

			#while (Tel<Aantal)
				#local H1=StartHoek2+(EindHoek2-StartHoek2)*(Tel/Aantal);
				#local H2=StartHoek2+(EindHoek2-StartHoek2)*((Tel+1)/Aantal);
				#local P1=vrotate(<Radius+BevelHeight,StartHeight+Bevel,0>,y*H1);
				#local P2=vrotate(<Radius+BevelHeight,EindHeight-Bevel,0>,y*H1);
				#local P3=vrotate(<Radius+BevelHeight,EindHeight-Bevel,0>,y*H2);
				#local P4=vrotate(<Radius+BevelHeight,StartHeight+Bevel,0>,y*H2);
				
				#local N1=vrotate(x,y*H1);
				#local N2=vrotate(x,y*H2);
				smooth_triangle {P1,N1,P2,N1,P4,N2}
				smooth_triangle {P2,N1,P3,N2,P4,N2}
				//triangle {P1,P2,P4}
				//triangle {P2,P3,P4}
				
				#local P2B=vrotate(<Radius,EindHeight,0>,y*H1);
				#local P3B=vrotate(<Radius,EindHeight,0>,y*H2);
				triangle {P2,P2B,P3}
				triangle {P2B,P3B,P3}

				#local P2B=vrotate(<Radius,StartHeight,0>,y*H2);
				#local P3B=vrotate(<Radius,StartHeight,0>,y*H1);
				triangle {P2B,P1,P3B}
				triangle {P1,P4,P2B}
				#local Tel=Tel+1;
			#end
		}
#end
#macro Verlaag(X)
	#local R=X-(1+rand(Seed)*2.5);
	R
#end
#macro
CilinderGreeble(StartHeight,EindHeight,Radius,StartHoek,EindHoek,Bevel,BevelHeight,MaxLength,Detail)
	#local Start=(StartHeight+Bevel);
	#local Eind=(EindHeight-Bevel);
	#local StartH=StartHoek+degrees(Bevel/Radius);
	#local EindH=EindHoek-degrees(Bevel/Radius);
	//cilindertjes:
	#local Aantal=rand(Seed)*Detail;
	#while (Aantal>0)
		#local Size=(Bevel*.01)+rand(Seed)*Bevel*.99*2;
		#local Hoek=StartH+(EindH-StartH)*rand(Seed);
		#local Hoogte=Start+(Eind-Start)*rand(Seed);
		#local Depth=BevelHeight/2+rand(Seed)*BevelHeight/2;
		superellipsoid {<1,.1+rand(Seed)*.3> rotate y*90  scale
<Depth,Size,Size> translate x*Radius rotate y*Hoek translate y*Hoogte}
		#local Aantal=Aantal-1;
	#end
	//vakjes:
	#local Aantal=rand(Seed)*Detail;
	#while (Aantal>0)
		#local S=Start+(Eind-Start)*rand(Seed);
		#local E=S+(Eind-S)*rand(Seed);
		#local SH=StartH+(EindH-StartH)*rand(Seed);
		#local EH=SH+(EindH-SH)*rand(Seed);
		#local H=BevelHeight/2+rand(Seed)*BevelHeight/2;
		RoundCilinderSegment(S,E,Radius,SH,EH,Bevel/2,H,AantalStapjes)
		#local Aantal=Aantal-1;
	#end
	//verticale buisjes
	#local Aantal=rand(Seed)*Detail;
	#while (Aantal>0)
		#local S=Start+(Eind-Start)*rand(Seed);
		#local E=S+(Eind-S)*rand(Seed);
		#local SH=StartH+(EindH-StartH)*rand(Seed);
		//#local EH=SH+(EindH-SH)*rand(Seed);
		#local H=(BevelHeight/2+rand(Seed)*BevelHeight/2)/2;
		//RoundCilinderSegment(S,E,Radius,SH,EH,Bevel/2,H,AantalStapjes)
		cylinder {y*S,y*E,H translate x*Radius rotate y*SH}
		sphere {y*S,H translate x*Radius rotate y*SH}
		sphere {y*E,H translate x*Radius rotate y*SH}
		#local Aantal=Aantal-1;
	#end
	//horizontale buisjes simuleren, toruskes zouden wsl te traag gaan
	#local Aantal=rand(Seed)*Detail;
	#while (Aantal>0)
		#local S=Start+(Eind-Start)*rand(Seed);
		#local H=BevelHeight/2+rand(Seed)*BevelHeight/2;
		#local H=min((Eind-S),H*2)/2;
		#local E=S+H*2;
		#local SH=StartH+(EindH-StartH)*rand(Seed);
		#local EH=SH+(EindH-SH)*rand(Seed);
		RoundCilinderSegment(S,E,Radius,SH,EH,H,H,AantalStapjes)
		#local Aantal=Aantal-1;
	#end
#end
#macro
VerdeelCilinder(StartHeight,EindHeight,Radius,StartHoek,EindHoek,Diepte,Bevel,BevelHeight)
	#local Start=y*(StartHeight+Bevel);
	#local Eind=y*(EindHeight-Bevel);
	#local Start2=y*StartHeight;
	#local Eind2=y*EindHeight;
	#if (Diepte<0)
		#ifndef(Detail) #local Detail=5; #end
		#local H=rand(Seed)*BevelHeight;
		#ifndef(MaxSegmentLength) #local AantalStapjes=Bevel; //(eigenlijk de
maximale lengte van een segment)
		#else #local AantalStapjes= MaxSegmentLength; #end
	
RoundCilinderSegment(StartHeight,EindHeight,Radius,StartHoek,EindHoek,Bevel,H,AantalStapjes)
	
CilinderGreeble(StartHeight,EindHeight,Radius+H,StartHoek,EindHoek,Bevel,H,AantalStapjes,Detail)
	#else
		// eerst es checken of 't nie onvoorstelbaar ongelijk verdeeld is:
		#local Lengte=radians(EindHoek-StartHoek)*Radius;
		#local Hoogte=EindHeight-StartHeight;
		
		#local PercentageU=.5+(rand(Seed)-rand(Seed))*.5*.9;
		#local PercentageV=.5+(rand(Seed)-rand(Seed))*.5*.9;
		#local MidHeight=StartHeight+(EindHeight-StartHeight)*PercentageU;
		#local MidHoek=StartHoek+(EindHoek-StartHoek)*PercentageV;

		// als't 2 keer zo hoog als breed is (of nog hoger), dan ff enkel in
de hoogte bijsnijden:
		#if ((Hoogte>(Lengte*2))&(rand(Seed)>.125))
		
VerdeelCilinder(StartHeight,MidHeight,Radius,StartHoek,EindHoek,Verlaag(Diepte),Bevel,BevelHeight)
		
VerdeelCilinder(MidHeight,EindHeight,Radius,StartHoek,EindHoek,Verlaag(Diepte),Bevel,BevelHeight)
		// als't 2 keer lager dan breed is (of nog lager), dan ff enkel in de
breedte bijsnijden:
		#else
			#if (((Hoogte*2)<Lengte)&(rand(Seed)>.125))
			
VerdeelCilinder(StartHeight,EindHeight,Radius,StartHoek,MidHoek,Verlaag(Diepte),Bevel,BevelHeight)
			
VerdeelCilinder(StartHeight,EindHeight,Radius,MidHoek,EindHoek,Verlaag(Diepte),Bevel,BevelHeight)
			#else
			
VerdeelCilinder(StartHeight,MidHeight,Radius,StartHoek,MidHoek,Verlaag(Diepte),Bevel,BevelHeight)
			
VerdeelCilinder(MidHeight,EindHeight,Radius,StartHoek,MidHoek,Verlaag(Diepte),Bevel,BevelHeight)
				
			
VerdeelCilinder(StartHeight,MidHeight,Radius,MidHoek,EindHoek,Verlaag(Diepte),Bevel,BevelHeight)
			
VerdeelCilinder(MidHeight,EindHeight,Radius,MidHoek,EindHoek,Verlaag(Diepte),Bevel,BevelHeight)
			#end
		#end
	#end
#end
//#include "textures.inc"
union {
	#declare Detail=5;
	#declare MaxSegmentLength=.1;
	VerdeelCilinder(-3,3,1,0,360,10,.002,.0075)
	cylinder {-3*y,3*y,1}
	//Metaal()
	rotate z*90
}


Post a reply to this message

From: Sven Littkowski
Subject: Re: Feedback
Date: 7 Feb 2016 13:08:24
Message: <56b78818$1@news.povray.org>
I found that file in another posting of Zeger, dating back to 2002!   :-D

Here it is, for all those who need it for Zeger's formidable greebles.

------------------------

//Een afgeronde kader, zoals box{}, maar dan afgerond, en enkel de randen.
#macro Kader (Begin,Eind,Straal)
	#local Begin=Begin*<1,1,1>;
	#local Eind=Eind*<1,1,1>;
	#local R=Straal;
	#local B=<min(Begin.x,Eind.x),min(Begin.y,Eind.y),min(Begin.z,Eind.z)>+R;
	#local E=<max(Begin.x,Eind.x),max(Begin.y,Eind.y),max(Begin.z,Eind.z)>-R;
	merge {	//merge, zodat het ook voor transparante materialen werkt.
		#if (R > 0)
			//Onderste rij
			sphere {
				B,R
			}
			sphere {
				<E.x,B.y,B.z>,R
			}
			sphere {
				<E.x,B.y,E.z>,R
			}
			sphere {
				<B.x,B.y,E.z>,R
			}
			//Bovenste rij			
			sphere {
				E,R
			}
			sphere {
				<E.x,E.y,B.z>,R
			}
			sphere {
				<B.x,E.y,E.z>,R
			}
			sphere {
				<B.x,E.y,B.z>,R
			}
			//Onderste cilinders
			cylinder {
				B,<E.x,B.y,B.z>,R
			}
			cylinder {
				B,<B.x,B.y,E.z>,R
			}
			cylinder {
				<E.x,B.y,B.z>,<E.x,B.y,E.z>,R
			}
			cylinder {
				<E.x,B.y,E.z>,<B.x,B.y,E.z>,R
			}
			//Bovenste cilinders
			cylinder {
				<B.x,E.y,B.z>,<E.x,E.y,B.z>,R
			}
			cylinder {
				<B.x,E.y,B.z>,<B.x,E.y,E.z>,R
			}
			cylinder {
				<E.x,E.y,B.z>,<E.x,E.y,E.z>,R
			}
			cylinder {
				<E.x,E.y,E.z>,<B.x,E.y,E.z>,R
			}
         //Verticale cilinders
         cylinder {
         	B,<B.x,E.y,B.z>,R
         }
         cylinder {
         	<E.x,B.y,B.z>,<E.x,E.y,B.z>,R
         }
         cylinder {
         	<B.x,B.y,E.z>,<B.x,E.y,E.z>,R
         }
         cylinder {
         	<E.x,B.y,E.z>,<E.x,E.y,E.z>,R
         }
		#end
	}
#end

//Zoals box{}, maar dan afgerond.  Gebruikt Kader()!
#macro Ronddoos(Begin,Eind,Straal)
	#local Begin=Begin*<1,1,1>;
	#local Eind=Eind*<1,1,1>;
	#local R=Straal;
	#local B=<min(Begin.x,Eind.x),min(Begin.y,Eind.y),min(Begin.z,Eind.z)>+R;
	#local E=<max(Begin.x,Eind.x),max(Begin.y,Eind.y),max(Begin.z,Eind.z)>-R;
	merge {
		object {Kader (Begin,Eind,Straal)}
		box {
			B,E
		}
		box {
			<B.x,B.y,B.z-R>,<E.x,E.y,E.z+R>
		}
		box {
			<B.x-R,B.y,B.z>,<E.x+R,E.y,E.z>
		}
		box {
			<B.x,B.y-R,B.z>,<E.x,E.y+R,E.z>
		}
	}
#end

//Beveled tekst.  Geeft als resultaat een afgeronde tekst met instelbare
resolutie (bestaat uit blobs)
#macro Text (Lettertype, Tkst, R, P, T)
	#local Tekst=
		text {
			ttf Lettertype //"starwars.ttf"
			Tkst,.01,0
		}

	#declare Min=min_extent(Tekst);
	#declare Max=max_extent(Tekst);

	#local Telx=0;
	#local Tely=0;
	blob {

		threshold T

		#while (Telx<ResX)

			#declare Tely=0;
			#while (Tely<ResY)

				#local PlaatsX=(Min.x+(Max.x-Min.x)*(Telx/ResX));
				#local PlaatsY=(Min.y+(Max.y-Min.y)*(Tely/ResY));
				#local Norm=<0,0,0>;
				#local Loc=trace(Tekst,<PlaatsX,PlaatsY,-10>,z,Norm);

				#if ((Norm.x*Norm.y*Norm.z)!=0)
					sphere {
						Loc,R,P
					}
				#end

				#local Tely=Tely+1;
			#end

			#local Telx=Telx+1;	
		#end

	}
#end

//Een alternatieve versie voor Atan2.  Werkt ook met beiden nul.
#macro Atan (arg1,arg2)
	#if (arg1=0 & arg2=0)
		0
	#else
		atan2(arg1,arg2)
	#end
#end


//Geeft het punt op plaats T van de bezier-kromme met controlepunten P1,
P2, P3 en P4
#macro Bezier (P1,P2,P3,P4,T)
	#local beziera=pow(1-T,3);
	#local bezierb=3*pow(1-T,2)*T;
	#local bezierc=3*(1-T)*pow(T,2);
	#local bezierd=pow(T,3);
	#local beziere=pow(T,2);
	#local bezierf=pow(1-T,2);
	#local bezierg=2*(1-T)*T;
	#local bezierh=bezierf-bezierg;
	#local bezieri=bezierg-beziere;
	#local bezierx=(beziera*P1.x + bezierb*P2.x + bezierc*P3.x + bezierd*P4.x);
	#local beziery=(beziera*P1.y + bezierb*P2.y + bezierc*P3.y +
bezierd*P4.y);
	#local bezierz=(beziera*P1.z + bezierb*P2.z + bezierc*P3.z + bezierd*P4.z);
	<bezierx,beziery,bezierz>
#end


//De rotatie rond X en Z berekenen voor een bepaald punt op een
bezierkromme met controlepunten P1, P2, P3 en P4 op plaats T
//Ik haal deze formules van een INC-file van Michael D Johnson.  Er
stond bij dat hij niet zeker is van deze formules.
//Ik dus ook niet... :-)
#macro BezierRot(P1,P2,P3,P4,T)
	#local beziera=pow(1-T,3);
	#local bezierb=3*pow(1-T,2)*T;
	#local bezierc=3*(1-T)*pow(T,2);
	#local bezierd=pow(T,3);
	#local beziere=pow(T,2)
	#local bezierf=pow(1-T,2);
	#local bezierg=2*(1-T)*T;
	#local bezierh=bezierf-bezierg;
	#local bezieri=bezierg-beziere;
	#local bezierx=(beziera*P1.x + bezierb*P2.x + bezierc*P3.x + bezierd*P4.x);
	#local beziery=(beziera*P1.y + bezierb*P2.y + bezierc*P3.y +
bezierd*P4.y);
	#local bezierz=(beziera*P1.z + bezierb*P2.z + bezierc*P3.z + bezierd*P4.z);
	
	#local bezierdx=(-bezierf*P1.x + bezierh*P2.x + bezieri*P3.x +
beziere*P4.x);
	#local bezierdy=(-bezierf*P1.y + bezierh*P2.y + bezieri*P3.y +
beziere*P4.y);
	#local bezierdz=(-bezierf*P1.z + bezierh*P2.z + bezieri*P3.z +
beziere*P4.z);
	
	#local A2=degrees(Atan(bezierdy,bezierdz));
	#local A=degrees (Atan(bezierdy,bezierdx));
	<A2,0,A>
#end


Post a reply to this message

From: Jörg 'Yadgar' Bleimann
Subject: Re: Feedback
Date: 22 Feb 2016 15:46:13
Message: <56cb7395@news.povray.org>
Hi(gh)!

On 30.01.2016 16:15, clipka wrote:

> But I do agree that re-opening discussions from 10 years ago isn't
> really a too promising idea.

Not necessarily... I'm on this group since 2000 (which now is more than 
three quarters of my entire Internet life!), keeping track of all image 
postings since then - and I would be ready to participate if you comment 
on something I wrote here in 2006!

On a German Commodore 64 forum, in 2010 I dug out a thread from 1999 
(!), when the original poster was only 12 years old... "thread 
necromancing" can be enlightening!

See you in Khyberspace!

Yadgar


Post a reply to this message

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