From: h h extern <pragma@wxs.nl>
Subject: Re: shading in meta[post/play] & PDF
Date: Fri, 21 Jan 2005 21:55:32 +0100 [thread overview]
Message-ID: <41F16C44.4020106@wxs.nl> (raw)
In-Reply-To: <41F04319.2070402@guest.arnes.si>
Mojca Miklavec wrote:
> Problem description:
> I have a computer program, which carries the data about the grid points
> on a sphere (possibly with different colors defined in these points) and
> how the points are connected with each other to form a grid. I would
> take these triangles (or quadrilaterals), draw them transformed on the
> plane (with curves, not with straight lines) and fill them with the
> appropriate shading pattern (colors defined in corners of the triangles
> (darker according to normal vector) simply interpolated between the
> three points). Yet another possibility would probably be to use
> function-based shading and define a function which knows how the points
> have to be shaded on the sphere, but the latter seems more complicated
> and less universal.
>
> Problem reduction:
> Fill a mp closed path with any more complex shading.
>
> So I would probably need Type 6 or 7 shading (Type 4 would be OK as the
> picture can be clipped within metapost, so that the resulting sphere
> borders are not composed of straight lines; the articles on
> http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/ which
> inspired me to do something so crazy actually use Type 4 shading). Type
> one is probably the most general one, so it should be OK too, just
> complicated to do.
>
> However: I'm not sure if, say, a (sampled) function to be passed to PDF
> can be specified in metapost elegantly.
i searched my machine extensively but it seems that i lost some code that could
be used as starting point for that;
> Page 746 of PDF Reference, version 1.6 also defines an interesting new
> feature: 3D objects (3D Artwork as they call it), but I haven't found
> anything else about that.
there is a section about shading, the function numbers differ;
> In dvipdfm there's an example of using:
> \special{pdf: bt rotate 90 xscale 2.0 }
>
> These lines are to be used in TeX. MetaPost also knows a "special"
> command, I just don't know how to use it. (This is probably the
> "communication channel" to PDF when trying to implement some more exotic
> shadings.)
take a look at supp-mpe.tex, all we need is some variant on
\defineMPspecial{31}
{\startMPshading{16}% type 3
\setMPshadingcolors{4}{5}{6}{10}{11}{12}%
\immediate\pdfobj
{<</FunctionType 2
/Domain [\gMPs1 \gMPs2]
/C0 [\MPshadeA]
/C1 [\MPshadeB]
/N \gMPs3>>}%
\immediate\pdfobj
{<</ShadingType 3
/ColorSpace /\MPshadeC\space
/Function \the\pdflastobj\space 0 R
/Coords [\gMPs7 \gMPs8 \gMPs9 \gMPs{13} \gMPs{14} \gMPs{15}]
/Extend [true true]>>}%
\stopMPshading}
(plus some more depending on what parameters need to be passed)
> I glimpsed the mp-spec.mp file, but I didn't yet understand how the
> parameters are passed to PDF.
>
>> [more a context mailing list issue than a metapost list issue]
>
> So I left the metapost group out. Actually, 90% on the people here
> probably think I posted that to the wrong group anyway (in the sense of
> "Are you sure you didn't want to post that question to the 3D studio max
> mailing list?" :) The example above is probably not the most descriptive
> one, but having the possibility to add some more advanced shading
> patterns would be great.
if you can locate the right stuff in the pdf ref manual we can see what can be
done (off list); i can add more 'special' handlers to the mp to pdf converted
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------
next prev parent reply other threads:[~2005-01-21 20:55 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-15 5:16 Mojca Miklavec
2005-01-15 21:04 ` [metapost] " Laurence Finston
2005-01-19 10:00 ` Mojca Miklavec
2005-01-19 10:59 ` Laurence Finston
2005-01-19 11:48 ` Hans Hagen
2005-01-20 23:47 ` Mojca Miklavec
2005-01-21 20:55 ` h h extern [this message]
2005-01-22 1:36 ` Mojca Miklavec
2005-01-15 22:02 ` [metapost] " Laurence Finston
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=41F16C44.4020106@wxs.nl \
--to=pragma@wxs.nl \
--cc=ntg-context@ntg.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).