www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2015/09/13/21:29:41

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-TCPREMOTEIP: 207.224.51.38
X-Authenticated-UID: jpd AT noqsi DOT com
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
Subject: Re: [geda-user] Apollon
From: John Doty <jpd AT noqsi DOT com>
In-Reply-To: <201509132319.t8DNJBjC006829@envy.delorie.com>
Date: Sun, 13 Sep 2015 19:29:03 -0600
Message-Id: <40057B48-2FD4-4A37-A01E-9344F6C33ADF@noqsi.com>
References: <20150913140631 DOT 1da1b78d AT jive DOT levalinux DOT org> <201509131529 DOT t8DFTUVS022118 AT envy DOT delorie DOT com> <B0EDB76E-F0DE-4A05-97FC-A405489ACA5A AT noqsi DOT com> <201509131824 DOT t8DIOCBc028428 AT envy DOT delorie DOT com> <B03281A2-123E-4F54-B3AA-CB8CCB09F1B1 AT noqsi DOT com> <201509132031 DOT t8DKVH0P000824 AT envy DOT delorie DOT com> <AB671235-711B-4ECD-9015-515A5BFC6955 AT noqsi DOT com> <201509132148 DOT t8DLmxI6003481 AT envy DOT delorie DOT com> <D8151856-4B93-4826-A80F-E00578A2E93C AT noqsi DOT com> <201509132300 DOT t8DN0sE6006134 AT envy DOT delorie DOT com> <7EF3E562-BC7F-4853-B90A-29726FDFEBF6 AT noqsi DOT com> <201509132319 DOT t8DNJBjC006829 AT envy DOT delorie DOT com>
To: geda-user AT delorie DOT com
X-Mailer: Apple Mail (2.1878.6)
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id t8E1TBFw003274
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

On Sep 13, 2015, at 5:19 PM, DJ Delorie <dj AT delorie DOT com> wrote:

> 
>> It is if (x, y, h) is a Pythagorean triple. By
>> definition. https://en.wikipedia.org/wiki/Pythagorean_triple
> 
> Well, OK, but (1) they're rare and/or hard to find for a given angle,

I don’t think it’s that hard for a decent approximation, although:

Mathematician son: “Can you enumerate the Pythagorean triples?”
Me: "Sure, it’s trivial, you just…"
Mathematician son: “No, I mean is there an *efficient* algorithm?”
Me: "I have no idea.”
Mathematician son: “You just flunked your Google interview."

But maybe the quickest is to search for “table of pythagorean triples” using Google. ;-)

> and (2) you still have to divide by H to normalize a rotation, which
> gives you a floating point imprecision.
> 

No, you stay in the rational domain. You *never* use floating point in this system except for export. Rational numbers are not floating point, but pairs of integers like 245/998. You use a programming language with a rational type (built-in to Guile, a module in Python). Rational numbers are closed under addition, subtraction, multiplication, and division, so computation is error-free. Rational vectors are closed under rotation by angles represented by Pythagorean triples, and those angles are closed under composition of rotation (or what you might want to think of as addition of angles). This system is thus not subject to imprecision internally. Only exported data will be imprecise, since that generally involves a grid and/or floating point.

John Doty              Noqsi Aerospace, Ltd.
http://www.noqsi.com/
jpd AT noqsi DOT com



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019