From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/60006 Path: news.gmane.org!not-for-mail From: Taco Hoekwater Newsgroups: gmane.comp.tex.context Subject: Re: Metapost: union test of two paths Date: Sat, 03 Jul 2010 12:19:30 +0200 Message-ID: <4C2F0EB2.1020508@elvenkind.com> References: <20100702190137.35aeab6b@vorbis> <4C2EEED4.1010300@elvenkind.com> Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------020704050407080306030604" X-Trace: dough.gmane.org 1278152437 19652 80.91.229.12 (3 Jul 2010 10:20:37 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 3 Jul 2010 10:20:37 +0000 (UTC) Cc: Marco To: mailing list for ConTeXt users Original-X-From: ntg-context-bounces@ntg.nl Sat Jul 03 12:20:33 2010 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane.org Original-Received: from balder.ntg.nl ([195.12.62.10]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OUzpo-0004dQ-Pn for gctc-ntg-context-518@m.gmane.org; Sat, 03 Jul 2010 12:20:32 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 8C41BC9AE6; Sat, 3 Jul 2010 12:20:30 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at balder.ntg.nl Original-Received: from balder.ntg.nl ([127.0.0.1]) by localhost (balder.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id BFaVUDk96cbG; Sat, 3 Jul 2010 12:20:27 +0200 (CEST) Original-Received: from balder.ntg.nl (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id D7399C9B0D; Sat, 3 Jul 2010 12:20:27 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 8EEE9C9B0D for ; Sat, 3 Jul 2010 12:20:26 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at balder.ntg.nl Original-Received: from balder.ntg.nl ([127.0.0.1]) by localhost (balder.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id xkhXG9bjceWH for ; Sat, 3 Jul 2010 12:20:24 +0200 (CEST) Original-Received: from smtp-vbr7.xs4all.nl (smtp-vbr7.xs4all.nl [194.109.24.27]) by balder.ntg.nl (Postfix) with ESMTP id 8DAE0C9AE6 for ; Sat, 3 Jul 2010 12:20:24 +0200 (CEST) Original-Received: from boo.fritz.box (boo.demon.nl [83.163.247.99]) (authenticated bits=0) by smtp-vbr7.xs4all.nl (8.13.8/8.13.8) with ESMTP id o63AJg3v079565; Sat, 3 Jul 2010 12:19:42 +0200 (CEST) (envelope-from taco@elvenkind.com) User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100614 Mandriva/3.0.4-11mdv2010.1 (2010.1) Thunderbird/3.0.4 In-Reply-To: <4C2EEED4.1010300@elvenkind.com> X-Virus-Scanned: by XS4ALL Virus Scanner X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.12 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: ntg-context-bounces@ntg.nl Errors-To: ntg-context-bounces@ntg.nl Xref: news.gmane.org gmane.comp.tex.context:60006 Archived-At: This is a multi-part message in MIME format. --------------020704050407080306030604 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 07/03/2010 10:03 AM, Taco Hoekwater wrote: > >> If this is too complicated, it might help if I can find out if a given >> point lies inside a given cycled path. > > Even this is fairly tricky. Some important questions are: I thought this was a neat thing to try to write a macro for. Attached is a test file that defines a macro inside() that takes two arguments: a point and a cyclic path. It returns true if the point lies inside that path, in most cases. There are lots of problems with it; what happens to a point actually on the curve is basically undefined, and self-intersects sometimes make it fail in interesting ways. Anyway, perhaps it helps. Best wishes, Taco --------------020704050407080306030604 Content-Type: text/plain; name="inside.mp" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="inside.mp" CmRlZiBpbnNpZGUoZXhwciBqLCBwKSA9CiAgYmVnaW5ncm91cAogIHNhdmUgbjsKICBoaWRl KAogIHNhdmUgZG9uZSwgTCwgUCwgdCwgYm90dG9tLCB0b3A7CiAgYm9vbGVhbiBkb25lOwog IHBhdGggTCxQOwogIG51bWVyaWMgdFtdOwogIHBhaXIgYm90dG9tLCB0b3A7CiAgYm90dG9t ID0gbGxjb3JuZXIgcDsKICB0b3AgPSB1cmNvcm5lciBwOwogIFAgOj0gcDsKICBuIDo9IDA7 CiAgaWYgKHhwYXJ0IGogPD0geHBhcnQgYm90dG9tKSBvciAoeHBhcnQgaiA+PSB4cGFydCB0 b3ApIAogICAgb3IgKHlwYXJ0IGogPD0geXBhcnQgYm90dG9tKSBvciAoeXBhcnQgaiA+PSB5 cGFydCB0b3ApOgogIGVsc2U6CiAgICBMIDo9IGotLSh4cGFydCBqLCAoKHlwYXJ0IGJvdHRv bSktMTAwKSk7CiAgICBkb25lIDo9IGZhbHNlOwogICAgZm9yZXZlcjoKICAgICAodFtuXSx3 aGF0ZXZlcikgPSBMIGludGVyc2VjdGlvbnRpbWVzIFA7CiAgICAgIGlmICh0W25dPDApIGFu ZCAobj4wKSA6ICAlIGZpbmQgdXB3YXJkIG1hdGNoCiAgICAgICAgUCA6PSByZXZlcnNlIFA7 CiAgICAgICAgbnVtZXJpYyB0W107CiAgICAgICAgTCA6PSBqLS0oeHBhcnQgaiwgKCh5cGFy dCBib3R0b20pLTEwMCkpOwogICAgICAgIGZvcmV2ZXI6CiAgICAgICAgICAodFtuXSx3aGF0 ZXZlcikgPSBMIGludGVyc2VjdGlvbnRpbWVzIFA7CiAgICAgICAgICBleGl0aWYgdFtuXTww OwogICAgICAgICAgTCA6PSBzdWJwYXRoICh0W25dK2Vwc2lsb24sIGxlbmd0aCBMKSBvZiBM OwogICAgICAgICAgbiA6PSBuICsgMTsKICAgICAgICBlbmRmb3I7CiAgICAgICAgZG9uZSA6 PSB0cnVlOwogICAgICBmaQogICAgICBleGl0aWYgZG9uZTsKICAgICAgTCA6PSBzdWJwYXRo ICh0W25dK2Vwc2lsb24sbGVuZ3RoIEwpIG9mIEw7CiAgICAgIG4gOj0gbiArIDE7CiAgICBl bmRmb3I7IAogIGZpICkKaWYgKG4+MSkgYW5kIChub3Qgb2RkIG4pOiB0cnVlIGVsc2U6IGZh bHNlIGZpCmVuZGdyb3VwCmVuZGRlZjsKCmJlZ2luZmlnKDEpOwpwYXRoIFA7CiUgUDo9IChm dWxsY2lyY2xlIHNjYWxlZCAyMCkgc2hpZnRlZCAoMjAsMjApOwolIFA6PSAoMCwxMCl7ZG93 bn0uLigxMCwxMCl7dXB9IC4uICgzMCwxMCl7ZG93bn0gLi4gKDIwLDEwKXt1cH0uLmN5Y2xl OwolIFAgOj0gdW5pdHNxdWFyZSBzY2FsZWQgMTAgcm90YXRlZCAzMCBzaGlmdGVkICgyMCwx MCk7CiUgUCA6PSAoMTAsMTApe2Rvd259Li4oMzAsMTApe3VwfSAuLiAoMCwxMCl7ZG93bn0g Li4gKDIwLDEwKXt1cH0uLmN5Y2xlOwpQIDo9ICgwLDEwKXtkb3dufS4uKDEwLDApe3JpZ2h0 fS4uKDMwLDUpe3VwfS4uCiAgICAoMjAsMTApe3VwfS4uKDMwLDE1KXt1cH0uLigyMCwyMCl7 bGVmdH0uLmN5Y2xlOwpkcmF3IFAgd2l0aGNvbG9yIHJlZDsKCm54IDo9IDEwMDsKbnkgOj0g MTAwOwpwYWlyIGVuZGdyaWQ7CmVuZGdyaWQgOj0gKDMwLDMwKTsKcGlja3VwIHBlbmNpcmNs ZSB4c2NhbGVkICh4cGFydCBlbmRncmlkL254KSB5c2NhbGVkICh5cGFydCBlbmRncmlkL255 KTsKcGFpciBKOwoKZm9yIGsgPSAxIHVwdG8gbng6CiBmb3IgbCA9IDEgdXB0byBueToKICBK IDo9IChrL254KnhwYXJ0IGVuZGdyaWQsbC9ueSp5cGFydCBlbmRncmlkKTsKICBpZiBpbnNp ZGUoSixQKToKICAgICBkcmF3ZG90IEogd2l0aGNvbG9yIGdyZWVuOwogIGVsc2U6CiAgICAg ZHJhd2RvdCBKIHdpdGhjb2xvciBibHVlOwogIGZpCiBlbmRmb3I7CmVuZGZvcjsKY3VycmVu dHBpY3R1cmUgOj0gY3VycmVudHBpY3R1cmUgc2NhbGVkIDEwOwoKZW5kZmlnOwplbmQuCgoK Cg== --------------020704050407080306030604 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ___________________________________________________________________________________ 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 ___________________________________________________________________________________ --------------020704050407080306030604--