From - Wed Nov  2 19:36:53 2005
Return-Path: <lfinsto1@gwdg.de>
Received: from mailer.gwdg.de (mailer.gwdg.de [134.76.10.26])
          by nef2.ens.fr (8.13.2/1.01.28121999) with ESMTP id jA2IajfC067916
          for <metafont@ens.fr>; Wed, 2 Nov 2005 19:36:47 +0100 (CET)
X-Envelope-To: <metafont@ens.fr>
Received: from gwdu71.gwdg.de ([134.76.8.21])
	by mailer.gwdg.de with esmtp (Exim 4.54)
	id 1EXNTT-0002NZ-Jz; Wed, 02 Nov 2005 19:36:40 +0100
Received: from localhost by gwdu71.gwdg.de (8.11.1/1.1.29.3/16Jun03-0924AM)
	id jA2Iadw0000251253; Wed, 2 Nov 2005 19:36:39 +0100 (MET)
X-Authentication-Warning: gwdu71.gwdg.de: lfinsto1 owned process doing -bs
Date: Wed, 2 Nov 2005 19:36:38 +0100 (MET)
From: Laurence Finston <lfinsto1@gwdg.de>
To: liste metafont <metafont@ens.fr>, help-3dldf <help-3dldf@gnu.org>,
        metapost@tug.org
Subject: Constructing ellipse from 4 points
Message-ID: <Pine.OSF.4.58.0511021932470.250965@gwdu71.gwdg.de>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="352865414-1357351762-1130956598=:250965"
X-Virus-Scanned: (clean) by exiscan+sophie
X-Greylist: Recipient e-mail whitelisted, not delayed by milter-greylist-1.5.10 (nef2.ens.fr [129.199.96.32]); Wed, 02 Nov 2005 19:36:47 +0100 (CET)
X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on sophora.ens.fr
X-Spam-Level: 
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled 
	version=3.0.2

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--352865414-1357351762-1130956598=:250965
Content-Type: TEXT/PLAIN; charset=X-UNKNOWN
Content-Transfer-Encoding: QUOTED-PRINTABLE

Hello,

I'm a bit stuck and hoping someone here will be able to help me.
The attached PostScript file contains illustrations of my attempts
to find the intersection of an ellipsoid with a plane.

The ellipsoid e:  length along the x-axis: 10cm
                  length along the y-axis: 5cm
                  length along the z-axis: 7cm

                  center at the origin, rotated 15=B0 about the y-axis,
                  then shifted -1cm along the x-axis (center (-1, 0, 0)).

The square s:    center at origin, lying in x-z plane
                 side length: 15cm
                 Then, rotated 15=B0 about the y-axis and 45=B0 about the z=
-axis,
                 and shifted 1cm along the x-axis (center (-1, 0, 0)).

The points h0, h1, and v0 ... v5 all lie in the plane of s.
The points h0 and h1 are on one of the ellipses on e,
and the points v0 and v1 are on another one, perpendicular to the first.
These four points therefore lie on the ellipse that represents the
intersection of the ellipsoid and the plane.

In more nicely behaved cases, the polygon "v5, v4, v3, v2" is
rectangular, and it seemed that its enclosed ellipse was the one I
was looking for.  However, in this case (and others), it is not, as
can be seen from the projections onto the x-z and z-y planes.

It seems to me that it ought to be possible to construct an ellipse
from the four points v0, v1, h0, and h1.  Does anyone here know how, or
know where I could look to find out?

Any help would be much appreciated.

Laurence Finston

--352865414-1357351762-1130956598=:250965
Content-Type: APPLICATION/octet-stream; name="ellppln0.ps.gz"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.OSF.4.58.0511021936380.250965@gwdu71.gwdg.de>
Content-Description: 
Content-Disposition: attachment; filename="ellppln0.ps.gz"

H4sICDMGaUMAA2VsbHBwbG4wLnBzAO29a5PcOJYl+N1/hY/ttJk01gwRBEmQ
1bVp7c+eMuvKri1lV2dPbdlapBSSYipSoQ1J+ZjY/O97zrkACDo9QlJN987Y
TlWWwt1BEgQu7hv3XvzNf/jd82rz8va7q6q5qFd/8ze7u6vLD7d3v1q//OH6
3fsnf3667i6G/tV6d/vu57vr128+rJu6duvfX768fnF5sz78fLV+fvvqw4+X
d1d4+pvrDzdXv1r7/T/ujx+ufrpAJ2j93eXrq/e/Wrfx6z/dvbzCCzbvX1y9
fYm27e3Hty+v377e3v70q3WN/4a2WTs3Olzb3774+P3V2w+/u3x3dff8+r+x
n0uPC4e3L3e33/PS+9Xf7P/wm989/5er79j7r9ZPfvzxx4s7G+DVz1cXL26/
fxrv4SOXb1/+4/XbqzjDdXU7DRc/0/f4wO8u7y6/v/pwdYf3vnx3/b/3df23
a3T47u7q/furl/Gu57cf716gx/U3V9+ubz9+ePdRYOounLuom1+50XMu26vX
129/d3f74vnVh1+t8Y4XF+/ubld/8x9Wz/Dc/vrFh7Wv6/VLfnl59WqdGr/j
c8++vkfbL/j3bHv/3fXbl7zll6+fPb9HP2/w5dv756uvf9k+29y//PgOn9/8
/v7D3eXb9zeXH65w+fr9zfv1q8ub91frr5/98B6QBIjXoVl///EGLW/UMlx0
aFpZ0w0A9e7m4/uxvtdzevffAweu396zt/s/1uviHreu3C/3lVu7X65fXfE9
9QqL+acXt29fXH5AG1/2+6v3tzcfP1zfvsU0f2DLH06a3l69Xr/nwq31jlXx
hvJWPMm7bSIcb70WHO6Le6p4k+amSdVpaN/8ngMq7i37tk7T0259+fKlXvHN
7/+4+v7yw931T+sXH+/ugHr2636z3qzviMTr9x+/W19+935dX9Q1yeTmw70u
4G2/vLq9u7y5sRtXHGx8hl//9P4qdoal+nvOGTB4d3Vvy/bh7iNWDWv690De
j5c3r66uXt6v3n+4/PDxPbHl2dRs9wL/ePeL23fXV+/vn/1v9mX9LRqPv738
8EcnMqv08afV18+O2+0fa7XVf/r62du3+PL1s98c7PPFhzt9vnxVfbi8vrnn
9cGw9Os1vgs9V8+Ot28/fPPzu6u1x7388VsD1au3H+5+ik1bkPgaL8OD73Hx
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
REO6wfBnjduSxmRC9/uXq+8vf4ptrwGM79kmbE/2pN2oTqSjkuauNTbeGZ0B
SxxJ2PHs9uX9h5/e3b6nIICG9OEn9kDsjVrRy4l3P19dfriEUCV3TayfC6sv
31/e/fk+33u/YPmQRNPVVXHZWDwu92SGYiHTxUfbVmdf1ydG9JltK2iBcYD3
L24ACE7nl1/4NyrJea6QaB8+3HKmUW+6FGN59vrF+qeXr1YU9HQajgCkjJd6
/eq/4fur93jV8dn/83/pf7vbj3fXUDNevf0AdfiHq7sPr24uX9//7hI6w/bm
8sWfaQBhYWxV7t/99H797uf3kbu9e3e3vpS6aarm3f3b21dYgvfSMp5LbD6n
hJeptaqivkCM+In3rX/WXxhcpw+4ARLrFgoUESE9p/d5GXX8ZvqxXILQ5/nJ
1madrteL6+bY06tX9mog4LnXa7zTEPTe9dn3rkw1sJ6tz5/mPc+emI9LT8GC
SlCLb5YVHM4A4BzgpmdW44MwOz/2h2C2egBm6znMitGO50G1Wr7uMVCdnz77
eWxRay0ZARlVQs37u5/H/n6Ony0RUHQnx4IktV8vmqJ1jcFcjH0hyg059Hdl
76Mr5z6NOJlL63ffZ51GLkgbmZjd3feQkhJlq6W3+owDe3J3J3Z/n7SMNCwZ
qzWt79dgAXjLu/evIOqfz4wdiJqvzWb75uqn4/Xre971H59D93n5nDBeReM0
C4CJzRfmy1LkFDNaRev13S0YB4CnN1BYaTzx10/FL0q58le8ttLP8lK8sC5f
oAsvaG3py0/xy3vd+x9/WhWvU9fEFcHBblP39pI0Ro0n37a23lbx7khJ9qr4
IjkLiu7jiOIT6Sp7J5cAQBKCUMxd3V2Ss9sPrB2/mufx3gx2omC6TmWbemIW
7mh7eSsdpgBdAmieN189W5QsYpIEaQ3Ts64craF+XWWXazSBFl9WWTZJ5mah
FKUrZvj2ZcQ1yv45uk30AR1JuBWV3PtSfY3aKx9LzpNo5z2MdetTndek5LNb
fQBLXtoX/SVqgyhe/BnksaKT4+pDGkdUFqETpYlNDps11MzSWoR2mX68eb+a
WYrrOZRIqtC3oVFipFRuqcEablGtNH63inrkPbVKrmWJv1F/vKc2yfUtkPYX
7exFk9065ZMcD++KrPz+kR4KXhefXBVPTvw16s0FcHg7b40AslH/nHAGP1d6
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
20uqbAF6/kU99useKtvLdb+G5g+N7TS1kPggBhZj1eS3ZFphzFxTNJalGMIc
V/kCyxtO6YWW32fJhS4nF5pJbpU7oqrVM+jJWhWGulHGO9X0rY92O/MOW7H4
Y36kTamFOZ0wvoD8aWXJmynr0JJp6SlSXKYs+G0rytydTkoi3FxPQex/qC2N
Z8p8siTDtgP7b/xo+lMqG0IAmIJqTtBwtCgiphTDcBwYT0yPKX2hdL0qm0Pq
MqbUtGBhnTplsqdQ3kVd2SLjj6tE0fKDHuTst8TG2tigxSsy0OyolbD0F4p7
OeAOJlZqhg4TXtyeVUiW5DQLeTD/7hhTaDnTTU+dLIbTH4jxO3mqVCGicWEl
x8eROZPcIKQnakpYnKcuWkEH+bU2zA4izNMv+k9pCGprwKSeWbem89aWHOUo
RaVDeH9QsRsplVbqJiosw4rO31QTikxP+Zy+2UlpmqB7KKDrBF1htdTdnQLr
R60AxXVMVuN6JVxPnxJU9IyQbXV8OIHMsuX3rLUxKAvHkqloEJwCJgHHXI/C
M3odAVJn281SBVdD3EKgW0B+sZ1ljPaSQoNTdQal7nJ5xNo9Q/otw8k27Kyw
yeFoP8eYSnKkS6k1bg0wyuLAUsX0+Y08lbajuJE01TdQGukoRI02CmcnT6xC
mmN8m4rLAGd3IJq0AmXCO9NcvfKZmAR5tPBOOWXkFwEIJJwcoxZ2NTMCACbu
FynZMZD4UuGsVVCEUawq5BTU63e1xVlagl1dW6EsenKYyh7MSIhGQfq2MlWV
aSFe9WeETaM8PMooIdPYaAvnKL+syii1EN+QMDuvOdZyeXfM+jyo+JG06K2W
GIYM6YP/iU9uo7N2kD+bSC5iU1g437pfTTx6F3n0LvPoPYvpCGupcJrprCIs
0iZnqDuu7EO1SnrToXa5woccYcIbls6x7DjiDDVGKenaSqZK2m1hrcGaUyU5
RfrHPGvuD054I3s3Ys0h4Y8yVXiN6KPg6F7ufcpyfzQSj9gzyFVKdaDAns8X
elcQet9fZ0dFA6l3tW6So8Ki+U2fiezWDM4R2kJr0Y6jVGPVxvBQAKgWQRFg
ebqW2oGlCdpniJ9HfXbbbq/yKXIeyR4azcKWxikrpKY5px+qjia109LdsYLc
YjUje785HsCoHZSRA1kilhKk0O2VIio9v9utQK2d7eURg7udUyA9XVjyY0qX
Td9htnUx2+bYw5Cg1qXqHLV2aFmtB92QqoJEy7FlXBHeI4f7QU5++R+PKmDD
e7kv3yodnZIIrxhXdMo5KJe26yZZPpKH0H/nNqAhZ5eo+pCIecUfwAO4paDK
Ilh/IONqbC0VnHiyY4J1kGVj20cy+9u+B0M5+M5/5WruUkgJl+lBDZNkZAqG
1ri3JKRBCb00AWpjsw33WOTl90oDDsqPZ3kHIyIVhgCOrg62jxhsb7GV4WXV
TKSJhNoqavVKgQ+cO/kN6AJsTKrxUXUHuCfCQkAqqSV0Urkey/oUJyWbVHyn
shy5I6giXCwKeLTu6BFkADJjG+jNwsoYUtCD6MZBgVIyCkelylFZprusc0z7
4D+qqlSWZNqvaAR08u/r5iDhpF1uc1FxoUiTxEUFbO+plhOFzImnBBd8X1lm
m6y1Ywx4tt290ow+tg202WPbmza7Ok/YT4yIn/I4HhKy69pmTUp2azuq4wlV
W7sM9RZyZMDll6vy8vLxF7PHnT3fjBdYsyYGvcfrazsz1GqE3ty+TqdpPL/6
8PEdfhyvLj98vLv61fo/FcW2oci+fHc9ryaaj+FIJ4vqYNF0tmhujQVJU/d2
wqhbuxVPL/iOReS70K3blqcWrWeljteVg0LK4x/WVds7fvt55X295qkPGBI/
f16DZPGNlYCL6sRpbOn003ii6vfvLtzqb/7D756fHpqqN+kl7B9dlwe5/vbq
w+Xvbt9/SG0AyP7yA2ahE0rr8aLuf6V6ofmgVrzkPxnTLji2Vmq8GBmDt+6H
X9GdWdwXzRmtd38xwrbs1r7+1asX5T3numpe/mqsi/9dchujnT0VMiqkx9t1
V//KCra19XeXJwgxLRLWqLkYoJc25bkSH+4+8kzSq/V10Rjr7P6Itjcq9/7H
P1nV9ZeX79+sWMzWbvivt9dvedICC9fy+Kaba3zkgtuwUi66oRlarIn3F6Ck
IZblhQEDuIydH3ipueDei7Z68M2PDRvdReDWN1QcfCEg1QYTHQsbawazzOxF
QC96oL4AzfaBMvRi6PiuyjFZhFI1XAyjbxprAaCHog/XXfQD5G7F4fbgXHzA
X7SdGztrrDEHtDlAGzybbeGiC95PfdTDRfDN0Ng1RpthHHV/0bTgxWzsLzqg
A3qpMZ226awNAhg3Tr3wgNw28Fp3AbTAG8bhohlDP1ibfEPrERf7lmXLmxZD
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
2kNZbskKJ66hINu+bmecZxh82gOC4tauZTgQmJCW4NfcZ8yca6Qw6wuvDhld
38vXSlWZso/80Mv1MNJVMKjiV2KfIx3ErjAdyW29QrvpyRm53UymHBQYP1B6
1EzTyCx8oAVQ6NKO+1pyfgxEFYbaODqPSeW0v3jOQCFDBomQQoUgictvNjDs
nzHTFM6UETQPga0MjkoyjI4g7wpMorOiJpunxQkFmIlBrOXgZJ5CjRjCJEFh
xPajK2gStiAYjm2B8jQBEBR1Cxm8notQiG9Y0VD6So8NTTgZuzJhgK+kcMZJ
2E4tI/jPbPFObo1TrwbXJrRyjbXUhmuoUcm94RmAxN1cpmb0gSkBTBT6EIOn
RmnEROmBHpl4SVYfTx8n4++oI0Nap4vLcayZbqako7vX3724vbm9S4lNzHEq
0piufnrxZkpw0q8yy4mJTbNMp5zX9OLyXZ4tlMPW+2j2MBIvzzVfGWm+1mAT
NuQ8TpJTELxhqQFGjJ+h07oceT2N/UuzsvIQO2qTrYsWF8+fCIsxTqM/GaTj
MBlWMwdp7hwGFmRuSvLw1IFj3wODsWWF0T8SyDgXAAhAzZb9vr67/Dn32TN7
xeyHXkzATfFGTjGNMaS/dYxtXozYffFYaWKMbd9FV28XGFtyOlr1fK7fR8Yr
C63xUp2wDm3HAJIliB/o+OywvqznCGJq+NwvOfeWczD9gjXsWYxkzahu5ubV
DH944EUPw/8cBBcv6kQdNeVrzxcNCkI+96Il6WWgSXdqQ9wj8jz5YbHOCR+Z
MzGaZ4TihdtQqaMnb54uMj5fvX9z++OKe2dQmltz7Mxm+aR+epL+aY/glf4v
J29AlSdEnIHq7ErbM0uATTwAJbbV9KqhDbI07+CW+4m81LYS+bzESHAu4pCS
05qBr5utqzUVHTjbDSjvroe2a+Z98pwQf24EULrHOqWyxQGj7XReZZMBoewh
X+oVZzrvtCfqnYwhuKYw7+ZDZnabX89mFpZwCKdwmKCW7y5gmzstlmIxiGLp
8qDb07kt0WG5E/H6/eUPV+tX1zc369d3V5YtHvGfeSImEqjjMOn90zhPU6Az
/0x74RSckZ5x51G+YJ1QNs6yzvklrDts0l6xw00MOe+YUccm7+TFZiZDNxZa
KcPSh9YcZT1zXrCEbGssirjn5gbfOGc/1lb0AXxsTu/HdC1cvOgXplUYHhhH
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
49rU8wVf3ejVnDkk8WwhXj2ZoPsSPV1zKDaCN8CWuydXGpG9GxB+BXy6ucHH
d/Hax/dXrz7eEGHQBdr/5Tff/Od/+udv8Hvz9b9iVf7laTWsvnuy+f3vN19/
869/Z4j4I4Bwi9uvn1xppNNLr79/d3ONkbyM0LzT1D5oetdax9dPfnv4PX7v
/jM6NDhvtr/5x99886/WN6BVrwOjUn9+cvzNN18fnj8HtDGEIx76p9/j+Q2G
+bv4JH9/85vdP/8jvmlNfvfPv//dPz0/XOCe51dXM6wBHi3QJi8UURqvfgWU
FAq8vPpweX3zXuBvNZh/TUhhLwID+XhD5HoDMrUFQ7d3Vy+urvXjpQj+9ZMX
RrTEPsz+SuO5tvE8PpzLm9u3r/FJYOODT2ANtfZ/R0IiKN/efuDS/Xh3LeL6
cJsnPMPx1WcQ/N8aO/nN2xcXf8sV6Lxf/fykcxM5YC3/fAMEEzN4rhcfr19p
cMcbEvLt3d9iUttbCBB0d/3ktxsywZqFQBlC557+1yf//Hzz9N366naqKt2s
m1WzdlZVeoTCp9CAZVXpUMeq0oyBUFXpxrVWVdrB4ldZaT+0X1JWunmgrHSo
7S18Afv+/39daTw25Gfc8D9RZel6YJKWot2T24JGbB0UqOICSxYqrLFl4Dmr
4SoVsKZ6WLOiSTaDWWFiZDYZy48yfl5lemp6c9nUMB1GhUhdDy47PTiy3Akz
/utYtIWVeRxlI9NQWEl0pJob5g+phCztA2ZM1R1u4q7+4K2FRzutmbRVsz5N
XTqg6GB16ppR5iwTwiL+anDMjm0GJiJMjzCyz3EPtk5xdKzfCMvCTS2MrFX5
o9ziB+0Mh6mFKcs9E3Vzi1Nh3dpPLeim4VzqKZ6P27EMTJ6aGtZnhBFXNLFK
JWs2Fk2s99Aw/nNqYlW62QAUgAntteyKha8ZglqOgfkXvRY7N7G0a8NcvaKN
u2sdlPNZG6uIqjoxAWyFGVhVtlVtFgE9ee1b7tLUhRbuAy2GxvAg1omoWfOH
mMDSf3XMc/LcAiifZC2LUbUWeV/rYz1TZkeMhjGdi/VKgZ5KZi+yfhom5Ix6
rTOXQce8dqb/MYnUaxKsnMFqafNHWY6a9M53+NZq0DGrUcG9dN5YTh0xaGB6
Wvlwr8IYjeY2tGPMLe4ahmKriLSSfHsaxm3o5o92LMGqqQFVfSrd6b2RY1en
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

--352865414-1357351762-1130956598=:250965--

From - Wed Nov  2 20:10:20 2005
Return-Path: <lfinsto1@gwdg.de>
Received: from mailer.gwdg.de (mailer.gwdg.de [134.76.10.26])
          by nef2.ens.fr (8.13.2/1.01.28121999) with ESMTP id jA2JAHHU078161
          for <metafont@ens.fr>; Wed, 2 Nov 2005 20:10:19 +0100 (CET)
X-Envelope-To: <metafont@ens.fr>
Received: from gwdu71.gwdg.de ([134.76.8.21])
	by mailer.gwdg.de with esmtp (Exim 4.54)
	id 1EXNzw-0004OV-KC; Wed, 02 Nov 2005 20:10:13 +0100
Received: from localhost by gwdu71.gwdg.de (8.11.1/1.1.29.3/16Jun03-0924AM)
	id jA2JACH0000251714; Wed, 2 Nov 2005 20:10:12 +0100 (MET)
X-Authentication-Warning: gwdu71.gwdg.de: lfinsto1 owned process doing -bs
Date: Wed, 2 Nov 2005 20:10:12 +0100 (MET)
From: Laurence Finston <lfinsto1@gwdg.de>
To: Brooks Moses <bmoses@stanford.edu>
cc: liste metafont <metafont@ens.fr>, help-3dldf <help-3dldf@gnu.org>,
        metapost@tug.org
Subject: Re: [metapost] Constructing ellipse from 4 points
In-Reply-To: <4.3.1.2.20051102105319.026518b0@cits1.stanford.edu>
Message-ID: <Pine.OSF.4.58.0511022004530.250965@gwdu71.gwdg.de>
References: <4.3.1.2.20051102105319.026518b0@cits1.stanford.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Virus-Scanned: (clean) by exiscan+sophie
X-Greylist: Recipient e-mail whitelisted, not delayed by milter-greylist-1.5.10 (nef2.ens.fr [129.199.96.32]); Wed, 02 Nov 2005 20:10:19 +0100 (CET)
X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on sophora.ens.fr
X-Spam-Level: 
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled 
	version=3.0.2

On Wed, 2 Nov 2005, Brooks Moses wrote:

> A Google search on "ellipse construct 'four points'" finds the following links:
>
>    http://steiner.math.nthu.edu.tw/ne01/whw/Ellipse1/part2.htm
>    http://mathworld.wolfram.com/ConicSection.html
>    http://mathworld.wolfram.com/Ellipse.html

Aha!  I just searched for "ellipse constructions" and found a lot of sites
that didn't look too promising.  Thanks.

>
> The short form is that, to construct an ellipse, you need either five
> points, four points and a tangent line, or four points and knowledge of the
> direction of the major and minor axes.

I can get more points by finding the intersections of the plane with more
of the ellipses on the ellipsoid, and I can get as many of those as I
want.

> Beyond that, I don't know.  My guess is that finding the direction of the
> major and minor axes and using that construction is the way to go.

Thank you for your quick answer.

Laurence

From - Mon Nov 28 12:29:38 2005
Return-Path: <Denis.Roegel@loria.fr>
X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on sophora.ens.fr
X-Spam-Level: 
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled 
	version=3.1.0
Received: from macker.loria.fr (macker.loria.fr [152.81.1.70])
          by nef2.ens.fr (8.13.2/1.01.28121999) with ESMTP id jARIN1HZ097064
          for <metafont@ens.fr>; Sun, 27 Nov 2005 19:23:01 +0100 (CET)
X-Envelope-To: <metafont@ens.fr>
Received: from localhost.loria.fr (localhost [127.0.0.1])
	by localhost (Postfix) with ESMTP id B1A3D5ED65;
	Sun, 27 Nov 2005 19:23:01 +0100 (CET)
X-Amavix: Anti-virus check done by ClamAV
X-Amavix: Scanned by Amavix
Received: from bar.loria.fr (bar.loria.fr [152.81.2.13])
	by macker.loria.fr (Postfix) with ESMTP id EAC865ED65;
	Sun, 27 Nov 2005 19:23:00 +0100 (CET)
Received: (from roegel@localhost)
	by bar.loria.fr (8.9.3/8.9.3/8.9.3-client/JCG) id TAA13492;
	Sun, 27 Nov 2005 19:23:00 +0100 (MET)
Date: Sun, 27 Nov 2005 19:23:00 +0100
From: Denis Roegel <Denis.Roegel@loria.fr>
To: metafont@ens.fr
Cc: Denis Roegel <Denis.Roegel@loria.fr>
Subject: metapost font extraction question
Message-ID: <20051127192300.B13064@bar.loria.fr>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.2.1i
X-Greylist: Recipient e-mail whitelisted, not delayed by milter-greylist-1.5.10 (nef2.ens.fr [129.199.96.32]); Sun, 27 Nov 2005 19:23:01 +0100 (CET)

Hi,

I am trying to work through the analysis of fonts in pictures,
and I have a problem with the positioning of labels. More specifically,
I am not able to reposition a label from the information I get using
the xpart, ypart, etc., as indicated in the graph manual.

Below is an example showing my problem. I want both `Hello's to appear
at the same place. Am I forgetting something or is this a metapost bug?

Thanks,

Denis

def reconstructlabel(expr p)=
  for i within p:
    transform T;
    xpart T=xpart i;ypart T=ypart i;
    xxpart T=xxpart i;xypart T=xypart i;
    yxpart T=yxpart i;yypart T=yypart i;      
    draw thelabel(textpart i,origin transformed T) withcolor red;
  endfor;
  setbounds currentpicture to pathpart p;
enddef;

beginfig(1);
  picture p;
  z0=origin;
  label.bot(btex Hello etex,z0);
  p=currentpicture;
  currentpicture:=nullpicture;
  reconstructlabel(p);
  draw p;
endfig;

end

From - Mon Nov 28 20:05:07 2005
Return-Path: <hartmut_henkel@gmx.de>
X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on sophora.ens.fr
X-Spam-Level: 
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled 
	version=3.1.0
Received: from mail.gmx.net (mail.gmx.de [213.165.64.20])
          by nef2.ens.fr (8.13.2/1.01.28121999) with SMTP id jASJ4xvP030345
          for <metafont@ens.fr>; Mon, 28 Nov 2005 20:05:03 +0100 (CET)
X-Envelope-To: <metafont@ens.fr>
Received: (qmail invoked by alias); 28 Nov 2005 19:04:57 -0000
Received: from p54AC2A16.dip0.t-ipconnect.de (EHLO hahepc1.hahe) [84.172.42.22]
  by mail.gmx.net (mp019) with SMTP; 28 Nov 2005 20:04:57 +0100
X-Authenticated: #6218946
Received: from hahe (helo=localhost)
	by hahepc1.hahe with local-esmtp (Exim 4.50)
	id 1EgoIw-0001A0-SX; Mon, 28 Nov 2005 20:04:46 +0100
Date: Mon, 28 Nov 2005 20:04:46 +0100 (CET)
From: Hartmut Henkel <hartmut_henkel@gmx.de>
To: Denis Roegel <Denis.Roegel@loria.fr>
cc: metafont@ens.fr
Subject: Re: [metafont] metapost font extraction question
In-Reply-To: <20051127192300.B13064@bar.loria.fr>
Message-ID: <Pine.LNX.4.61.0511282003110.4132@hahepc1.hahe>
References: <20051127192300.B13064@bar.loria.fr>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Y-GMX-Trusted: 0
X-Greylist: Recipient e-mail whitelisted, not delayed by milter-greylist-1.5.10 (nef2.ens.fr [129.199.96.32]); Mon, 28 Nov 2005 20:05:05 +0100 (CET)

On Sun, 27 Nov 2005, Denis Roegel wrote:

> Below is an example showing my problem. I want both `Hello's to appear
> at the same place. Am I forgetting something or is this a metapost
> bug?
>
> Thanks,
>
> Denis
>
> def reconstructlabel(expr p)=
>   for i within p:
>     transform T;
>     xpart T=xpart i;ypart T=ypart i;
>     xxpart T=xxpart i;xypart T=xypart i;
>     yxpart T=yxpart i;yypart T=yypart i;
>     draw thelabel(textpart i,origin transformed T) withcolor red;

draw thelabel.bot(...
and it fits. But you know this :-)

>   endfor;
>   setbounds currentpicture to pathpart p;
> enddef;
>
> beginfig(1);
>   picture p;
>   z0=origin;
>   label.bot(btex Hello etex,z0);
>   p=currentpicture;
>   currentpicture:=nullpicture;
>   reconstructlabel(p);
>   draw p;
> endfig;
>
> end

Regards, Hartmut

From - Mon Nov 28 20:53:56 2005
Return-Path: <Denis.Roegel@loria.fr>
X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on sophora.ens.fr
X-Spam-Level: 
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled 
	version=3.1.0
Received: from macker.loria.fr (macker.loria.fr [152.81.1.70])
          by nef2.ens.fr (8.13.2/1.01.28121999) with ESMTP id jASJrnir049689
          for <metafont@ens.fr>; Mon, 28 Nov 2005 20:53:51 +0100 (CET)
X-Envelope-To: <metafont@ens.fr>
Received: from localhost.loria.fr (localhost [127.0.0.1])
	by localhost (Postfix) with ESMTP id 9C6815EA42;
	Mon, 28 Nov 2005 20:53:47 +0100 (CET)
X-Amavix: Anti-virus check done by ClamAV
X-Amavix: Scanned by Amavix
Received: from bar.loria.fr (bar.loria.fr [152.81.2.13])
	by macker.loria.fr (Postfix) with ESMTP id C0D985EA42;
	Mon, 28 Nov 2005 20:53:46 +0100 (CET)
Received: (from roegel@localhost)
	by bar.loria.fr (8.9.3/8.9.3/8.9.3-client/JCG) id UAA24629;
	Mon, 28 Nov 2005 20:53:46 +0100 (MET)
Date: Mon, 28 Nov 2005 20:53:46 +0100
From: Denis Roegel <Denis.Roegel@loria.fr>
To: Hartmut Henkel <hartmut_henkel@gmx.de>
Cc: Denis Roegel <Denis.Roegel@loria.fr>, metafont@ens.fr
Subject: Re: [metafont] metapost font extraction question
Message-ID: <20051128205346.D21751@bar.loria.fr>
References: <20051127192300.B13064@bar.loria.fr> <Pine.LNX.4.61.0511282003110.4132@hahepc1.hahe>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.2.1i
In-Reply-To: <Pine.LNX.4.61.0511282003110.4132@hahepc1.hahe>; from hartmut_henkel@gmx.de on Mon, Nov 28, 2005 at 08:04:46PM +0100
X-Greylist: Recipient e-mail whitelisted, not delayed by milter-greylist-1.5.10 (nef2.ens.fr [129.199.96.32]); Mon, 28 Nov 2005 20:53:51 +0100 (CET)

On Mon, Nov 28, 2005 at 08:04:46PM +0100, Hartmut Henkel wrote:

> draw thelabel.bot(...
> and it fits. But you know this :-)

Yes, but I don't want to use .bot. The .bot information is somehow
stored in T.

Denis


From - Mon Nov 28 21:57:28 2005
Return-Path: <Denis.Roegel@loria.fr>
X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on sophora.ens.fr
X-Spam-Level: 
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled 
	version=3.1.0
Received: from macker.loria.fr (macker.loria.fr [152.81.1.70])
          by nef2.ens.fr (8.13.2/1.01.28121999) with ESMTP id jASKvPgu072960
          for <metafont@ens.fr>; Mon, 28 Nov 2005 21:57:25 +0100 (CET)
X-Envelope-To: <metafont@ens.fr>
Received: from localhost.loria.fr (localhost [127.0.0.1])
	by localhost (Postfix) with ESMTP id 2927B61126;
	Mon, 28 Nov 2005 21:57:25 +0100 (CET)
X-Amavix: Anti-virus check done by ClamAV
X-Amavix: Scanned by Amavix
Received: from bar.loria.fr (bar.loria.fr [152.81.2.13])
	by macker.loria.fr (Postfix) with ESMTP id 5D99661126;
	Mon, 28 Nov 2005 21:57:24 +0100 (CET)
Received: (from roegel@localhost)
	by bar.loria.fr (8.9.3/8.9.3/8.9.3-client/JCG) id VAA00799;
	Mon, 28 Nov 2005 21:57:23 +0100 (MET)
Date: Mon, 28 Nov 2005 21:57:23 +0100
From: Denis Roegel <Denis.Roegel@loria.fr>
To: Hartmut Henkel <hartmut_henkel@gmx.de>
Cc: Denis Roegel <Denis.Roegel@loria.fr>, metafont@ens.fr
Subject: Re: [metafont] metapost font extraction question
Message-ID: <20051128215723.A321@bar.loria.fr>
References: <20051127192300.B13064@bar.loria.fr> <Pine.LNX.4.61.0511282003110.4132@hahepc1.hahe>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.2.1i
In-Reply-To: <Pine.LNX.4.61.0511282003110.4132@hahepc1.hahe>; from hartmut_henkel@gmx.de on Mon, Nov 28, 2005 at 08:04:46PM +0100
X-Greylist: Recipient e-mail whitelisted, not delayed by milter-greylist-1.5.10 (nef2.ens.fr [129.199.96.32]); Mon, 28 Nov 2005 21:57:25 +0100 (CET)

Below is the solution provided by John Hobby.

It works!

Denis

def reconstructlabel(expr p)=   
  for i within p:
    transform T;
    xpart T =xpart i; ypart T =ypart i;
    xxpart T=xxpart i;xypart T=xypart i;
    yxpart T=yxpart i;yypart T=yypart i;
    draw (textpart i infont fontpart i) transformed T withcolor red;
  endfor;
  setbounds currentpicture to pathpart p;
enddef;  

beginfig(1); 
  picture p; 
  z0=origin; 
  label.bot(btex Hello etex,z0);
  p=currentpicture;
  currentpicture:=nullpicture;
  reconstructlabel(p);
  draw p;
endfig;  

end

