🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.pascal.borland
Article #52

Re: 3d programming

#52
From: Martin Frost
Date: Fri, 16 Feb 1996 16:32
54 lines
2379 bytes
In article <4fs1n2$66@unix.midplains.net>, cstika@mail.ravensoft.com (Carl Stika) writes:
>  Does anybody want to tackle a hyper-plane in 4 space?

Assuming that by a hyper-plane you mean a 2d coset in 4d space, then the usual
form is to use 3 vectors, like for a plane in 3d space. The way of using only
4 numbers as is possible in 3d space does not work as the dimension of the
coset and the space differs by more than 1.

The 3-vectors method needs 12 numbers, but there is an alternative method
based on the short one for 3d. Basically, 5 numbers are sufficient to
describe a 3d coset in 4d space:

If the eqn of our coset is

	r = a + lx + my + nz	r,x,y,z: vectors; l,m,n: reals

and x1..x4,y1..y4,z1..z4 are the components of x,y,z, then define
n1..n4 such that

	| n1 n2 n3 n4 |
	| x1 x2 x3 x4 | = 0
	| y1 y2 y3 y4 |
	| z1 z2 z3 z4 |

This is the analogy to the cross product in 3d space.

n = (n1,n2,n3,n4) is then a "normal" to the 3 vectors, and then if we have

	r.n = a.n

then this describes the 3 in 4 coset, in 12 numbers (as opposed t 16 for a
3 in 4 coset normally).

Then if our original coset was

	r = b + sp + tq		b,p,q: vectors; s,t: reals

and we pick i,j with

	| i1 i2 i3 i4 |
	| j1 j2 j3 j4 | != 0
	| p1 p2 p3 p4 |
	| q1 q2 q3 q4 |

then the intersection of the two cosets formed by a+(p,q,i) and b+(p,q,j)
is the 2d coset.

This method requires 10 numbers, but is a bit more work...

Re-reading what  hvae just written, I realise that it doesn't make much sense.
Oh well...

Martin
Technical Details
Message-ID: <4g2bjd$1g7@oak73.doc.ic.ac.uk>
Path: arc1-ca.pugleaf.net!doc.ic.ac.uk!not-for-mail
References: <4f3od9$2jg@zeus.tcp.co.uk> <jderrick-0502961551360001@slip037.csc.cuhk.hk> <3118310E.52F@psu.edu> <4fiuh2$qrj@fulton.cs.unc.edu> <3120F507.31DFF4F5@gie.com> <4fs1n2$66@unix.midplains.net>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!doc.ic.ac.uk!not-for-mail
From: mdf@doc.ic.ac.uk (Martin Frost)
Newsgroups: comp.lang.pascal.borland,comp.lang.pascal.mac,comp.lang.pascal.ansi-iso,comp.lang.pascal.misc,comp.sys.amiga.programmer,comp.graphics.algorithms,comp.os.ms-windows.programmer.graphics,comp.sys.amiga.graphics
Subject: Re: 3d programming
Date: 16 Feb 1996 16:32:45 -0000
Organization: Dept. of Computing, Imperial College, University of London, UK.
Distribution: world
Message-ID: <4g2bjd$1g7@oak73.doc.ic.ac.uk>
References: <4f3od9$2jg@zeus.tcp.co.uk> <jderrick-0502961551360001@slip037.csc.cuhk.hk> <3118310E.52F@psu.edu> <4fiuh2$qrj@fulton.cs.unc.edu> <3120F507.31DFF4F5@gie.com> <4fs1n2$66@unix.midplains.net>
Reply-To: mdf@doc.ic.ac.uk (Martin Frost)
NNTP-Posting-Host: oak73.doc.ic.ac.uk
X-Newsreader: mxrn 6.18-23