Re: 3d Vector Types and operators

From: Sam Mason <sam(at)samason(dot)me(dot)uk>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: 3d Vector Types and operators
Date: 2009-10-14 17:14:30
Message-ID: 20091014171430.GS5407@samason.me.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Wed, Oct 14, 2009 at 12:04:26PM -0500, Andrew Bailey wrote:
> I cant find in the documentation support for a 3 dimensional vector,
> I have only seen the array type, I am interested in doing vector dot
> products and vector cross products, also summing vectors and
> multiplying by a scalar quantity

If you did do this, I'd be tempted to use something like:

create type point3d AS (
x float8, y float8, z float8
);

and then write your functions using this. The length of an array isn't
part of its type and so PG wouldn't be able to stop you from writing:

select array[1,2,3] + array[2,3,4,5,6];

if you provided the appropriate operators. If you use a fixed sized
tuple, as above, you'd get errors if you tried to use points of the
wrong dimensionality.

--
Sam http://samason.me.uk/

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Andrew Bailey 2009-10-14 17:17:14 Re: How ad an increasing index to a query result?
Previous Message Josip 2009-10-14 17:05:52 How ad an increasing index to a query result?