Tuesday, May 6, 2008

Ethics vs. God

Is it right because God said it or did God say it because it is right?




By assuming that ‘whatever god said is good’, “kill unbelievers” could be as good as or better than “never tell lies”. Or "don't let untouchables enter the temple" can be as good as "never cheat on your wife", just beacuse Mr. God said it. I don't believe in god, and I know few more like me. I know many who don’t know what their religion says or asks from them and simply call themselves of that religion cause they were born in that religion. And there are others who know what their religion is all about and follow stuff cause that’s how their gods and their religion wants it to be. But while looking at all these people and then at me, some things seem to be universal. We all seem to know what is right and wrong. So, is ethics and moral values a function of god and religion? Will people still love each other and be truthful without the fear of hell fire?


Religion of Nature, and Animal Sociology:

Ethics exist is animals without any clergy or religion. Its natural behavior of social animals that tells them what is right and what is wrong. Our brains have evolved like that. Laughter is contagious and so is sorrow. We feel happy in happy people, and sad among sad people. Only a few psychopaths will enjoy when others are sad, but that is not normal. So a normal person will try to keep people around him happy for his selfish interest. And then there is this selfless love that we imprint on our brains. A bold buffalo herd leader will face a pride of lions to protect his fellow buffalos. Similarly, a female tigress will kill anything in the way of her cubs. These heroic deeds and self-sacrificing love existed much before some fear-filled minds invented god. These are the ethics, the religion in our genes that guides us, the social animals. A bee hive works perfectly without a religion. A worker bee does not aspire to be a soldier bee and a soldier bee does not want to be a queen bee. Each bee seems to know exactly what it is supposed to do. No greed, no selfishness, no fights! The bee hive works perfectly well. It is in their genes.

But our lives are far more complicated than these animals. Our environments are changing faster than the time our genes require to form imprinted patterns. We need more than Darwin’s theory to absorb the changes and we need something that can program us before it percolates in our genes. Our religion and our culture is what does that for us. So we cannot completely do away with religion, but we can certainly do away with the concept of god. It is in our nature to seek love and beauty, to share and enjoy creating something together. We have ethics by nature and we don’t need god for that. Many of the complex moral values and doctrines we see today are a result of vain attempts to accommodate ancient human fundas to control and discipline masses. The fundas became our culture which got haunted by demons and deities to become a religion which further got corrupt to become the chaos that exist today!


The 'Evolution of Mankind':

The Stone Age man goes for hunting. They work in group as one individual cannot kill the deer. They share what they capture cause if you don’t share, you will loose your group. The males protect their females and young ones and the females return the favor! These are strategies to maximize the intensity and duration of enjoyment of your personal gains. Mutual co-operation increases our chances of success. Being foolishly selfish will only invite enemies and you will not really be able to enjoy what you have grabbed for a long time. Your partners will come after you for their share. So, it’s in your self-interest to be selfless at times.

A person who strategically acts with the understanding of the concept of 'selfishly selfless' is practicing “Enlightened Self-Interest”. The roots of “Justice” are in this concept of “Enlightened Self-Interest”. With justice, co-operational efficiency achieves it's maxima. All our lives we try to do things that will make people accept us and like us as partners in various activities, groups and organizations. While doing so they co-operate with us to act so that we like them and we are happy as a group and as a society. A husband and his wife are probably the best example to illustrate this :)


The 'Evolution of God':

If we did not have a culture, a religion, some of us would have spent first 40 years of our lives before inventing fire or a wheel and most would have died without ever seeing it. Forget about making cars and traveling in them. Culture helps to pass on this sum total of information so the next generation can move on with what was already know. We don’t have sit and write constitution, laws and do inventions and discoveries all over again. This is the single most important reason for the success of mankind. Unlike the bees, a human being is born with a significant part of his brain un-programmed. Then the people around him can program him and make him into a functional unit. A baby has no religion, no language and no information about how to survive in this world; it’s completely helpless when it is born. It learns whatever is taught to it and functions accordingly. It’s a blank CD that will play any song you write on it!

Just like this culture and knowledge transfer mechanism is effective in transferring important knowledge, science and technology; it also is used to transfer behavioral patterns, the religion. If someone has already found out that telling lies, killing each other, being foolishly selfish and refraining from duty are bad things, then it is good to document it and simply pass it on. It is important here to understand that bad here means bad for the existence of the society; there is nothing as right and wrong when it comes to culture and ethics. Someone might think one man should have only one wife and someone might think having multiple wives is the right thing to do. The root cause analysis of all our practices and ancient literature shows that they are written to allow society to function efficiently.


This culture and religion is a great way to adapt to the ever changing real and virtual environments. But we should realize when this very culture becomes a barrier in our progress. People get caught in believes that are harmful to the society. The commandments of Moses were challenged by Jesus and were changed. The first commandments are now believed to be disturbing. This means a religion needs to be amended just like the constitution of the country. Even in the Vedas there is a growing learning curve, each book getting better than the previous and then the Bhagwat Gita, the masterpiece of knowledge for the functional society. For some reason someone thought that people would understand all this better if it was told that, "there is a god, an omnipresent power that wants us to do this". Why don’t we keep it simple? We are a complex network, a web of life and each one depends on other. One unit’s failure can stop the cycle and so we cannot refrain from our duties. Why can't we look at it as a fact of science instead of a religion of gods? Why can’t we keep god away from all this?


“God” is the “Evil”:

Union of science and religion alone can bring peace to mankind (this one was picked from MIT’s slogan). Religion is a way of life; it’s the culture that the people have developed over thousands of years for peaceful co-existence.Irrational believes like: God created the earth; its 5000 years old, the heaven and hell and the Adam and Eve theory etc should be deleted immediately from the so called sacred books, which so many children still study in minority schools. Our culture and festivals are our heritage and we should be proud of it, but let’s respect it as mythology. It is ridiculous to see grownup educated men to preach all such stuff in front of praising audiences. Religion needs revision! Wrong or potentially harmful believes and practices need to be mercilessly crushed as soon as possible. The challenge before religion (moral education) is not to create long lists of dos and don’ts but to help people understand the causes and consequences of their actions and realize the bigger picture, the rolling wheel of life. Every time I look around, all the problems we face, I see “God” as the only “Evil”. We cannot completely do without religion and culture; it’s the backbone of our society, but its time that we keep god aside and be reasonable! After all, being atheist won’t get people killing each other, men raping women and driving people crazy with greed...

Sunday, April 27, 2008

Envision Spaceship

'Envision Spaceship' is a Virtual Reality project designed to run in the Flex system. It is a part of the Computer Graphics Technology 515 course by Prof. Laura Arns at Envision Center, Purdue University. The project is a study of virtual environment concepts at the envision center to enhance students' understanding of Virtual Reality software and hardware for creating VR based applications.


So what's the Project about?

We have a Space-station in the atmosphere, orbiting around Earth. This station is supposed to launch spaceships to various planets. Our mission is to send a spaceship to Mars, collect some photographs and then move ahead to Uranus to install a telescope. A path has been defined and you should not deviate from it. There is a chance that you hit asteroids if you do so.
The mission has two objectives:

Stage I: Launch the Spaceship
The spaceship can be lifted using the wand after which it follows the wand till you release the trigger. On throwing the spaceship while releasing the trigger, if your speed of throwing is enough, the spaceship will start moving in space and else it will fall down on the space-station deck. Here we measure the speed of the spaceship based on the change in the position of wand just before releasing the trigger.

Stage II: Steer the Spaceship

Once in space, the spaceship's motions can be controlled by the users with the wand. The ship has to be steered along the identified path to take it to Mars and then to Uranus, dodging asteroids on the way. Users can move to the left, right and front. You can look around but you cannot move back.








Following were the 'Four Project Musts' :



  1. Must be in stereo on : Tiled Wall, FLEX or an HMD ( We decided to have our application running in FLEX, which is basically a cube with projector screens on 3 sides and bottom, coolest of the three display systems)
  2. Must have head tracking (Flex takes care of that with the installed IS900 trackers)
  3. Must have true 3D interaction such as having a tracked wand or glove. ( We have a tracked wand which allows you to grab objects and throw/release them)
  4. Must be able to travel/navigate around in the virtual world, beyond the confines of the 10'x10' space of the flex or tiled wall. (We have added features to our program that help users navigate through the virtual space)

Part I: Software


The 3D Models:


The Project has three basic 3D models. The modelling is done in 3D studio Max and the models are exported as OpenSceneGraph files. Following are the three models: Spaceship, Launching Station and the Solar System.



3D studio Max provides a highly customizable and user friendly interactive 3D modelling and animation platform. The 3D Max model can be exported to OSG (Open Scene Graph) to make it a VR application. We had to control each model separately and hence needed the models to be separate. The models were attached to different nodes and the nodes were controlled by transformation matrices in OSG. All models are called simultaneously in OSG and are able to interact with each other. Their relative positions and scaling had to be neatly done.

The OSG Program:

Open Scene Graph is a open source application for graphics programming of simulators, games or other VR applications. It works on a OpenGL framework allowing real-time handling of low level graphics. The OSG program had to be programed to allow us to do the following tasks:

  1. The wand's and ship's position should tracked. If the wand is within a defined area around the spaceship, the software allows you to select the spaceship by pressing the trigger. The spaceship will follow the wand now.
  2. The wands relative position is tracked, which is the distance it has travelled from its last position. This function called the WandRelativePosition is used to know the speed at which the wand (and spaceship) was moving while releasing the trigger. If this speed is enough, the spaceship will escape earth's gravity and travel in space, else it lands back on the deck.
  3. Once in space the user can navigate using the wand. The user will move in the direction the wand is pointing. While doing so, the same button will also accelerate the spaceship in the forward direction. The speed of navigation and the speed of spaceship has been matched so that it appears that the spaceship is a Avatar.
  4. The spaceship can be steered while moving ahead. Buttons on wand can be used to move to the right or left. This helps to stay on the trajectory indicated in the model. Also another button can be used to look around by rotating in the X-Z plane.
By far the OSG programming was the most difficult part of the Project. That is where the team spent most of their time struggling...

Part II: Hardware

The Flex is a cube that has projected screens on its four or more sides. In Envision center we have screens on 3 sides and one on floor. The cube can be opened through the cavecontrol application. Envision's VR Theater is a Fakespace FLEX system featuring three ten-foot by eight-foot panels for rear projection of large-scale 3D images. These movable screens can be easily and rapidly rearranged to form a semi-enclosed room with three walls plus a fourth panel as the floor. This arrangement creates a 3D immersive virtual environment.



Other Hardware includes the wand, head tracker and 3D goggles. The wand allows the users to navigate and to perform programed functions like grab the spaceship, release the spaceship, rotate view and steer the spaceship in space.




The head tracker tracks the position of the users head (eyes) within the flex. This helps to customize the view as per the user. That is, if you bend or move around, the view will change making the virtual environment more immersive.
Also, the 3D glasses allow users to see stereo view. So, each eye gets a different view, just like we see in the real world. This ability allows us to realize distances and 3D perspectives. The result is a really cool, 3D looking immersive Virtual Reality application!





Part III: Evaluation & Results



The Project was mostly a success and the application performed what it was designed for except for the grabbing function. But there is scope for further improvements. Following is the evaluation of the project:

  1. The wand grab function is not working currently. The volume defined around the spaceship for grabing the ship is a box which is probably not large enough for grabbing. Further investigation required.
  2. The speed of the spaceship has to match the user navigation speed. Currently the spaceship goes faster than the user and eventually travels far enough to dissappear.
  3. The spaceship is programed to just go back to its start position when left if the speed of throwing is slow. There could be a trajectory defined for the space ship as it falls depending upon the velocity while releasing, height of spaceship etc.
  4. The solar system can be modeled for realistically. Current version has restricted movements ans the scale is blown out of proportions, which makes it scientifically in correct. A better scientifically accurate model could be useful for making interactive learning program for kids.
  5. Text messages about the mission details, mission status etc could be added. Also sound effects can make the application more enjoyable.



Responsiblities:

Both the team members worked in unison from idea conceptualization to implementing the idea. The responsibilities for the project were shared fairly well and the division of responsibilities is not really tangible. Given below is a rough distribution of work.

Bhushan:

3D Max modeling (some models were downloaded from websites and editied to suite the application)

OSG Programming

Isam:

OSG Programming assistance

Script file related issues handling. Running the application in Flex.


We would like to acknowledge the guidence of Jack in the OSG Programing part.



Refrences:

Purdue University envision center for data perceptualization and visualization (http://www.envision.purdue.edu/facilities.html)


VR Juggler Programmer Guide and the Programmer Reference (http://developer.vrjuggler.org/)


Open Scene Graph website (http://www.openscenegraph.org/)



The Team:





Bhushan Bhalerao

Graduate Student,

Construction Engg. & Management

Email: bhushan@purdue.edu

Isam Badawi

PhD Student ,

College of Technology

Email: badawi5@purdue.edu


under the guidence of:

Prof. Laura Arns

Associate Director,

Envision Center for Data Perceptualization