Freely available 3D graphics resources [closed] - models

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm primarily a programmer and always have the same issue when starting new projects: I have no artistic bone in my body. But you can't always afford an artist.
What resources can I use for graphics? I'm primarily looking for free 3D models in various file types. They don't have to be elaborate, but should work for rapid prototyping.

Some years ago, for the GameDev.Net "Four Elements" contest, I compiled an extremely large list (link leads to WayBackMachine now). I haven't revisited it in some time, so probably a fair few dead links, but I'm sure there's quite a lot of live and kicking links too. It starts off with a bunch of technology links, but just scroll down. There's plenty of models and textures links.

http://sketchup.google.com/3dwarehouse/

www.turbosquid.com
They have free and for pay content.

These are a few of the model resources I used to use when working with 3D in the past.
3D Links is a great resource for everything with 3d. It has a long list of links to sites offerering 3d objects.
http://www.3dlinks.com/Free_3D_Objects.cfm
Another source I used a lot to get my interior models from is e-interiors. You have to do a search for 3D in the Cad Library Availablity. It has hundreds of free interior objects from chairs to sinks.
http://www.e-interiors.net/
For smaller assemblies and parts like knobs an gears have a look at 3D content central
http://www.3dcontentcentral.com
Exchange 3D also has a list of free models
http://www.exchange3d.com/cubecart/free-3d-models/cat_35.html
If you want 3D diamond cuts for experiments try 3D Lapidary
http://www.3dlapidary.com
KatsBits has a couple of low res md5 game models
http://www.katsbits.com/htm/models.htm
Last I want to mention De Espona. This collection is not free (except for a few models, available here). It costs $395 for the downloadable version. But, if you're looking for an entire encyclopedia with models in various resolutions, I would recommend this one.
http://www.deespona.com

Have a look at:
http://www.blendermodels.org/
http://www.3dcafe.com/

If it helps, http://www.modwiki.net/wiki/MD5_(file_format) has information for converting many model formats (Maya, 3DS Max, Blendder, Lightwave, Softimage) into .MD5 format.
You could then take advantage of the many excellent resources mentioned in the other answers...

3dtotal.com is a very popular site on 3d graphics. It offers free high quality tutorials and models. Additionally, 3dtotal distributes its own collection of texture cds - some of the best textures available.

Related

What are some good beginner tutorial websites and resources for learning the three.js library? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I'm not a beginner per se to programming (like C++ or Java) but I am a beginner to JavaScript and three.js. I want to learn three.js for a project I want to work on but I have no idea where to begin. I tried just diving into the source code on github but a lot of it can be confusing at times especially for someone new to JavaScript. I was wondering if there are any tutorials, videos, books, websites, etc... that go over the basics of three.js library?
When you download Three.js they have an awful lot of examples. Why not use those? There are almost 200 of them.
Regarding looking at the source code, I know how you feel, javascript is quirky and there are no really well-established ways of doing something as simple as inheritance. However, I have to say that Three.js is very, very well written and easy to understand, if there's any time to see how javascript gurus write good javascript, Three.js is it. It's very well laid out, not too much indirection, objects are well abstracted, the hierarchies make good sense and methods do what they sound like they do, not too much, not too little.
I suggest start by splitting up your project, adapting the closest example that does what that part of your project will do. By the time you've done 3 or 4 aspects, you'll have a great feel for it and can build up your project by looking for an example that resembles each problem you face.
However, 3D programming is not simple. So you're going to be on a doubly steep learning curve. The problem I've found with 3D programming in Three.js (as with other 3D javascript libraries), as opposed to regular javascript programming, is there's very little feedback regarding errors. So it's very hard to know what's going wrong. You'll need to get used to debugging javascript. If your progress is like mine, you'll end up having to refine individual problems into small demonstrable snippets which you can ask for help on stack exchange. Isolate the problem and paste it into a jsfiddle. The most common bugs result from subtle properties that need to be configured, for example, if you draw a circle, you'd expect it to display no matter which side is being viewed, but that is not the case! However a quick question on stack overflow in those situations will help.
try googling and i believe you will find many :)
try this http://www.aerotwist.com/tutorials/getting-started-with-three-js/
There are some excellent beginner tutorials on YouTube: Three.js - YouTube
A guy named Nikita Severinov made some really nice introduction series, but they are unfortunately only in Russian:
WebGL Three.js - Solar System Tutorial Series
Hope that helps at least a tiny bit.

How to recognize similar sounds - techniques [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I would like to create a system for sound recognition. The system once being trained should be capable of recognition of similar sounds. E.g. I have few sounds such as shower, flushing toilet, fire alarm. I would install the system in a flat and train it with those sounds. Then the system should be able to recognize these sounds when installed in different flats where the sound of a shower, flushing toilet and fire alarm has a slightly different spectrum. Is that possible? What techniques could be used? I was thinking about speech recognition techniques such as hidden markov models, nerual networks?
You are looking for pattern recognition algorithms. For example, I believe PCA can be a solution. You first extract the spectrum signature of the training samples. Then PCA will classify a new sound to a closest known sample.
If you are interested in doing this by Neural networks , i will suggest that you first read literature on Neural Networks. Also , some helpful notes on Speech Recognition by Neural networks can be found here
Basically this is the user guide for the software that can be downloaded at this link here
I have not used the software myself, but i believe they provide the source code too.
Hope that helps.
Edit : Also added some source code from Code Project that implements backpropogation algorithm on Neural networks . Have a look here
FFT is your friend. This article will give you some tracks.
In addition to the Pattern Recognition/Machine learning solutions mentioned, you should probably look at Dynamic Time Warping, too.

Algorithmic music composition [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
(edited)
For anyone interested in music and artificial intelligence:
Do you know of any music-composing algorithm that produces really interesting, fun or intelligent music? And not something sounding like a random noise.
(Previous, too broad question:)
What are some state of the art (very good, non-boring) music composition algorithms, software, researches that you have heard of?
Feel free to post any interesting link about this subject.
P.S. I don't mean programs that assist you at playing, but primarily anything that can compose melody by itself (or with little assistance).
OR: Analyses existing music pieces and tells how much it likes them :)
One of the leading researchers in algorithmic composition is David Cope of the University of California, Santa Cruz. His approach emphasizes machine learning, the results of which were impressively demonstrated in a 2006 performance.
http://www.wired.com/wired/archive/14.09/posts.html?pg=3
A good place to start would be with his aptly named book, The Algorithmic Composer, which covers much of his approach and provides most of the software he has written for his work.
http://books.google.com/books?id=rFGH07I2KTcC
Though not specifically algorithmic composition another invaluable resource is David Temperley's book, The Cognition of Basic Musical Structures, which provides quite a few models begging to be implemented.
http://books.google.com/books?id=IDoLEvTQuewC
Those two alone a pretty time consuming for anyone with an interest in that they are concrete enough that experimenting along the way is inevitable.
Hope that helps.
One possibility would be to use a hidden Markov model: feed it samples of music, and have it generate "similar" music.
One example: http://www.cogs.susx.ac.uk/users/christ/talks/music-making-with-HiMMs.pdf
I did something similar with Shakespeare's sonnets. The results were ... interesting. Amusing, at times.
There's a search engine that lets you whistle a tune and that searches for music alike. I'm not sure whether http://www.midomi.com/ is what I originally heard of. You can for example play the music and see if it finds what you intended.
A fellow student of me created a score composer for his Master's project. The input was humming or whistling and through FFT, music theory and combinatorial algorithms (I'm not sure whether it was simulated annealing). I'm not sure how it was related, but the project had something to do with the http://www.wikifonia.org/ project.
(edit)
I heard a talk from someone who worked at http://last.fm. They analyze music (machine learning) as one of the ways to overcome the cold start problem in their recommender system. They try to predict how much a new song resembles other songs.

Managing code transitions between developers [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
What are your best practices for making sure newly hired developers quickly get up to speed with the code? And ensuring developers moving on don't set back ongoing releases.
Some ideas to get started:
Documentation
Use well established frameworks
Training / encourage mentoring
Notice period in contract
From a management perspective, the best (but seemingly seldom-follow) practice is to allow time in the schedule for training, both for the new employee and for the current developer who'll need to train them. There's no free lunch there.
From a people perspective, the best way I've seen for on-boarding new employees is to have them pair program with current developers. This is a good way to introduce them to the team's coding standards and practices while giving them a tour of the code.
If your team is pairing averse, it really helps to have a few current diagrams for how key parts of the system are structured, or how key bits interact. It's been my experience that for programs of moderate complexity (.5m lines of code), the key points can be gotten across with a few documents (which could be a few entity-relation document fragments, and perhaps a few sequence diagrams that capture high-level interactions).
From the code perspective, here's where letting cruft accumulate in the code base comes back to bite you. The best practice is to refactor aggressively as you develop, and follow enough of a coding guideline that the code looks consistent. As a new developer on a team, walking into a code base that resembles a swamp can be rather demoralizing.
Use of a common framework can help if there's a critical mass of developers who'll have had prior experience. If you're in the Java camp, Hibernate and Spring seem to be safe choices from that perspective.
If I had to pick one, I'd go with diagrams that give enough of a rough map of the territory that a new developer can find out where they are, and how the big of code they're looking at fits into the bigger picture.

Pointers to some good SVM Tutorial [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I have been trying to grasp the basics of Support Vector Machines, and downloaded and read many online articles. But still am not able to grasp it.
I would like to know, if there are some
nice tutorial
sample code which can be used for understanding
or something, that you can think of, and that will enable me to learn SVM Basics easily.
PS: I somehow managed to learn PCA (Principal Component Analysis).
BTW, you guys would have guessed that I am working on Machine Learning.
The standard recommendation for a tutorial in SVMs is A Tutorial on Support Vector Machines for Pattern Recognition by Christopher Burges. Another good place to learn about SVMs is the Machine Learning Course at Stanford (SVMs are covered in lectures 6-8). Both these are quite theoretical and heavy on the maths.
As for source code; SVMLight, libsvm and TinySVM are all open-source, but the code is not very easy to follow. I haven't looked at each of them very closely, but the source for TinySVM is probably the is easiest to understand. There is also a pseudo-code implementation of the SMO algorithm in this paper.
This is a very good beginner's tutorial on SVM:
SVM explained
I always thought StompChicken's recommended tutorial was a bit confusing in the way that they jump right into talking about bounds and VC statistics and trying to find the optimal machine and such. It's good if you already understand the basics, though.
Lots of video lectures on SVM:
http://videolectures.net/Top/Computer_Science/Machine_Learning/Kernel_Methods/Support_Vector_Machines/
I found the one by Colin Campbell to be very useful.
A practical guide to SVM classification for libsvm
PyML Tutorial for PyML
I think 1 is practical for use, 3 is clear for understanding.
Assuming you know the basics (eg max margin classifiers, constructing a kernel), solve Problem Set 2 (handout #5) of that stanford machine learning course. There's answer keys & he holds your hand through the whole process. Use Lecture notes 3 & video #7-8 as references.
If you don't know the basics, watch earlier videos.
I would grab a copy of R, install the e1071 package which nicely wraps libsvm, and try to get good results on your favorite data sets.
If you just figured out PCA, it might be informative to look at data with many more predictors than cases (e.g., microarray gene expression profiles, time series, spectra from analytical chemistry, etc.) and compare linear regression on the PCA'd predictors with SVM on the raw predictors.
There are a lot of great references in the other answers, but I think there's value in playing around with the black box before you read what's inside.

Resources