Oh, sorry, I think I missed the point of your question. My guess would
be that it uses matrices internally, as they're a popular mathematical
construct in a variety of fields but quaternions having been seriously
out of fashion for at least a century. I have a degree in Maths &
Computer Science but don't recall meeting them even once during my
studies — though a joint honours degree does necessarily end up
reducing your exposure to either subject individually.

Also, my guess is that the sort of literature related to computer
graphics that is now extremely easy to access thanks to the web would
have been really quite hard to access during the 1980s. It's like a
hindsight thing. We're perched here at least two decades after
computer graphics started to break out of academia and into widescale
usage in consumer products, so we benefit from historical perspective
and the entire body of knowledge is now much more accessible.

On Wed, Aug 5, 2009 at 1:23 PM, Thomas Harte<tomh.retros...@gmail.com> wrote:
> You mean the Psion one? No idea, as I've never used it or explicitly
> disassembled anything z80 related. I've entered the z80 assembly fold
> from the direction of writing emulators. I'd guess that if it's not
> intended to be particularly realtime then quite possibly they're using
> the floating point formats supported natively by the Spectrum ROM?
> It'd save a lot of code and solve a lot of issues, and while being far
> too slow for realtime it'd probably be fast enough for a
> rendering-type application.
>
> Just guessing, of course.
>
> On Wed, Aug 5, 2009 at 1:18 PM, Roger Jowett<rogerjow...@gmail.com> wrote:
>> what does vu3d use?
>>
>> On 05/08/2009, Thomas Harte <tomh.retros...@gmail.com> wrote:
>>>
>>> That's not entirely true. Matrices are numerically unstable, so the
>>> cost of ensuring they remain orthonormal when applying consecutive
>>> local transforms in a game such as Elite is substantially greater than
>>> the cost of ensuring that a quaternion remains of unit length.
>>>
>>> I make it 8 multiplies, 3 adds, 1 square root and 1 divide to fix up
>>> numerical error in a quaternion. Conversely, I get 36 multiplies, 21
>>> adds, 3 square roots and 3 divides to fix up an orthonormal matrix.
>>>
>>> Quaternion to matrix is 10 multiplies, 6 shifts and 14 adds. So the
>>> way I calculate it, you can fix a quaternion and convert it into a
>>> matrix in less than you can fix up a matrix. Furthermore, quaternion
>>> composition is 16 multiplies and 12 adds, whereas matrix composition
>>> (with assumptions about the bottom row of a 4x4) is, ummm, at least 36
>>> multiplies and 18 adds. And that's with the translation component not
>>> completely factored in (I'm reading actual code off screen and have
>>> optimised the translation out of this particular batch).
>>>
>>> Elite is also a perfect example of when Euler's aren't fine, even if
>>> they didn't produce Gimbal lock, as all rotation is around local axes.
>>> And besides that, Euler angles always have to be converted to some
>>> other form before they can be applied to arbitrary geometry. Matrices
>>> require no further transforms.
>>>
>>> On Wed, Aug 5, 2009 at 2:12 AM, Simon Cooke<si...@popcornfilms.com> wrote:
>>> > You only really need quaternions if you're doing animation or
>>> > interpolation.
>>> > If you can live with the gimble lock, euler's fine.
>>> >
>>> > -----Original Message-----
>>> > From: owner-sam-us...@nvg.ntnu.no [mailto:owner-sam-us...@nvg.ntnu.no]
>>> > On
>>> > Behalf Of Thomas Harte
>>> > Sent: Tuesday, August 04, 2009 10:05 AM
>>> > To: sam-users@nvg.ntnu.no
>>> > Subject: Re: Hi - just checking
>>> >
>>> > Am I replying to the correct thread? I don't know. But I've had the
>>> > opposite experience to a bunch of people here, having become
>>> > substantially more busy in my work than I was even just a few months
>>> > ago, squeezing the SAM temporarily out.
>>> >
>>> > A version of my vector 3d-stuff-as-a-library-for-others was all but
>>> > finished several months ago, I'll endeavour to get that out, though it
>>> > still has the awkward limitation of doing rotations with Euler angles
>>> > only - which may be less efficient and is certainly more limiting than
>>> > special orthogonals or quaternions.
>>> >
>>> > I'm still thinking about smart ways to optimise the reverse face
>>> > stuff. I need to get something hierarchical or otherwise group-related
>>> > in there; checking every single face is obviously not the optimal way
>>> > to proceed. I guess what I'm looking for is some sort of bin-type
>>> > mapping to the surface of the unit sphere that allows all the points
>>> > on a particular hemisphere to be isolated from the majority of the
>>> > points on the opposite hemisphere. Or, you know, something at least a
>>> > lot like a sphere. Though I'm not sure any sort of lookup into
>>> > something a lot like a sphere would help much as it'd need to be
>>> > indexed by a three-tuple.
>>> >
>>> > I guess a good broad sweep would be to mark each face according to the
>>> > visibility of the faces of a bounding box - if a face on the real
>>> > model points away from the face on the bounding box then it definitely
>>> > can't be visible if the box face is. Or something like that.
>>> >
>>> > I'm going to stop thinking aloud now...
>>> >
>>> > On Tue, Aug 4, 2009 at 10:22 AM, Steve Parry-Thomas<morriga...@aol.com>
>>> > wrote:
>>> >> I guess when the clocks go back in October SAM users will hibernate
>>> >> over
>>> > the
>>> >> winter until next August!
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >> From: owner-sam-us...@nvg.ntnu.no [mailto:owner-sam-us...@nvg.ntnu.no]
>>> >> On
>>> >> Behalf Of Ian Spencer
>>> >> Sent: 04 August 2009 08:04
>>> >>
>>> >> To: sam-users@nvg.ntnu.no
>>> >> Subject: Re: Hi - just checking
>>> >>
>>> >>
>>> >>
>>> >> Wow, I just sent the checking mail to see whether something was wrong
>>> >> with
>>> >> my subscription to the group and it seems it was like poking a stick
>>> >> into
>>> > a
>>> >> hornets nest (in a positive sort of way) - over 40 mails in the last
>>> >> few
>>> >> days on the group. It's just great to see everyone is alive and kicking
>>> > out
>>> >> there.
>>> >>
>>> >>
>>> >>
>>> >> Ian
>>> >>
>>> >>
>>> >>
>>> >> ----- Original Message -----
>>> >>
>>> >> From: Ian Spencer
>>> >>
>>> >> To: sam-users@nvg.ntnu.no
>>> >>
>>> >> Sent: Friday, July 31, 2009 4:10 PM
>>> >>
>>> >> Subject: Hi - just checking
>>> >>
>>> >>
>>> >>
>>> >> Not heard anything on the group for quite a while so just thought I
>>> >> would
>>> >> send a 'test' to check it's not me that's got a problem and say hi to
>>> >> everyone.
>>> >>
>>> >> I know you've all taken your Sam's to the beach and so no activity on
>>> >> the
>>> >> group.
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >> Ian
>>> >>
>>> >>
>>> >>
>>> >>
>>> >
>>> >
>>
>>
>

Reply via email to