www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2015/09/13/22:03:22

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: <201509140138.t8E1cqY1011780@envy.delorie.com>
Date: Sun, 13 Sep 2015 20:03:01 -0600
Message-Id: <F19A9B9C-C544-4B76-AF8B-EA981B6BA952@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> <40057B48-2FD4-4A37-A01E-9344F6C33ADF AT noqsi DOT com> <201509140138 DOT t8E1cqY1011780 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 t8E23Bm3007348
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 7:38 PM, DJ Delorie <dj AT delorie DOT com> wrote:

> 
> So... internally *every* value is a fraction?

Yep.

>  I imagine integer
> overflow might be a non-trivial problem to solve.

Not one you need to worry about in a language that supports rationals. I use rationals in Mathematica all the time: floating point is poison to complicated algebra. The techniques are well know and efficient, although not as efficient as floating point hardware.

> 
> But if the whole point is to defer imprecise operations, what is the
> advantage of this over just storing the angles as degrees and doing
> the math on the fly?

The problem is that you’ll accumulate error when you have both rotations and translations.

>  Just speed?  /me wonders what the speed
> difference would be, if you include all the division ops you've
> created a need for,

Huh? Division of rationals is easy.

> plus algorithms to find pythagorean triples as
> needed,

Have a table. Or use Euclid’s formula (https://en.wikipedia.org/wiki/Pythagorean_triple#Generating_a_triple).

> plus overflow protection of a sort, etc.

Taken care of automatically if you choose a suitable language.

> 
> I'm not even sure we've covered all the advantages of storing
> rotations as a relationship rather than a transformation... like, if
> we "down symbol" we'd want to edit the unrotated symbol.
> 

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