X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=Y+ME3Zn3JC3VG8KOjp66hDG6WJftMgo17vWGq9TOPx4=; b=Nq5BS4AT3tm+vbfdrHdmAAKVT6SNAsUznP+SnBStfilyG4rDZgNvrfL9uHykpvIEzA RhSHJB/OfPNl/aRcLal7CZUxZLymvbkEiEJxsAdVYgCAvA7SNX16IWjGROH3aB/BA+ti 8GSdVuprB+3VH/mrZOMbsgAWOyYHDKrWtfRT/34nq+In/FsrdT99NdILXAp9HncN+Unj CIxGXZXeWehiQLqfZNAO4Lp7ynuYKWHd+fxnzdemsemNzON1os44iAkrcsIttDvLXSoq O2SG5jbgjtyhFTCYQZSCLj6wD7TEzIogazNcUlXC0ELXUW/ZvqpiRmBCGO4ZNoTBFrn6 sxkw== MIME-Version: 1.0 X-Received: by 10.194.104.200 with SMTP id gg8mr36764496wjb.144.1442292656184; Mon, 14 Sep 2015 21:50:56 -0700 (PDT) In-Reply-To: <627B03CA-6C5A-4937-8C6E-B9B64D22435D@noqsi.com> References: <20150913140631 DOT 1da1b78d AT jive DOT levalinux DOT org> <201509131529 DOT t8DFTUVS022118 AT envy DOT delorie DOT com> <20150914175929 DOT 22829 DOT qmail AT stuge DOT se> <074A28AA-547E-4B71-8D81-30D2CB1B74F3 AT noqsi DOT com> <20150914210429 DOT 5063 DOT qmail AT stuge DOT se> <627B03CA-6C5A-4937-8C6E-B9B64D22435D AT noqsi DOT com> Date: Mon, 14 Sep 2015 20:50:55 -0800 Message-ID: Subject: Re: [geda-user] Apollon From: "Britton Kerin (britton DOT kerin AT gmail DOT com) [via geda-user AT delorie DOT com]" To: geda-user AT delorie DOT com Content-Type: multipart/alternative; boundary=089e010d82126f23a4051fc1ed33 Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk --089e010d82126f23a4051fc1ed33 Content-Type: text/plain; charset=UTF-8 On Mon, Sep 14, 2015 at 4:40 PM, John Doty wrote: > > On Sep 14, 2015, at 3:04 PM, Peter Stuge (peter AT stuge DOT se) [via > geda-user AT delorie DOT com] wrote: > > > John Doty wrote: > >>> I disagree very strongly with floating point, but using a fixed-size > >>> decimal is an important improvement! > >> > >> The trouble is that common computer numerics do not actually obey the > >> same rules as mathematical numbers. > > > > Nod. > > > > > >> Rational numbers fix these problems. > > .. > >> For rendering on a grid, use fixed or floating point. The rationals > >> that fall on your grid are a set of measure zero, anyway. > > > > Output (rendering on grid) is one issue, and is easy enough to deal > > with in isolation. > > > > But input (rotate by 60 degrees) is another issue, and less easy to > > handle, because it's very important for usability that user > > input->output and vice versa is also closed. If you define your set of permissible orientations sufficiently coarse relative to the accuracy of the angle calculations you need to make, and put those orientations at the center of your bins, there is no chance of a rotate/rotate sequence putting you in a different bin. This application doesn't need long rotation sequences, so its easy to ensure that your calculations are sufficiently accurate with respect to your bin size. --089e010d82126f23a4051fc1ed33 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Mon, Sep 14, 2015 at 4:40 PM, John Doty <jpd AT noqsi DOT com> w= rote:

On Sep 14, 2015, at 3:04 PM, Peter Stuge (peter AT stuge DOT se) [via geda-use= r AT delorie DOT com] <geda-user AT d= elorie.com> wrote:

> John Doty wrote:
>>> I disagree very strongly with floating point, but using a fixe= d-size
>>> decimal is an important improvement!
>>
>> The trouble is that common computer numerics do not actually obey = the
>> same rules as mathematical numbers.
>
> Nod.
>
>
>> Rational numbers fix these problems.
> ..
>> For rendering on a grid, use fixed or floating point. The rational= s
>> that fall on your grid are a set of measure zero, anyway.
>
> Output (rendering on grid) is one issue, and is easy enough to deal > with in isolation.
>
> But input (rotate by 60 degrees) is another issue, and less easy to > handle, because it's very important for usability that user
> input->output and vice versa is also closed.

If you define your set of permissible orientati= ons sufficiently coarse relative to the accuracy of the angle calculations = you need to make, and put those orientations at the center of your bins, th= ere is no chance of a rotate/rotate sequence putting you in a different bin= .
This application doesn't need long rotation sequ= ences, so its easy to ensure that your calculations are sufficiently accura= te with respect to your bin size.

--089e010d82126f23a4051fc1ed33--