Log in

View Full Version : Taxicab Geometry


Astronouth7303
14-05-2004, 14:04
Ok, Taxicab Geometry is deceptively simple. It's exactly like Euclidean, except distance is defined as the sum of the absolute values of the diferences pf the corrdinates.
OR: dT = |AX - BX| + |AY - BY| + |AZ - BZ| + ...

And you define everyting based on locuses and distance. Circle is easy. A segment = {P | dT(P, A) + dT(P, B) = dT(A, B)}

Confused yet?

Ryan M.
14-05-2004, 14:17
Ok, Taxicab Geometry is deceptively simple. It's exactly like Euclidean, except distance is defined as the sum of the absolute values of the diferences pf the corrdinates.
OR: dT = |AX - BX| + |AY - BY| + |AZ - BZ| + ...

And you define everyting based on locuses and distance. Circle is easy. A segment = {P | dT(P, A) + dT(P, B) = dT(A, B)}

Confused yet?
I'm so confued. What's the point of this anyway? (both of the post and of the geomety...) :)

Astronouth7303
14-05-2004, 14:27
I'm so confued. What's the point of this anyway? (both of the post and of the geomety...) :)
1. Would it be better off in the chit-chat forum?

2. If you keep to integers, that distance formula is for traveling along right-angled, regularly spaced straight paths.
it's either really cool or really mind-boggling. frequently both. :yikes:
(to start off, just use 2 dimensions, X & Y)

MOEmaniac
14-05-2004, 14:48
ok i think i got it

10-2=8 then you take a right at maple st. and then another right at North Pine and another right at Limestone and then another right at 4th. Wait I think I'm lost. :yikes:

This stuff is way to confusing for me.

Astronouth7303
14-05-2004, 20:19
Think of it as 1st street, 2nd, 3rd, 4th, etc.

Here's an example of finding distance:
Take a piece of graph paper.
draw the points (A, B) and (C, D) (all four being integers)
The distance between the points in Taxicab = abs(A - C) + abs(B - D)

Got it yet?

Adam Y.
14-05-2004, 20:27
1. Would it be better off in the chit-chat forum?
Nah. Its just odd and random math. Thats all.:)

Greg Ross
14-05-2004, 20:40
OK. I get it. (I had never heard of it before.) Now does it have some profound, practical application?
And you define [everything] based on [loci] and distance. Circle is easy. A segment = {P | dT(P, A) + dT(P, B) = dT(A, B)}
Can you explain this in English? I don't understand how the equation defines a segment. (A segment of what?)

Also, in what way is a circle easy? I'm guessing you are defining a circle as being the locus of points equidistant from a given point. In that case, the "circle" will be a square turned diagonally, right?

Guest
14-05-2004, 20:44
So a "circle" is a square diamond in euclidian space.

Didn't read gwross's post! oops

I've used this before in game programming.

Astronouth7303
14-05-2004, 20:53
Also, in what way is a circle easy? I'm guessing you are defining a circle as being the locus of points equidistant from a given point. In that case, the "circle" will be a square turned diagonally, right?
Yes. and pi = 4. YIIIIPEEEEE! :D

What's this? (A personal favorite)

{P | dT(P, A) = dT(P, B)} ;)
Some points to try it with
A, B
(0, 0), (4, 2)
(0, 0), (2, 4)
(0, 0), (3, 3) ;)
(-1, 1), (4, 1)

Greg Ross
14-05-2004, 21:19
I still don't get it. Is your new formula, {P | dT(P, A) = dT(P, B)} supposed to be equivalent to your original one, {P | dT(P, A) + dT(P, B) = dT(A, B)}?

I would still like to know how you would read the(se?) equation(s?) out loud in English.

BTW, i think my only problem is with your notation. Not with the concepts of Taxicab Geometry.

rbayer
14-05-2004, 22:31
Correct me if I'm wrong, but the notation is just standard set notation. For example, {x in R | x > 2} would be read as "all x beloning to the set of real numbers such that x is greater than 2."

Similarly, {P | dT(P, A) = dT(P, B)} would be the set off all points equidistant from two fixed points (A and B, in this case). Similarly, the set {P | dT(P, A) + dT(P, B) = dT(A, B)} would be the set of all points that are colinear with fixed points A and B (ie the sum of the distances from a point to each of the fixed points is the same as the total distance between the two fixed points).

Further examples:

{P | dT(P, A) = r} is the set of all points of fixed distance from A (ie a circle of radius r centered at A.)

{P | dT(P, A) + dT(P, B) = c} is an elipse


As for taxicab geometry, if this kind of thing interests you, there are entire branches of mathematics devoted to the study of non-Euclidean gemetry. I took half a semester of this stuff last year, so if you have any questions, please post and I'll try to answer. Also, if you want to do more research on your own, the formal mathematical name for this kind of thing is a Metric Space.

Greg Ross
14-05-2004, 22:45
... the notation is just standard set notation.
I guess it's just been way too long. :o

phrontist
14-05-2004, 23:38
So what's the profound application?

Or is it left as a "trivial exercise for the reader" :)

Guest
15-05-2004, 00:00
So what's the profound application?

Or is it left as a "trivial exercise for the reader" :)
I use Taxicab Geom. for game programming when I don't need to be accurate or when I want to save a few clock cycles ;)

Greg Ross
15-05-2004, 00:23
... distance is defined as the sum of the absolute values of the [differences of] the [coordinates].
OR: dT = |AX - BX| + |AY - BY| + |AZ - BZ| + ...
Shouldn't your definition for the taxicab distance (dT) be writtendT(A, B) = |AX - BX| + |AY - BY| + |AZ - BZ| + ...

And with Rob's hints, I think I figured out your "segment" formula:
A segment = {P | dT(P, A) + dT(P, B) = dT(A, B)}
If I indeed understand it correctly, a "segment" turns out to be all points on or within a rectangle* with points A and B at opposite corners.

*Or a rectangular prism in three dimensions, or a rectangular hyper-prism in more than three.

Katie Reynolds
15-05-2004, 01:01
Ok, Taxicab Geometry is deceptively simple. It's exactly like Euclidean, except distance is defined as the sum of the absolute values of the diferences pf the corrdinates.
OR: dT = |AX - BX| + |AY - BY| + |AZ - BZ| + ...

And you define everyting based on locuses and distance. Circle is easy. A segment = {P | dT(P, A) + dT(P, B) = dT(A, B)}

Confused yet? Hmm ... you lost me at "Ok" :p

JimWright949
15-05-2004, 01:41
Hello, It's been 13 years since I learned Taxi. Here is a better distance equation.

D = abs(P1x - p2x) + abs(P1y - p2y)

Or if you had two points (2,1) and (3,4) the distance would be 4. abs(2-3) + abs(1-4). There are four paths from one point to the other.

I just pulled out my "text" book on it. Its inventor is Eugene Krunse. He is (was maybe) a professor at the U of Michigan. (I have his e-mail if you need it).

The purpose of it is really to introduce people to Non-Euclidean Geometry, and was used for me as a warm up to a really hard Sr. Level College Geometry Course.

The circle (or the set of all points equal distance from a single point) turns out to be a square. However the perpendicular bisector (all points on a line perpendicular to another line and equal didtance to two points and the line) turns out really weird. Even weirder if the points on the first line are an odd length away from each other. If memory serves all of the conic shapes are represented.

Oh this brings back memories. Go Alice, Bruno, and Clyde!

-Jim

Astronouth7303
15-05-2004, 12:34
Yes! Really freaky and really cool at the same time.
(sorry I didn't include arguments)

Anyone done this yet?
What's this? (A personal favorite)

{P | dT(P, A) = dT(P, B)}
Some points to try it with
A, B
(0, 0), (4, 2)
(0, 0), (2, 4)
(0, 0), (3, 3)
(-1, 1), (4, 1)

Guest
15-05-2004, 14:55
Yes! Really freaky and really cool at the same time.
(sorry I didn't include arguments)

Anyone done this yet?
I did (0,0)-(3,3) and circle with radius 3.

I wrote a VB program to do it :cool: .

Screen shots are attached. First one is (0,0)-(3,3), second is the "circle" with radius 3.

mtrawls
15-05-2004, 15:58
In that case, the "circle" will be a square turned diagonally, right?

Wow! Did you just single-handedly solve the "squring the circle" (http://mathworld.wolfram.com/CircleSquaring.html) problem? :D

Anyway, for more information you might check this out (http://www.mccallie.org/myates/Taxicab%20Geometry/taxicab.htm).

Astronouth7303
15-05-2004, 21:26
I did (0,0)-(3,3) and circle with radius 3.

I wrote a VB program to do it :cool: .

Screen shots are attached. First one is (0,0)-(3,3), second is the "circle" with radius 3.
Can you post it? or is it in the code repos.?

Zzyzx
15-05-2004, 21:31
Oh, I remember doing this in math class. It's not as complicated as some people might think. It's hard to teach through an internet forum.

Astronouth7303
15-05-2004, 21:37
I'm not trying to teach taxicab, just introduse an idea and encourage people to think about it. It's sort of fun to screw around with.
But for anyone with Geometer's Sketchpad (Keypress), I made a set of tools for it. (45 kB) Anyone who wants it please e-mail/pm me.

Guest
15-05-2004, 23:27
Can you post it? or is it in the code repos.?Sure, the Visual Basic code and the .EXE files are attached.

A complete ZIP is in the White Papers, also.