![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Greg M. Johnson" wrote:
> So which "modellers" will allow me to compute the volume of the
> noise3d isosurface I'm working on?
> Yes, there are folks out there only interested in rendering
> store-bought DXF's, but pov is _so much more_ to many people.
> Push the envelope. Expand your horizon. Povray is the coolest toy there
is.
Hear hear!
POV-Ray, when used together with a simple text-editor, is indeed a
modeller - just not with a graphical interface!
Rune
--
\ Include files, tutorials, 3D images, raytracing jokes,
/ The POV Desktop Theme, and The POV-Ray Logo Contest can
\ all be found at http://rsj.mobilixnet.dk (updated July 23)
/ Also visit http://www.povrayusers.org
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Greg M. Johnson" wrote:
>
> Dogbert wags his tail at the slogan "POV-Ray is a renderer, not a modeller."
>
> So which "modellers" will allow me to compute the volume of the noise3d isosurface
> I'm working on?
You've answered your own question. If POV script is your modeller, do it there
with a macro. POV already contains many features usually associated with
modellers, but implementing renderer-specific features should always have higher
priority.
--
Margus Ramst
Personal e-mail: mar### [at] peak edu ee
TAG (Team Assistance Group) e-mail: mar### [at] tag povray org
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Geoff Wedig <wed### [at] darwin epbi cwru edu> wrote:
: To be fair, finding the command line option that does what you want in the
: docs is a bloody pain sometimes. I *knew* that there was a option for this
: and it took me over an hour to find it. Similarly, I knew you could
: continue a previous render, but it took posting to the group to find out
: what the option was.
I don't understand why it should be so difficult to find it in the docs.
First you look at the section named "POV-Ray options". That looks like
a promising name.
Under that there's a subsection names "Options reference". Well, it may
not be the first place for a newbie to look, but there's no any better
subsection than that.
Under that a subsection named "Output options" should be the most obvious.
Again another subsection named "Display output options" and there is
the "Mosaic preview" section.
A quite long set of suboptions, but it took about 10 seconds for me to
find the correct one.
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
The measurement of volume depends on your definition of volume.
Is volume the space enclosed by the surface?
If so, the volume of a sphere should be larger than the volume of a
difference of a sphere and a smaller sphere.
Is it the space enclosed by the outer contiguous surface?
If so, how do you calculate the volume of this kind of object:
difference
{ box { -1,1 }
sphere { 0, 1.1 }
}
(and suppose the same situation with more complex objects than a box and a
sphere, eg. a lathe and an isosurface.)
Is it the space enclosed by the visible part of the outer surface?
Something else?
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
it's even easier if you have a printed copy because your eyes and
fingers can scan faster than you can click through the help file.
Warp wrote:
>
> Geoff Wedig <wed### [at] darwin epbi cwru edu> wrote:
> : To be fair, finding the command line option that does what you want in the
> : docs is a bloody pain sometimes. I *knew* that there was a option for this
> : and it took me over an hour to find it. Similarly, I knew you could
> : continue a previous render, but it took posting to the group to find out
> : what the option was.
>
> I don't understand why it should be so difficult to find it in the docs.
>
> First you look at the section named "POV-Ray options". That looks like
> a promising name.
> Under that there's a subsection names "Options reference". Well, it may
> not be the first place for a newbie to look, but there's no any better
> subsection than that.
> Under that a subsection named "Output options" should be the most obvious.
> Again another subsection named "Display output options" and there is
> the "Mosaic preview" section.
>
> A quite long set of suboptions, but it took about 10 seconds for me to
> find the correct one.
>
> --
> main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
> ):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Warp wrote:
> The measurement of volume depends on your definition of volume.
My measurement goes off of eval_pigment and the object pattern in MegaPov. I
leave the metaphysics up to those functions.
> If so, how do you calculate the volume of this kind of object:
> difference { box { -1,1 } sphere { 0, 1.1 }}
That's 2.609 cubic units, to a 0.25% precision. See my macro. I keep taking
smaller and smaller intervals until the difference between two sucessive
values for volume is less than a certain percentage.
> (and suppose the same situation with more complex objects than a box and a
> sphere, eg. a lathe and an isosurface.)
I tried this isosurface and got a volume of 288737 cubic units.
isosurface{
function{y/290+noise3d(x*0.05,y**0.05,z**0.05)}
accuracy 0.01
threshold .21
contained_by {sphere{0,100}}
pigment{SeaGreen}
finish{ambient 0.1}
}
As I was tossing in my sleep last night, however, I realized that my macro can
easily handle any of the above discussed objects, but it's not very good for
its original purpose: determining *whether* the intersection between two
objects has zero volume. It's not that great if say I have one object with a
huge bounding box-- say a landscape-- and a bunch of tiny things. But I guess
if one had enough patience or set a low bailout, it would work here OK too.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Greg M. Johnson" wrote:
> isosurface{
> function{y/290+noise3d(x*0.05,y**0.05,z**0.05)}
> accuracy 0.01
> threshold .21
> contained_by {sphere{0,100}}
> pigment{SeaGreen}
> finish{ambient 0.1}
> }
In case anyone wanted to try this at home, there's a typo above. What I literally
did was this:
#declare fnoise=.05;
#declare MyObject=
isosurface{
function{y/290+
noise3d(x*fnoise,y*fnoise,z*fnoise)/1
}
accuracy 0.01
threshold .21
contained_by {
sphere{0,100}
}
pigment{SeaGreen}
finish{ambient 0.1}
}
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Why not support a Perl based scene building language? Maybe a filter which
spits out POV from Perl code... :)
Warp wrote:
> "Modules" could be better.
>
> As I have already said elsewhere, programming languages using modules
> but
> which are not OO languages (such as Modula2) support structures that look
> a lot like object-oriented ones, however without being an OO language.
>
> To be a truely OO language, the language has to support inheritance and
> dynamic binding (besides all the stuff that modules support of course).
>
> It's kind of silly to talk about OO features when there are no mention
> about those two things.
>
--
--------------------------------------------------------------------
Yann Ramin atr### [at] atrustrivalie eu org
Atrus Trivalie Productions www.redshift.com/~yramin
Monterey High IT www.montereyhigh.com
AIM oddatrus
Marina, CA
IRM Developer Network Toaster Developer
SNTS Developer KLevel Developer
( this .sig represents the view of the world at any one
moment. Enjoy! )
"If I read the DeCSS source code in a forest, would it make
a copyrightable sound?"
- mwalker
"All cats die. Socrates is dead. Therefore Socrates is a cat."
- The Logician
--------------------------------------------------------------------
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Yann Ramin <atr### [at] atrustrivalie eu org> wrote:
: Why not support a Perl based scene building language?
Isn't povray scripting language already something like that?
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Warp <war### [at] tag povray org> wrote in message news:39cf092b@news.povray.org...
> Isn't povray scripting language already something like that?
Well, not EVEN REMOTELY comparable to the power of Perl! Just an example: I
have seen an XML parser in Perl which was written in just 30 lines...
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |