|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I recently made a macro to do almost-perfctly-centered text. Anyone
interested?
--
//Mahalis
camera{location<0,0.25,-2> look_at 0.5*y} #declare T=texture{pigment{crackle
scale 0.5 rotate 90 turbulence 0.75 color_map{[0 rgb 1][0.05 rgb 1][0.1
rgb<1,0.25,1>][0.25 rgbf 1][1 rgbf 1]}} finish{ambient 1}} #declare
c=difference{torus{0.5,0.1 rotate -90*x}box{<0.7,0,0.2>,<-0.7,-0.7,-0.2>}}
merge{object{c translate<0.5,0.5,0>} object{c translate<-0.5,0.5,0>}
cylinder{<1,0.5,0>,<1,0,0>,0.1} cylinder{<-1,0.5,0>,<-1,0,0>,0.1}
cylinder{0.5*y,0,0.1} texture{T}}
--
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On Thu, 8 Nov 2001 07:52:03 -0500, "Mahalis" <don### [at] fakeycom> wrote:
> I recently made a macro to do almost-perfctly-centered text. Anyone
> interested?
I'm interested. What is wrong with centered around bounding box? Or is it the
same? Could you provide some image to show atventage of your
"almost-perfctly-center" ?
ABX
--
#declare _=function(a,b,x){((a^2)+(b^2))^.5-x}#default {pigment{color rgb 1}}
union{plane{y,-3}plane{-x,-3}finish{reflection 1 ambient 0}}isosurface{ //ABX
function{_(x-2,y,1)|_((x+y)*.7,z,.1)|_((x+y+2)*.7,z,.1)|_(x/2+y*.8+1.5,z,.1)}
contained_by{box{<0,-3,-.1>,<3,0,.1>}}translate z*15finish{ambient 1}}//POV35
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I'm not sure what the advantage is over 'centered bounding boxes' (to be
perfectly honest I've never heard of using such a technique to do this).
--
//Mahalis
camera{location<0,0.25,-2> look_at 0.5*y} #declare T=texture{pigment{crackle
scale 0.5 rotate 90 turbulence 0.75 color_map{[0 rgb 1][0.05 rgb 1][0.1
rgb<1,0.25,1>][0.25 rgbf 1][1 rgbf 1]}} finish{ambient 1}} #declare
c=difference{torus{0.5,0.1 rotate -90*x}box{<0.7,0,0.2>,<-0.7,-0.7,-0.2>}}
merge{object{c translate<0.5,0.5,0>} object{c translate<-0.5,0.5,0>}
cylinder{<1,0.5,0>,<1,0,0>,0.1} cylinder{<-1,0.5,0>,<-1,0,0>,0.1}
cylinder{0.5*y,0,0.1} texture{T}}
--
news:nh0lutchh0ph8b0olp9pvohdq94tklu3pi@4ax.com...
> On Thu, 8 Nov 2001 07:52:03 -0500, "Mahalis" <don### [at] fakeycom>
wrote:
> > I recently made a macro to do almost-perfctly-centered text. Anyone
> > interested?
>
> I'm interested. What is wrong with centered around bounding box? Or is it
the
> same? Could you provide some image to show atventage of your
> "almost-perfctly-center" ?
>
> ABX
> --
> #declare _=function(a,b,x){((a^2)+(b^2))^.5-x}#default {pigment{color rgb
1}}
> union{plane{y,-3}plane{-x,-3}finish{reflection 1 ambient 0}}isosurface{
//ABX
>
function{_(x-2,y,1)|_((x+y)*.7,z,.1)|_((x+y+2)*.7,z,.1)|_(x/2+y*.8+1.5,z,.1)
}
> contained_by{box{<0,-3,-.1>,<3,0,.1>}}translate z*15finish{ambient
1}}//POV35
Post a reply to this message
Attachments:
Download 'text.png' (11 KB)
Preview of image 'text.png'
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Mahalis wrote:
>
> I'm not sure what the advantage is over 'centered bounding boxes' (to be
> perfectly honest I've never heard of using such a technique to do this).
>
See the Center_Object() macro in 'shapes.inc'
BTW, you should know that you should not post binaries in this group.
Christoph
--
Christoph Hormann <chr### [at] gmxde>
IsoWood include, radiosity tutorial, TransSkin and other
things on: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On Thu, 8 Nov 2001 08:24:48 -0500, "Mahalis" <don### [at] fakeycom> wrote:
> I'm not sure what the advantage is over 'centered bounding boxes' (to be
> perfectly honest I've never heard of using such a technique to do this).
With MegaPOV and POV 3.5 you can find useful vector functions min_extent and
max_extent to get lower and higher corner of bounding object. With this you can
find center and size of any object. It is not perfect center but good enough in
almost all situations. You can use it as:
#declare Text=text {ttf "crystal.ttf" "Mahalis" 2 0};
#declare Min=min_extent(Text);
#declare Max=max_extent(Text);
#declare Size=Max-Min;
#declare Center=(Max+Min)/2;
object{Text translate -Center}
You can also find Center_Object in 3.5's standard include files.
So, is your solution still almost-perfect ?
ABX
--
#declare _=function(a,b,x){((a^2)+(b^2))^.5-x}#default {pigment{color rgb 1}}
union{plane{y,-3}plane{-x,-3}finish{reflection 1 ambient 0}}isosurface{ //ABX
function{_(x-2,y,1)|_((x+y)*.7,z,.1)|_((x+y+2)*.7,z,.1)|_(x/2+y*.8+1.5,z,.1)}
contained_by{box{<0,-3,-.1>,<3,0,.1>}}translate z*15finish{ambient 1}}//POV35
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Well, I see 6 lines of code there, as opposed to:
ctext("MaHaLiS","C:\Windows\Fonts\ocrb.ttf",0.125,yes,texture{pigment{Blue}
finish{reflection 0.25 metallic}},interior{})
--
//Mahalis
camera{location<0,0.25,-2> look_at 0.5*y} #declare T=texture{pigment{crackle
scale 0.5 rotate 90 turbulence 0.75 color_map{[0 rgb 1][0.05 rgb 1][0.1
rgb<1,0.25,1>][0.25 rgbf 1][1 rgbf 1]}} finish{ambient 1}} #declare
c=difference{torus{0.5,0.1 rotate -90*x}box{<0.7,0,0.2>,<-0.7,-0.7,-0.2>}}
merge{object{c translate<0.5,0.5,0>} object{c translate<-0.5,0.5,0>}
cylinder{<1,0.5,0>,<1,0,0>,0.1} cylinder{<-1,0.5,0>,<-1,0,0>,0.1}
cylinder{0.5*y,0,0.1} texture{T}}
--
news:l82lutola6vcavbh9qopoho3h7m1itbvjo@4ax.com...
> On Thu, 8 Nov 2001 08:24:48 -0500, "Mahalis" <don### [at] fakeycom>
wrote:
> > I'm not sure what the advantage is over 'centered bounding boxes' (to be
> > perfectly honest I've never heard of using such a technique to do this).
>
> With MegaPOV and POV 3.5 you can find useful vector functions min_extent
and
> max_extent to get lower and higher corner of bounding object. With this
you can
> find center and size of any object. It is not perfect center but good
enough in
> almost all situations. You can use it as:
>
> #declare Text=text {ttf "crystal.ttf" "Mahalis" 2 0};
> #declare Min=min_extent(Text);
> #declare Max=max_extent(Text);
> #declare Size=Max-Min;
> #declare Center=(Max+Min)/2;
> object{Text translate -Center}
>
> You can also find Center_Object in 3.5's standard include files.
> So, is your solution still almost-perfect ?
>
> ABX
> --
> #declare _=function(a,b,x){((a^2)+(b^2))^.5-x}#default {pigment{color rgb
1}}
> union{plane{y,-3}plane{-x,-3}finish{reflection 1 ambient 0}}isosurface{
//ABX
>
function{_(x-2,y,1)|_((x+y)*.7,z,.1)|_((x+y+2)*.7,z,.1)|_(x/2+y*.8+1.5,z,.1)
}
> contained_by{box{<0,-3,-.1>,<3,0,.1>}}translate z*15finish{ambient
1}}//POV35
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On Thu, 8 Nov 2001 08:51:00 -0500, "Mahalis" <don### [at] fakeycom> wrote:
> Well, I see 6 lines of code there, as opposed to:
> ctext("MaHaLiS","C:\Windows\Fonts\ocrb.ttf",0.125,yes,texture{pigment{Blue}
> finish{reflection 0.25 metallic}},interior{})
Oh, you want count?
So let's simplify this 6 lines, remove not necessary space and group to macro
#macro Center(O)object{O translate-(max_extent(O)+min_extent(O))/2}#end
is your macro shorten? :-)
Note it works fine with all objects.
Center(text{ttf "crystal.ttf" "Mahalis" 2 0})
Center(sphere{0,1})
ABX
--
#declare _=function(a,b,x){((a^2)+(b^2))^.5-x}#default {pigment{color rgb 1}}
union{plane{y,-3}plane{-x,-3}finish{reflection 1 ambient 0}}isosurface{ //ABX
function{_(x-2,y,1)|_((x+y)*.7,z,.1)|_((x+y+2)*.7,z,.1)|_(x/2+y*.8+1.5,z,.1)}
contained_by{box{<0,-3,-.1>,<3,0,.1>}}translate z*15finish{ambient 1}}//POV35
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Poo. Well.. that only works in POV 3.5, whereas mine works equally well in
3.1 and 3.5.
Look, I'm really scraping the bottom of the barrel here.. :-)
--
//Mahalis
camera{location<0,0.25,-2> look_at 0.5*y} #declare T=texture{pigment{crackle
scale 0.5 rotate 90 turbulence 0.75 color_map{[0 rgb 1][0.05 rgb 1][0.1
rgb<1,0.25,1>][0.25 rgbf 1][1 rgbf 1]}} finish{ambient 1}} #declare
c=difference{torus{0.5,0.1 rotate -90*x}box{<0.7,0,0.2>,<-0.7,-0.7,-0.2>}}
merge{object{c translate<0.5,0.5,0>} object{c translate<-0.5,0.5,0>}
cylinder{<1,0.5,0>,<1,0,0>,0.1} cylinder{<-1,0.5,0>,<-1,0,0>,0.1}
cylinder{0.5*y,0,0.1} texture{T}}
--
news:qm3lutsk4ug928itbjhpounodvn89m2u0b@4ax.com...
> On Thu, 8 Nov 2001 08:51:00 -0500, "Mahalis" <don### [at] fakeycom>
wrote:
>
> > Well, I see 6 lines of code there, as opposed to:
> >
ctext("MaHaLiS","C:\Windows\Fonts\ocrb.ttf",0.125,yes,texture{pigment{Blue}
> > finish{reflection 0.25 metallic}},interior{})
>
> Oh, you want count?
> So let's simplify this 6 lines, remove not necessary space and group to
macro
>
> #macro Center(O)object{O translate-(max_extent(O)+min_extent(O))/2}#end
>
> is your macro shorten? :-)
> Note it works fine with all objects.
>
> Center(text{ttf "crystal.ttf" "Mahalis" 2 0})
> Center(sphere{0,1})
>
> ABX
> --
> #declare _=function(a,b,x){((a^2)+(b^2))^.5-x}#default {pigment{color rgb
1}}
> union{plane{y,-3}plane{-x,-3}finish{reflection 1 ambient 0}}isosurface{
//ABX
>
function{_(x-2,y,1)|_((x+y)*.7,z,.1)|_((x+y+2)*.7,z,.1)|_(x/2+y*.8+1.5,z,.1)
}
> contained_by{box{<0,-3,-.1>,<3,0,.1>}}translate z*15finish{ambient
1}}//POV35
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Mahalis" <don### [at] fakeycom> wrote in message
news:3beaa261$1@news.povray.org...
> Poo. Well.. that only works in POV 3.5, whereas mine works equally well in
> 3.1 and 3.5.
> Look, I'm really scraping the bottom of the barrel here.. :-)
No your not - your grasping at straws ;)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Okay, okay, I get the message. No one wants my poor little macro [sniff]
<g>
--
//Mahalis
camera{location<0,0.25,-2> look_at 0.5*y} #declare T=texture{pigment{crackle
scale 0.5 rotate 90 turbulence 0.75 color_map{[0 rgb 1][0.05 rgb 1][0.1
rgb<1,0.25,1>][0.25 rgbf 1][1 rgbf 1]}} finish{ambient 1}} #declare
c=difference{torus{0.5,0.1 rotate -90*x}box{<0.7,0,0.2>,<-0.7,-0.7,-0.2>}}
merge{object{c translate<0.5,0.5,0>} object{c translate<-0.5,0.5,0>}
cylinder{<1,0.5,0>,<1,0,0>,0.1} cylinder{<-1,0.5,0>,<-1,0,0>,0.1}
cylinder{0.5*y,0,0.1} texture{T}}
--
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|