[HELP] Bachelor senior Project


#1

am doing the final project for my bachelor degree next semester(Computer Science Major).

I want to do something related to 3d and graphics but the problem is that i never did 3d programming before.

i want you guys to help me in choosing a topic that can be implemented in one semester.

things that am concerned about is :

  • the learning curve of the topic and the tools needed.
  • the feasibility of the topic.
  • can it be done by inexperienced programmer?.

one of my instructers suggested me to implement an algorithm already available and make it work inside a 3d application.:shrug:

this project is the most important project in my life as a student :scream: , so am waiting for your suggestions.

i dunno if this make a differrence but i do 3d modeling using 3d max


#2

if its the most important project of life as a student, why do it on something you know nothing about, especially when you have only a semester to do it in.

from my experience across progamming and arts, if you are struggling to come up with an idea that inspires you, you are forcing yourself in the wrong direction for the wrong reasons.


#3

thanx poe for your concern
may be you are right
but i don’t want to add to the CS department another WEB-BASED application or an application that depends extensively on DataBases.

most students are doing that and i can do that also.
but i don’t want to.

it may differ from person to person, am eager to learn new things.
and for me one way to learn is to take risks.

i will be waiting for suggesstions and at the end i will be rational about it.
if i feel that i cann’t do it i will not.


#4

A senior project is an opportunity to take all you’ve learned during your time at college and apply that knowledge to something you create.

Use this opportunity to make something great. You don’t want to feel like you’ve spent too much time learning a completely new subject.

3D isn’t going away any time soon. I would recommend that you try it out in your own time.

Whatever you choose, Good Luck! :thumbsup:


#5

You should be able to pick up the basics during a single semester, as long as you have enough time to devote to it and you feel comfortable with programming C or C++, or one of the more high powered high level languages such as Python with PyOpenGL.

What level of achievement is expected from you? If it isn’t required that you create software of epic proportions, I would suggest you do something that’s just kinda cool to look at. A simple simulation visualized in 3D like a ball bouncing in a little box for example. If you have some extra time you might even be able to make it look good with some screen FX.

Watch out though because there are many hidden dangers. As an example, even for the seemingly simple bouncing ball, it could take you weeks to understand and implement collision detection. If you keep the design simple on the other hand, you could decide that the box is just six intersecting planes because collision detection between a ball (sphere) and infinite planes happens to be relatively easy in comparision to collision detection against polygons.

As for how long time it’s going to take and how much you have to learn, I don’t really know. A professional could write something like that in an afternoon. A person who is unfamiliar with 3D maths and maybe even graphics programming would probably be stuck for months with the same task.

If a big achievement is expected, I concur with the previous posters: write something you are familiar with. :slight_smile:


#6

Two of my friends and I did an Undergraduate Reaserch project for our university in a semester too. We esentially made a game engine we called the holodeck… it ended up being like an 80 page report. I had to come up with an algorithm to essentially implement Maya’s manipulators in the UI. So if that gives you any Idea of scale. You might find this usefull http://www.vrupl.evl.uic.edu/holodeck/ check out the report it might give you an idea of where to go with your project… or not. Me… I’m filled with 3d ideas… this whole project was my idea and my friends and I built upon it. So let me know if I can help…


#7

First of all:

You´ll need a good understanding of math. There are a lot of great great papers everywhere in the net, filled with a lot of formulars, but you´ll need to create an image in your mind of what the do in order to correctly use them.

There are a lot of recources connected to training courses on verious universitys. You should start there, and see wheather there is some content aviable for publics. It´s usually well written, and the authors do not assume that you already know everything.

I have three recources that might help you:

  1. Engineering Mathematics by K.A. Stroud
    A great Mathematics book that starts with the very besics, and builts up till… let´s say 3rd Semester Math. It´s the best recource for solving math problems I have found so far.

  2. Texturing & Modeling, a procedural approach (Third Edition)
    If you want to do something Procedural, be it Shading, or creating Landscapes based on Fractals, there is no way to avoid this book.

  3. http://scholar.google.com/
    New Search engine for Papers and Scientific Publications. It´s still a Beta, but It works amazing so far.

http://graphics.stanford.edu/courses/cs348b-04/lectures/
This one is just WOW!
I´ve never seen such a well organized course about rendering. You will find lots of algorhythms there too.


#8

Laeng: Thank you for the Stanford course link! :thumbsup:


#9

If you want to go the less interactive route writing a ray tracer is always a pretty simple one, but can get as hard as you like if you add lots of global illumination and complex surfaces in.

Or maybe a simple OpenGL application using GLUT or whatever http://nehe.gamedev.net/ - even better if you could get it to output RIB as well so you can then run it through a RenderMan complient renderer such as 3delight http://www.3delight.com/

Or dynamics in OpenGL is always fun to see, but might take quite a time to implement.

Most of the basics aren’t rockets science (well depends how far you take it!) but you’ll learn a hell of a lot about why the maths works.

If you base anything around writing RenderMan shaders or Maya plugins then you’ll have very valuable skills to boot. However if you do this don’t have a paper on “writing a Maya plugin” - aim it eg. writing a crowd system for Maya or writing a subsurface scattering shader for RenderMan.

Simon


#10

I’m willing to help with ideas … if yours are not solid yet. I might be particularly helpful if you are at all interested in using Java as your programming tool. To some, it does not seem like a great 3D programming environment … but too me … it sure is great. I use Java/OpenGL via a legacy binding to create a nice UVMapper and modelling after effects program.

I like Simon’s idea of possibly doing sometihing with RenderMan. The nice thing about RenderMan is you can do lots with it and the tools are freely available and it makes very pretty pictures. I’m currently trying to expand the RenderMan RIB export of my application in terms of how RICH the RIB file is … adding Procedural shaders and the like.

Probably the most important part of your project will be convincing the Professor that you learned something commensurate with your schooling and abilities and have pushed to the edge of what is reasonable for the time frame you have been alloted.

  [www.ggaliens.com](http://www.ggaliens.com)

If I was you … I’d stay away from soup-to-nuts 3D applications development. Don’t do renderer , don’t do modeller. I’d suggect doing a plugin for some open environment that would enable you to do something “DIFFERENT” for you project.

B.T.W. I graduated from Clarkson Universtity in 1988, where I was a guest lecturer in the 3D Graphics Course offerred in 1988 (one day guest). I covered Hidden Surface Removal discussion at the time … which is now done for you by OpenGL. I’m a member of the National Mathematics Fraternity, Pi Mu Epsilon. I’ve been toying with graphics programmin for 20 years at the nuts and bolts levels.


#11

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.