POV-Ray : Newsgroups : povray.general : Empty object Server Time
5 Aug 2024 10:26:38 EDT (-0400)
  Empty object (Message 5 to 14 of 14)  
<<< Previous 4 Messages Goto Initial 10 Messages
From: Mark Weyer
Subject: Re: Empty object
Date: 21 Nov 2002 10:16:44
Message: <3DDCFB14.62D0D20C@frege.mathematik.uni-freiburg.de>
> Do you really need an empty object ? Can't you directly use first box object
> then instead of whole difference object ?

It seems I forgot to repeat the following information in my
second post: It need the empty object to feed it as a parameter
to macros using CSG.

Example: I might have a macro for doors. One of its parameters
is the key shape, so I can carve in (using difference) an appropriate
keyhole. Sometimes I might need a door without a keyhole. The I
would feed the empty object for the key shape. Following your idea
I would have to make a second copy of the door macro where I omit
the carving out of the keyhole.

  Mark Weyer


Post a reply to this message

From: Christoph Hormann
Subject: Re: Empty object
Date: 21 Nov 2002 10:26:00
Message: <3DDCFB05.CDBD2CD8@gmx.de>
Mark Weyer wrote:
> 
> It seems I forgot to repeat the following information in my
> second post: It need the empty object to feed it as a parameter
> to macros using CSG.

If you are not up to maximum speed just use a poly or isosurface with no
solutions...

Christoph

-- 
POV-Ray tutorials, include files, Sim-POV,
HCR-Edit and more: http://www.tu-bs.de/~y0013390/
Last updated 15 Nov. 2002 _____./\/^>_*_<^\/\.______


Post a reply to this message

From: ABX
Subject: Re: Empty object
Date: 21 Nov 2002 10:27:43
Message: <68uptuc2ftpaajn57ltngrubigtm6vllhn@4ax.com>
On Thu, 21 Nov 2002 16:26:12 +0100, Mark Weyer
<wey### [at] fregemathematikuni-freiburgde> wrote:
> > Do you really need an empty object ? Can't you directly use first box object
> > then instead of whole difference object ?
>
> It seems I forgot to repeat the following information in my
> second post: It need the empty object to feed it as a parameter
> to macros using CSG.

I already saw this but I intentionaly provoked you to more precise answer :-)

> Example: I might have a macro for doors. One of its parameters
> is the key shape, so I can carve in (using difference) an appropriate
> keyhole. Sometimes I might need a door without a keyhole. The I
> would feed the empty object for the key shape. Following your idea
> I would have to make a second copy of the door macro where I omit
> the carving out of the keyhole.

There is a lot of ways how you can do this without empty object.

For example:

// indexes to array
#declare DoorsId=0;
#declare KeyholeId=1;
#declare Key=2;


#macro Room(Elements)
  #local Door=Elements[DoorsId];
  #ifdef(Elements[KeyholeId])
    #local Door=intersection{
                  object{Door}
                  object{Elements[KeyholeId]}
                };
    #ifdef(Elements[Key])
      #local Door=union{
                    object{Door}
                    object{Elements[Key]}
                  };
    #end
  #end
#end

ABX


Post a reply to this message

From: Mark Weyer
Subject: Re: Empty object
Date: 21 Nov 2002 10:35:23
Message: <3DDCFF73.C06ACF8C@frege.mathematik.uni-freiburg.de>
> There is a lot of ways how you can do this without empty object.

You are right. But I still prefer the empty-object-method for
some applications, because it is more elegant to my taste.

  Mark


Post a reply to this message

From: Mark Weyer
Subject: Re: Empty object
Date: 21 Nov 2002 10:37:35
Message: <3DDCFFF8.96CF425D@frege.mathematik.uni-freiburg.de>
> If you are not up to maximum speed just use a poly or isosurface with no
> solutions...

In fact, my third approach (quadric {0 0 0 1}) is quite similar.
What is your suggestion for maximum speed?

  Mark


Post a reply to this message

From: ABX
Subject: Re: Empty object
Date: 21 Nov 2002 10:48:36
Message: <vevptu8f8emubfmiq27dba239m9rak6qoj@4ax.com>
On Thu, 21 Nov 2002 16:44:51 +0100, Mark Weyer
<wey### [at] fregemathematikuni-freiburgde> wrote:
> > There is a lot of ways how you can do this without empty object.
>
> You are right. But I still prefer the empty-object-method for
> some applications, because it is more elegant to my taste.

Wasting memory for not necessary CSG objects is elegant? I doubt.

ABX


Post a reply to this message

From: Christopher James Huff
Subject: Re: Empty object
Date: 21 Nov 2002 10:59:58
Message: <chrishuff-0FCA8C.10581821112002@netplex.aussie.org>
In article <3DDCFF73.C06ACF8C@frege.mathematik.uni-freiburg.de>,
 Mark Weyer <wey### [at] fregemathematikuni-freiburgde> wrote:

> You are right. But I still prefer the empty-object-method for
> some applications, because it is more elegant to my taste.

It is in no way "elegant". It needlessly slows things down, takes 
memory, and is just an ugly hack. The array method looks like the best 
way to do it: simple, flexible, doesn't waste processing power or do 
other odd things that could cause trouble. You don't need a "nothing" 
object.

-- 
Christopher James Huff <cja### [at] earthlinknet>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tagpovrayorg
http://tag.povray.org/


Post a reply to this message

From: Warp
Subject: Re: Empty object
Date: 21 Nov 2002 12:29:41
Message: <3ddd1805@news.povray.org>
Mark Weyer <wey### [at] fregemathematikuni-freiburgde> wrote:
> What is your suggestion for maximum speed?

  Don't use an object at all. That achieves maximum speed.

-- 
#macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb x]
[1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
-1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// - Warp -


Post a reply to this message

From: Rafal 'Raf256' Maj
Subject: Re: Empty object
Date: 21 Nov 2002 12:32:39
Message: <Xns92CDBC0F1D0BBraf256com@204.213.191.226>
Mark Weyer <wey### [at] fregemathematikuni-freiburgde> wrote in 
news:3DDCF201.8E1826C9@frege.mathematik.uni-freiburg.de

> Any suggestions?

maybe :

isosurface { function { 1 } gradient 0.01 accuracy 100000 
contained_by { box { -1e5,+1e5 } }


-- 
#macro g(U,V)(.4*abs(sin(9*sqrt(pow(x-U,2)+pow(y-V,2))))*pow(1-min(1,(sqrt(
pow(x-U,2)+pow(y-V,2))*.3)),2)+.9)#end#macro p(c)#if(c>1)#local l=mod(c,100
);g(2*div(l,10)-8,2*mod(l,10)-8)*p(div(c,100))#else 1#end#end light_source{
y 2}sphere{z*20 9pigment{function{p(26252423)*p(36455644)*p(66656463)}}}//M


Post a reply to this message

From: Jellby
Subject: Re: Empty object
Date: 21 Nov 2002 16:15:02
Message: <3ddd4cd6@news.povray.org>
Mark Weyer wrote:

> I occasionally (usually to feed parameters to CSG macros where) need an
> empty object.
>
> [...]
>
> Any suggestions?

sphere { 0, 0 clipped_by { sphere { 1, 0 } }

-- 
Ignacio Fernández Galván
Linux User #289967 (counter.li.org)
PGP Pub Key ID: 0x01A95F99 (pgp.escomplinux.org)


Post a reply to this message

<<< Previous 4 Messages Goto Initial 10 Messages

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