ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Paul Menzel <paulepanter@users.sourceforge.net>
To: ntg-context@ntg.nl
Subject: Re: MetaPost: Confusion with `function()` and `xyscaled`
Date: Sun, 23 Oct 2011 16:12:03 +0200	[thread overview]
Message-ID: <1319379123.4815.24.camel@mattotaupa> (raw)
In-Reply-To: <4EA198E0.40406@gmx.net>


[-- Attachment #1.1: Type: text/plain, Size: 2335 bytes --]

Am Freitag, den 21.10.2011, 18:08 +0200 schrieb Peter Rolf:
> Am 21.10.2011 17:26, schrieb Paul Menzel:

> > Am Freitag, den 21.10.2011, 17:02 +0200 schrieb Peter Rolf:
> > 
> >> I agree, this is confusing on the first sight. But scaling is not meant
> >> as 'scaling to' a dimension. In fact is is just a simple multiplication.
> >> The reason why it seems to work this way with
> >> 'fullsquare' and such predefined paths is, that they have a 'neutral'
> >> size/scale (bounding box size of filled path is (1pt,1pt)).
> > 
> > So how can I find out what the dimension of the path of a function is?
> > Not scaling it, it also looked pretty small, so I am guessing (1pt,1pt).
> 
> I guess in this case its size is (10,log(10)) + pen size when drawn.

That was it kind of. Probably the most of my confusion resulting from
the use of the inverse function.

So all in all the width is 1 – the x-coordinates seem to be scaled to
the width of 1 – and the height is 10, as ten is the highest value.
Therefore the width has to be multiplied with 10cm to get it to 10cm and
since the height it 10 already multiplying it with 2cm gets it to 20cm.

> >> Multiplying such a path with (x,y) gives an object with size (1*x,1*y).
> >> In general: if the bounding box of an object has the size (a,b) and you
> >> scale it with (x,y), the resulting object has a size of (ax,by). That's
> >> all the magic.
> > 
> > but if you use numbers with a unit than it should not be multiplied but
> > expanded to that value, should not it? Otherwise I am unsure how
> > multiplication works with a unit.
>
> 1pt is the base unit in MP (used if no dimension is given; probably
> stored as 65536sp (scaled point) units).

In the manual I only found bp for »big point«, which equal PostScript
points equaling 1/72 of an inch.

> Now if you use pure numerics for scale, such as 'xscaled 2', this is
> interpreted as '2pt' (or 2*65536sp). If you use any dimension, it is
> also converted into scaled points. All the same for MP.
> 
> If I'm right this should all be the same (untested)
> 
> xscaled 2
> xscaled 2pt

This gives the same result.

> xscaled (2*65536sp)

I could not test the above because the numbers got too big and MetaPost
complained.

> 1 = 1pt = 65536sp

[…]


Thanks,

Paul

[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

  reply	other threads:[~2011-10-23 14:12 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-20 23:14 MetaFun: " Paul Menzel
2011-10-21 11:38 ` Paul Menzel
2011-10-21 15:02   ` Peter Rolf
2011-10-21 15:26     ` MetaPost: " Paul Menzel
2011-10-21 16:08       ` Peter Rolf
2011-10-23 14:12         ` Paul Menzel [this message]
2011-10-23 15:17           ` Peter Rolf
2011-10-23 21:39             ` Hans Hagen
2011-10-21 20:53 ` MetaFun: " Aditya Mahajan
2011-10-22  7:24   ` Hans Hagen
2011-10-23 13:17 ` MetaFun manual: Incorrect label of ordinate axis on page 382, section 9.3 drawing functions (was: Confusion with `function()` and `xyscaled`) Paul Menzel

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=1319379123.4815.24.camel@mattotaupa \
    --to=paulepanter@users.sourceforge.net \
    --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).