Xah's Edu Corner: Introduction to 3D Graphics Programing

Xah Lee xah at xahlee.org
Mon Jan 22 06:34:13 CET 2007

Xah Lee wrote in 2006-12-22:
> Of Interest:
> Introduction to 3D Graphics Programing
> http://xahlee.org/3d/index.html

Folks, i have expanded my tutorial to several pages in the past nearly
two months, and thank you very much for those who have given

I had plans to write pages that actually contained Python or Perl and
elisp code to demonstrate the mingled use of common languages with
POV-RAY and other tools for doing algorithmic mathematical art...

However, i'm posting now for one in-credible discovery that amazed me,
and believe it is a revolutionary both with respect to technology, as
well as its social impact.

Following is my brief introduction. The web version is at:
Introduction to Second Life


Introduction to Second Life

Xah Lee, 2007-01-09

above: A screenshot of a location in Second Life.

This place is called “The Future”, it is a place built by Henry
Segerman ↗ built.

Second Life is a online virtual world with 2 million accounts as of
2006-12, and reportedly 10 thousand users logged in at any moment.
Basically, you operate a software that is a 3D world much like 3D
games, but everything in the “game” is built by users, and you can
interact with other users, including buying and selling virtual land
with real money. What people do inside Second Life is entirely up to
them (as in real life). And, as it happens, what people do mostly in
Second Life are pretty much what people do in real life. The major
activities are: sex, shopping, socializing, dancing.

My mathematician friend Henry Segerman introduced me to 2nd life. (also
because it appeared in Time Mag in 2006-12.) Henry has a 2nd life page
that contains many math objects made in Second Life:

Part of my interest in Second Life is to build geometric models. (See
Introduction to 3D Graphics Programing) I have for the past couple
years sought for a software platform/system where i can build 3D
objects, with abilities to do interactive adjustment (such as moving a
slide to change a surface's parameter), dynamic rotation (viewing from
different angles), animations (such as morphing that shows geometric
processes), and most of all, walk-thru in it as if it is a building.

As far as my experiences goes, no software platform for 3D graphics are
close to the ideal of what i need to do. They lack one feature or the
other, or otherwise requires the programer to be a specialist with
years of dedication in learning the tool. For example, Mathematica↗
has great collection of math functions but no dynamic graphics.
POV-RAY↗ and 3D-modelers like AutoCAD↗ can do great in building 3D
objects but they are not designed for interactivity, animations, or
walk-thru. Java the programming language↗ allows one to write applets
that does rotation and interactive manipulation but programing in Java
is extremely unnecessarily complex and yet it is still not possible to
do walk-thrus. The one class of platform that does all these, is 3D
game engines. But alas, they take a dedicated game programing
specialist to be able to use it. Second Life changed all this.

(Note: Just for completness, my requirement for a 3D-graphics
programing software system is this: • easy to use for average
programers or scientists. • Easy to build geometry models, such as
basic shapes like spheres and blocks, as well as surfaces or meshes of
triangles. • designed for interactivity. That is, the programer can
easily build buttons and sliders that changes parameters and have the
object reflect these changes visually right away. • the user can
easily change viewing angles or rotate the object. • The programer
can easily do animations. For example, morph a sphere into a cube, or a
bunch of spheres flying in space as a swarm of flies. • The ability
to do walk-thru (or fly-thru). For example, if i build a fancy 3D-maze
or architecture, i should be able to — say — become a ant, and walk
inside the object, so as to view the object from inside and as well as
getting the real experience of perceiving such a building. (Before my
discover of Second Life, the platform that i was considering nearly
ideal and preparing to learn, are VPython↗ and Macromedia Flash↗ (i
do still plan to learn these technologies) ))

Second Life is not just the answer to my mathematical fantasies, but
because of its Real-World nature, being run and build by real people,
and with scarily real money market of the virtual dollars it uses, is
nothing but a technological revolution with great social impact. It is
essentially the virtual-3D-world-wide-web dream of VRML↗ envisioned
around 1995.

Anshe Chung↗ is famouly known for being the first to become a (real
world) millionaire by selling entirely virtual items and virtual
services inside Second Life.

For a encyclopedic introduction, see: Second Life↗

Here are some articles about Second Life. (note that there are a lot
linked at the bottom of the Wikipedia article.)

    * Time Mag: “My So-Called Second Life”, By Joel Stein,
    * businessWeek online: INSIDE INNOVATION — IN SIDE. Second Life
Lessons. By Reena Jana and Aili McConnon. 2006-11-27.↗

2007-01-21, Addendum

Recently i heard of Entropia Universe↗. I haven't taken a closer look
but i think it is a competitor to Second Life.

Note that Second Life may not be and is probably not the first virtual
world. And, when virtual world like Second Life becomes household
activity as the internet is today, it will probably not be known as
Second Life or run by one single company, but diverse companies with
servers all over the world, where there is a unified virtual world all
the world's people can be in. (This situation may be likened to the
internet circa 1995. Or, perhaps also similar when telephone was in its
pioneering days.)


  xah at xahlee.orghttp://xahlee.org/

More information about the Python-list mailing list