POV-Ray : Newsgroups : povray.general : rolled up maps : Re: rolled up maps Server Time
1 Aug 2024 08:18:44 EDT (-0400)
  Re: rolled up maps  
From: Mike Williams
Date: 14 Jan 2006 10:20:07
Message: <Um8GWGAHURyDFw3H@econym.demon.co.uk>
Wasn't it Jim Holsenback who wrote:
>Hola,
>
>having a bit of trouble coming up with a couple of rolled up maps for my 
>scene. i've created a compass, dividers, cartographers loupe, and a table 
>with a flat interesting map (image_map) on top of the table. i've tried a 
>series on concentric cylinders (slightly unevenly scaled) with an image map 
>wrappped around the outer cylinder .... but it looks hokey. any ideas?

You might be able to tweak this into what you need.

It uses Ingo Janssen's Param.inc macro, which creates a mesh with uv
mapping, so it should be possible to paint a map onto it

Get param.inc from http://members.home.nl/seedseven/

global_settings {assumed_gamma 1.0}

#declare R1=0.2;        //inner radius right end
#declare R2=1;          //outer radius right end
#declare R3=0.1;        //inner radius left end
#declare R4=1.5;        //outer radius left end
#declare DX=3;          //length of straight bit
#declare F1 = 5*pi;     //frequency of right end: use (4n+1)*pi
#declare F2 = 14*pi;    //frequency of left end:  use (4n+2)*pi

camera { location  <-5, 3, -10> look_at <-DX/2,0,0> angle 28}
light_source {<-100,200,-500> colour rgb 1}

// An open 2D spline 
#declare S = function {
   spline {
     linear_spline
     // right end
     #declare T=0;
     #while (T<0.5)
       #declare X=cos(T*F1)*((R1*(0.5-T))+(R2*T));
       #declare Y=-sin(T*F1)*((R1*(0.5-T))+(R2*T));
       T, <X,Y>,
       #declare T=T+0.002;
     #end
     // left end
     #while (T<1)
       #declare X=sin(T*F2)*((R4*(1-T))+(R3*(T-0.5))) - DX;
       #declare Y=cos(T*F2)*((R4*(1-T))+(R3*(T-0.5)));
       T, <X,Y>,
       #declare T=T+0.002;
     #end
   }
 }


#declare Fx  = function(u,v) {S(u).x}
#declare Fy  = function(u,v) {S(u).y}
#declare Fz  = function(u,v) {v}

#include "param.inc"

object {Parametric(Fx,Fy,Fz,<0,-2>,<1,2>,400,2,"")
        pigment {rgb 1}
}

-- 
Mike Williams
Gentleman of Leisure


Post a reply to this message

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