POV-Ray : Newsgroups : povray.macintosh : EPStoPOV 1.0: convert EPS to POV-Ray object : R: EPStoPOV 1.0: convert EPS to POV-Ray object Server Time
3 Jul 2024 04:32:39 EDT (-0400)
  R: EPStoPOV 1.0: convert EPS to POV-Ray object  
From: olivier wailly
Date: 4 Sep 1999 04:44:34
Message: <37d0dbf2@news.povray.org>
>Is there any possibility you could port this in some way to PC (pref. windows
>or dos)? I have Illustrator and I would like to use it to do the same things
>you now allow Mac POVers to do. Thanks in advance for any help you can
>provide.
>
>--
>Anthony L. Bennett
>http://welcome.to/TonyB
>
>Non nova, sed nove.
>

-----
I'm sorry but I'm not able to port my utility on PC platform. 
But I will try to explain you how its work.

You can surely open an eps file with a text editor. 
If you do that, you will find, after many eps code, something like this:

1879.5 2225.5 m
1888 2223 1926.5 2218 1927.5 2213 C
1928.5 2208 1932 2198 1927.5 2192.5 C
1923 2187 1880 2205.5 1880 2205.5 C
1880 2205.5 1865.5 2200.5 1875.5 2175.5 C
1885.5 2150.5 1912 2138.5 1924 2137.5 C
1936 2136.5 1961 2156 1961 2156 C
1961 2156 1976.5 2138.5 1957 2124 C
1937.5 2109.5 1903.5 2119 1898.5 2120.5 C
1893.5 2122 1842 2182 1836.5 2168 C
1831 2154 1827.5 2143.5 1830 2133 C
1832.5 2122.5 1865 2112.5 1865 2112.5 C
1888.5 2103 L
1862.5 2083.5 L
1797 2139 L
1797 2139 1790.5 2171 1806.5 2185.5 C
1822.5 2200 1820 2241.5 1806.5 2232 C
1793 2222.5 1780 2197.5 1780 2197.5 C
1771 2233.5 L
1771 2233.5 1852.5 2261 1861.5 2255 C
1870.5 2249 1925.5 2265 1925.5 2265 C
1925.5 2265 1951.5 2267 1953.5 2252.5 C
1955.5 2238 1931 2228 1916 2235 C
1901 2242 1904 2247.5 1885 2243.5 C
1866 2239.5 1842 2240.5 1841 2222 C
1840 2203.5 1838.5 2170 1846 2187 C
1853.5 2204 1858 2209 1859.5 2211.5 C
1861 2214 1871 2228 1879.5 2225.5 C

This lines are the coordinates of the points and control points of a curve.
"m" (or "moveto") is the first point of the curve. first number is x
coordinate, second y coordinate.
"c" (or "curve") indicate a curve with control points. Number 1 & 2 are x &
y of first control point, number 3 & 4 are x & y of second control point,
number 5 & 6 are x & y of the point of the curve.

So the 2 first lines mean the first segment: 
<1879.5, 2225.5>,<1888,2223>,<1926.5, 2218>,<1927.5, 2213>

To made the second segment, you have to repeat the last point of the
previous line (<1927.5, 2213>):
<1927.5, 2213>,<1928.5, 2208>,<1932, 2198>,<1927.5, 2192.5>

You can go on so for all of the "c" lines.

The "L" (or "lineto") lines are segment without control points. So you have
to add 2 times the last point of the previous line and repeat the last
point.
In my example first "L" line mean the segment:
<1865,2112.5>,<1865,2112.5>,<1888.5,2103>,<1888.5,2103>.

So the complete conversion of my example is:

  <1879.5,2225.5>,<1888,2223>,<1926.5,2218>,<1927.5,2213>,
  <1927.5,2213>,<1928.5,2208>,<1932,2198>,<1927.5,2192.5>,
  <1927.5,2192.5>,<1923,2187>,<1880,2205.5>,<1880,2205.5>,
  <1880,2205.5>,<1880,2205.5>,<1865.5,2200.5>,<1875.5,2175.5>,
  <1875.5,2175.5>,<1885.5,2150.5>,<1912,2138.5>,<1924,2137.5>,
  <1924,2137.5>,<1936,2136.5>,<1961,2156>,<1961,2156>,
  <1961,2156>,<1961,2156>,<1976.5,2138.5>,<1957,2124>,
  <1957,2124>,<1937.5,2109.5>,<1903.5,2119>,<1898.5,2120.5>,
  <1898.5,2120.5>,<1893.5,2122>,<1842,2182>,<1836.5,2168>,
  <1836.5,2168>,<1831,2154>,<1827.5,2143.5>,<1830,2133>,
  <1830,2133>,<1832.5,2122.5>,<1865,2112.5>,<1865,2112.5>,
  <1865,2112.5>,<1865,2112.5>,<1888.5,2103>,<1888.5,2103>,
  <1888.5,2103>,<1888.5,2103>,<1862.5,2083.5>,<1862.5,2083.5>,
  <1862.5,2083.5>,<1862.5,2083.5>,<1797,2139>,<1797,2139>,
  <1797,2139>,<1797,2139>,<1790.5,2171>,<1806.5,2185.5>,
  <1806.5,2185.5>,<1822.5,2200>,<1820,2241.5>,<1806.5,2232>,
  <1806.5,2232>,<1793,2222.5>,<1780,2197.5>,<1780,2197.5>,
  <1780,2197.5>,<1780,2197.5>,<1771,2233.5>,<1771,2233.5>,
  <1771,2233.5>,<1771,2233.5>,<1852.5,2261>,<1861.5,2255>,
  <1861.5,2255>,<1870.5,2249>,<1925.5,2265>,<1925.5,2265>,
  <1925.5,2265>,<1925.5,2265>,<1951.5,2267>,<1953.5,2252.5>,
  <1953.5,2252.5>,<1955.5,2238>,<1931,2228>,<1916,2235>,
  <1916,2235>,<1901,2242>,<1904,2247.5>,<1885,2243.5>,
  <1885,2243.5>,<1866,2239.5>,<1842,2240.5>,<1841,2222>,
  <1841,2222>,<1840,2203.5>,<1838.5,2170>,<1846,2187>,
  <1846,2187>,<1853.5,2204>,<1858,2209>,<1859.5,2211.5>,
  <1859.5,2211.5>,<1861,2214>,<1871,2228>,<1879.5,2225.5>

In some eps, you will perhaps find also "v" and "y" curves.

A "v" curve have no first control point but have a second control point so
you have to add 2 time the last point of the previous line:

............x1 y1 c
x2 y2 x3 y3 x4 y4 v

mean the segment:

<x1,y1>,<x1,y1>,<x2,y2>,<x3,y3>,<x4,y4>

A "y" curve have no second control point but have a first control point so
you have to repeat the last point of the line:

............x1 y1 c
x2 y2 x3 y3 x4 y4 y

mean the segment:
<x1,y1>,<x2,y2>,<x3,y3>,<x4,y4>,<x4,y4>

This conversion done you have to scale and translate your POV object at the
right place.

This is all wat make my utility. I think that it will be a game to do the
same for a programmer on PC (that I'm not!).

I suggest you to post this correspondence to the news
povray.binaries.programming or povray.programming, perhaps somebody will do
it, if it's not already done...

Best regards
----
Olivier Wailly
http://www.geocities.com/CapeCanaveral/Galaxy/8018/


Post a reply to this message

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