|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I want to create a faceted checkered sphere (much along the lines of the
Amiga "Boing!" ball).
To do this I figure I'd take a sphere, build a several rings of boxes (one
for each vertical level of facets, eight I guess), each ring rotationally
staggered from the one above/below (I figure seven boxes per ring, so each
staggered ring would be rotated along the vertical axis by 1/14th of a full
rotation), and then this superstructure would be merged together, given one
set of attributes to cut into the sphere with, spun 1/14th a turn, and cut
again with another set of attributes.
I could be pretty far ahead of myself here though, as I don't really know
how to do any of that. :-)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"X-Caliber" <nomail@nomail> wrote:
> I want to create a faceted checkered sphere (much along the lines of the
> Amiga "Boing!" ball).
>
> To do this I figure I'd take a sphere, build a several rings of boxes (one
> for each vertical level of facets, eight I guess), each ring rotationally
> staggered from the one above/below (I figure seven boxes per ring, so each
> staggered ring would be rotated along the vertical axis by 1/14th of a full
> rotation), and then this superstructure would be merged together, given one
> set of attributes to cut into the sphere with, spun 1/14th a turn, and cut
> again with another set of attributes.
>
> I could be pretty far ahead of myself here though, as I don't really know
> how to do any of that. :-)
You could write a quick loop to do this, though I'd do intersections of
planes instead of removing cubes from a sphere... Or at least I'd think it
would be quicker (render wise).
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Mienai" <Mienai> wrote:
> "X-Caliber" <nomail@nomail> wrote:
> > I want to create a faceted checkered sphere (much along the lines of the
> > Amiga "Boing!" ball).
> >
> > To do this I figure I'd take a sphere, build a several rings of boxes (one
> > for each vertical level of facets, eight I guess), each ring rotationally
> > staggered from the one above/below (I figure seven boxes per ring, so each
> > staggered ring would be rotated along the vertical axis by 1/14th of a full
> > rotation), and then this superstructure would be merged together, given one
> > set of attributes to cut into the sphere with, spun 1/14th a turn, and cut
> > again with another set of attributes.
> >
> > I could be pretty far ahead of myself here though, as I don't really know
> > how to do any of that. :-)
>
> You could write a quick loop to do this, though I'd do intersections of
> planes instead of removing cubes from a sphere... Or at least I'd think it
> would be quicker (render wise).
If planes would work, I imagine proper bounding would limit their negative
effect, and it'd prolly be easier to generate numbers for positioning.
I don't follow how they would actually work though, as opposed to boxes
which are > 2 dimensional, therefore much saner to operate on 3 dimensional
objects with.
I figured a few loops would do the box setup conveniently (and with partial
effective adjustably!). Not that I know how to pull that off, being a mere
highly technical noob. I'm meandering about the web for scripts that I can
learn from, not going very fast though (my trig skills are nonexistant, so
I expect this to hurt a bit).
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
X-Caliber wrote:
>
> I don't follow how they [planes] would actually work though, as
> opposed to boxes which are > 2 dimensional, therefore much saner
> to operate on 3 dimensional objects with.
Planes are three dimensional. You are looking at the surface, but
everything "below" the surface is considered inside the plane. Look at
this object, for instance:
intersection {
plane { x, 1 }
plane { -x, 1 }
plane { y, 1 }
plane { -y, 1 }
plane { z, 1 }
plane { -z, 1 }
pigment { rgb y }
}
camera {
location <5,5,5>
look_at <0,0,0>
}
light_source {
<25,250,500>
color rgb 1
}
This makes a cube. Intersecting planes can also be rotated to make a
faceted sphere, although a mesh would be tons easier. Rotate points
around an axis and then connect the points with triangles.
-Shay
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Shay <ema### [at] yourhostcom> wrote:
> Planes are three dimensional. You are looking at the surface, but
> everything "below" the surface is considered inside the plane. Look at
> this object, for instance:
>
> intersection {
> plane { x, 1 }
> plane { -x, 1 }
> plane { y, 1 }
> plane { -y, 1 }
> plane { z, 1 }
> plane { -z, 1 }
> pigment { rgb y }
> }
> camera {
> location <5,5,5>
> look_at <0,0,0>
> }
> light_source {
> <25,250,500>
> color rgb 1
> }
>
> This makes a cube. Intersecting planes can also be rotated to make a
> faceted sphere, although a mesh would be tons easier. Rotate points
> around an axis and then connect the points with triangles.
Cool demo.
I dunno how to do it meshwise, so I ended up with an object intersection
define of 56 planes which gets intersected with itsself later on. Heres the
short version...
camera {
location <1, 2.5, 4>
look_at <0, 0, 0>
}
light_source { <5, 5, 3> color <1, 1, .8> }
light_source { <-5, 0, 3> color <1, .8, 1> }
light_source { <5, 0, -3> color <.8, 1, 1> }
background {}
#declare CircCount = 7;
#declare VertCount = 8;
#declare CircFreq = 360 / CircCount;
#declare VertFreq = 180 / VertCount;
#declare HalfBoingSlice =
intersection {
plane { z, 2 rotate <-VertFreq*3.5, 0, 0> }
plane { z, 2 rotate <-VertFreq*2.5, CircFreq*0.5, 0> }
plane { z, 2 rotate <-VertFreq*1.5, 0, 0> }
plane { z, 2 rotate <-VertFreq*0.5, CircFreq*0.5, 0> }
plane { z, 2 rotate <VertFreq*0.5, 0, 0> }
plane { z, 2 rotate <VertFreq*1.5, CircFreq*0.5, 0> }
plane { z, 2 rotate <VertFreq*2.5, 0, 0> }
plane { z, 2 rotate <VertFreq*3.5, CircFreq*0.5, 0> }
}
#declare HalfBoing =
intersection {
object { HalfBoingSlice }
object { HalfBoingSlice rotate CircFreq*y }
object { HalfBoingSlice rotate CircFreq*2*y }
object { HalfBoingSlice rotate CircFreq*3*y }
object { HalfBoingSlice rotate CircFreq*4*y }
object { HalfBoingSlice rotate CircFreq*5*y }
object { HalfBoingSlice rotate CircFreq*6*y }
object { HalfBoingSlice rotate CircFreq*7*y }
}
object {
intersection {
object { HalfBoing pigment { color <1, .2, .2> } }
object { HalfBoing pigment { color <1, 1, 1> } rotate <0, CircFreq*0.5, 0>
}
}
bounded_by {sphere {0, 2.2}}
}
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
In article <web.422bc2902685c12fe6ef12d50@news.povray.org>,
"X-Caliber" <nomail@nomail> wrote:
>>I want to create a faceted checkered sphere (much along the lines of the
>>Amiga "Boing!" ball).
>>
>>To do this I figure I'd take a sphere, build a several rings of boxes (one
>>for each vertical level of facets, eight I guess), each ring rotationally
>>staggered from the one above/below (I figure seven boxes per ring, so each
>>staggered ring would be rotated along the vertical axis by 1/14th of a full
>>rotation), and then this superstructure would be merged together, given one
>>set of attributes to cut into the sphere with, spun 1/14th a turn, and cut
>>again with another set of attributes.
>>
>>I could be pretty far ahead of myself here though, as I don't really know
>>how to do any of that. :-)
hi,
have a look in povray.binaries.images.
and yes, it's a mesh {}.
klp
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
kurtz le pirate <kur### [at] yahoofr> wrote:
> X-Caliber wrote:
> >>I want to create a faceted checkered sphere (much along the lines of the
> >>Amiga "Boing!" ball).
>
> hi,
>
> have a look in povray.binaries.images.
> and yes, it's a mesh {}.
Cool. That could be a decent disco ball. :-)
Can alternating face attributes be easily set to it?
Is there a bit of iterating script in there to generate the mesh? (the long
version of my Boing! description begs for some nested loop goodness, though
the smaller version I posted seems to render about 21% faster, I'm too lazy
to verify at the moment though).
I'm also curious to see mesh code.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
In article <web.422e1ecf1e707c60e6ef12d50@news.povray.org>,
"X-Caliber" <nomail@nomail> wrote:
>>kurtz le pirate <kur### [at] yahoofr> wrote:
>>> X-Caliber wrote:
>>> >>I want to create a faceted checkered sphere (much along the lines of the
>>> >>Amiga "Boing!" ball).
>>>
>>> hi,
>>>
>>> have a look in povray.binaries.images.
>>> and yes, it's a mesh {}.
>>
>>Cool. That could be a decent disco ball. :-)
>>
>>Can alternating face attributes be easily set to it?
>>
>>Is there a bit of iterating script in there to generate the mesh? (the long
>>version of my Boing! description begs for some nested loop goodness, though
>>the smaller version I posted seems to render about 21% faster, I'm too lazy
>>to verify at the moment though).
>>
>>I'm also curious to see mesh code.
no problem. give me a valid email.
klp
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
X-Caliber wrote:
> I dunno how to do it meshwise, so I ended up with an object intersection
> define of 56 planes which gets intersected with itsself later on. Heres the
> short version...
Seeing a demo of nested #whiles, I achieved major code shrinkage again. And
this time the facet count can be changed in either direction with some
#defines.
Thanks Bancquart Sebastien for posting your code!
camera {
location <1, 2.5, 4>
look_at <0, 0, 0>
}
light_source { <5, 5, 3> color <1, 1, .8> }
light_source { <-5, 0, 3> color <1, .8, 1> }
light_source { <5, 0, -3> color <.8, 1, 1> }
background {}
#declare CircCount = 14;
#declare VertCount = 8;
#declare HalfBoing = intersection { #declare a=VertCount;
#while (a>0) #declare a=a-1; #declare b=CircCount;
#while (b>0) #declare b=b-1;
plane { z, 2 rotate <180/VertCount*(a+0.5)-90, 720/CircCount*(b+
(a/2-int(a/2)) ), 0> }
#end #end }
object {
intersection {
object { HalfBoing pigment { color <1, .2, .2> } }
object { HalfBoing pigment { color <1, 1, 1> } rotate <0, 360/CircCount,
0> }
}
bounded_by {sphere {0, 2.2}}
}
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
X-Caliber wrote:
> Seeing a demo of nested #whiles, I achieved major code shrinkage again. And
> this time the facet count can be changed in either direction with some
> #defines.
....and quadrupling both defines leads to amazingly long render times.
(2 minutes becomes 13 hours)
If I ever plan on using high counts (I don't actually) using a mesh may be
really necessary.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|