Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

3D object in eps files

7 views
Skip to first unread message

pluton

unread,
Oct 2, 2006, 4:12:49 AM10/2/06
to
Hi all,

just some considerations about the eps format. Lately, I had to put a
finite element mesh of a given structure in a final report. I was able
to save the image to include in the eps format to keep a perfect
resolution of the mesh. Anyway, one of the main drawbacks of the eps
format is that it keeps all the information, even the one that is not
viewable (let's say the finite elements in the background behind the
elements in the foreground when transparency is set to 0). My question
is then: when dealing with 3D objects in eps files, is there a way to
keep all the viewable objects, while erasing all the others, with still
a vectorial description? It would be great in terms of memory.

Pluton

hoff...@fho-emden.de

unread,
Oct 2, 2006, 2:20:23 PM10/2/06
to
Pluton,

PS doesn't support 3D.
Assumed the surface is represented by triangles or quadrilaterals,
which can be divided into triangles.
Which hidden surface algorithm can be applied ?
a) Z-Buffer. This relies on a pixel representation of the rendered
surface.
A new pixel overwrites an old pixel if the new pixel's distance in
3D is nearer.
That's theoretically possible by PS, but then it's no more vector
graphics.
b) Backface culling. If the surface triangle's normal point's towards
the camera view line, then the triangle is visible.
Very good for single convex objects.
c) Sorting the triangles by depth, where depth is the distance from
the camera's center of projection to the point, measured along
the camera's view line (painter's algorithm).
This will cause artefacts, because a triangle doesn't have a
unique depth.
It should work for separating different objects.
d) Calculating all intersections of all triangles in the view plane
and creating all possible intersecting polygons.
Very difficult - didn't even touch this, so far.

A wireframe model consists of wires - the areas between are
transparent by definition.
What you want, might be a facetted mesh, where the facettes
are represented by solid color triangles and enhanced edges.
This falls into the categories as explained above.

Some examples for somewhat limited categories of 3D PS
vector graphics are here:
http://www.fho-emden.de/~hoffmann/pstutor22112002.pdf

Best regards --Gernot Hoffmann

hoff...@fho-emden.de

unread,
Oct 2, 2006, 2:29:40 PM10/2/06
to
For better readability by Courier New I had modified the
page layout (same content):

Pluton,

PS doesn't support 3D graphics.

Chapman Flack

unread,
Oct 2, 2006, 4:02:40 PM10/2/06
to
pluton wrote:
> resolution of the mesh. Anyway, one of the main drawbacks of the eps
> format is that it keeps all the information, even the one that is not
> viewable (let's say the finite elements in the background behind the
> elements in the foreground when transparency is set to 0). My question
> is then: when dealing with 3D objects in eps files, is there a way to
> keep all the viewable objects, while erasing all the others, with still
> a vectorial description? It would be great in terms of memory.

If I understand your question correctly, I am not sure it is really a
drawback of the eps format per se. It sounds as if you are using an
application that produces this eps file, and the app puts all of the
elements into the file even when some of them are sure to be
overpainted by others. And yes, it would save memory, and size
of the eps file, to write into the file only the objects that will
ultimately
be visible. But how to do that, or whether you can do that, would
seem to be questions for the specific application you are using,
and not questions about PostScript or eps.

If I misunderstood your question that probably didn't help at all,
but that happens sometimes. :)

-Chap

pluton

unread,
Oct 2, 2006, 5:18:35 PM10/2/06
to
>But how to do that, or whether you can do that, would
> seem to be questions for the specific application you are using,
> and not questions about PostScript or eps.
>
> If I misunderstood your question that probably didn't help at all,
> but that happens sometimes. :)

no no, you are correct but I finally found how to achieve what I want.
Let's say I have a 3D finite element model with colored faces (as
explained above by Gernot). I just want to keep the visible elements. I
save my image in a bmp format so that only the visible elements will be
printed (as explained by Gernot again). Then I open this bmp image with
Illustrator CS2 and use these new features called Live Trace and Live
paint that vectorize a bmp image.
I eventually got a vector eps image with only the usefull info, which
is great even if it is still not perfect!!

Pluton

Helge Blischke

unread,
Oct 3, 2006, 1:02:54 PM10/3/06
to

I think normally it is up to the application that creates the 3D
objects to save "printable snapshots" (as opposed to interactively viewable
objects on screen) whith hidden elements removed. But as far as I know
this is not a trivial task, and letting the PS interpreter of a printing
device (including software "printers" like Acrobat Distiller) simply
operpainting hidden objects surely is a legitimate approach, as nowadays
printing is quite fast even when dealing with complex objects.
And isn't disk space no longer a big issue, as the dollars per megabyte
have dropped several magnitudes over the last few years?

Helge

--
Helge Blischke
Softwareentwicklung
SRZ Berlin | Firmengruppe besscom
http://www.srz.de

hoff...@fho-emden.de

unread,
Oct 3, 2006, 1:29:38 PM10/3/06
to
Helge,

a standard solution for hidden surface suppression is the
Z-Buffer algorithm for raster images.
This is far from vector graphics quality, unless the pixel
numbers are rather large: we're using 8000 x 5000 for
graphics by the CAD system Catia (upper limit).

In order to export surfaces as vector graphics (flat shading
by PS2 or Gouraud shading by PS3), it would be necessary
to calculate the corrrect depth sequence of triangles and of
resulting polygons of all mutually interfering triangles.

I don't know any program which can do this for arbitrary scenes.
Inputs are welcome.

Best regards --Gernot Hoffmann

pluton

unread,
Oct 3, 2006, 3:21:10 PM10/3/06
to
> In order to export surfaces as vector graphics (flat shading
> by PS2 or Gouraud shading by PS3), it would be necessary
> to calculate the corrrect depth sequence of triangles and of
> resulting polygons of all mutually interfering triangles.
>
> I don't know any program which can do this for arbitrary scenes.
> Inputs are welcome.

exactly!!! Have a look at the live trace and live paint features of
Illustrator CS2: it helps doing a surfaces as vector graphics based on
a bitmap image. (but it is useless if you want to directly export a 3D
object to a flat surface in vector graphics, it's more like a trick!).

Helge,
I'll send you a pdf image from a ps image containing a 3D object with
all the useless info and you'll see what I mean.

Pluton

0 new messages