Application for remodel project diagrams? - diagrams

Trying to find an easy to use application for making diagrams. The application will be used for drawings of remodel projects, so mainly decks and houses. I am trying to help a novice Mac user who just received his contractor's license find a simple draw program that will work for simple diagrams.

Is Google Sketchup too complex? http://sketchup.google.com/ seems ideal if they can cope with the 3D part

Google Sketchup might be nice if you're doing remodeling. It's a pretty simple and free program that lets you build 3d models of houses, decks and the like, and it has a better learning curve in my opinion than big commercial modeling programs.

Related

A good framework for Image(DICOM) data manipulation, visualization and development

I need to start a project which deals with the DICOM data manipulation, visualization. As a part of some basic research, I have found there are a few toolkits such as ITK, VTK which performs data manipulation on the medical image data. My question is, using ITK+VTK+QT for DICOM image manipulation(segmentation & registration) a better choice or using ITK with OpenCV would be a better option? Or any alternate toolkits exists that would likely achieve my requirement?
Any suggestions, sources or links related to this topic would be much helpful.
There are many toolkits and frameworks that work with Dicom. It depends on what you want to do.
In many cases, the easiest thing to do is to build a plugin for an existing application/toolkit such as Horos, 3D Slicer, ImageJ, MITK, MeVisLab, ITK Snap, etc. I'm sure there are dozens more.
If you want to build your own medical imaging application, most of the above are open-source; adapting one of these would save you a lot of grief (and probably years) compared to trying to write your own application from scratch.
If your main interest is in developing algorithms, then Python is a good prototyping language - consider packages such as numpy, scipy, pydicom, ITK, SimpleITK. Java has dcm4chee. C++ has QT, ITK, VTK.
If you want to do something JavaScript-based that will work though web browsers on tablets etc, look at in-progress projects such as OHIF Viewer or Cornerstone.
One other thing: a) dealing with Dicom data, b) manipulation and c) visualisation, are three different things. It's easy to convert your Dicom data to, say, nifti format, which opens up a lot of academic analysis tools. Similarly, there are many 2D and 3D visualisation libraries that are not specific to Dicom - it's just about converting data into the right form.

Project idea using Eigen

I have been reading the documentation and playing with Eigen recently:
docs
and would like to build something that uses it extensively to learn it well. I looked on their website and they mention various projects that use it - like Google Ceres. Something like that might be too large for one or two people to undertake on the side as an Eigen learning experience so I'm looking for something simpler but not trivial that would use it extensively and is a real - useful - application..
Eigen is extensively used in computer vision, and if you are comfortable with linear algebra and matrix calculus (I assume you are, otherwise you wouldn't use Eigen), why not build a toy VSLAM (visual simultaneous localization and mapping) system? Those that are based on bundle adjustment (there's a whole chapter dedicated to that in zisserman's book on multipleview geometry, and it is also discussed in the open-source yet excellent book enter link description here) can be very tricky to implement efficiently, and will take a lot of time, but since your goal is to learn Eigen, performance shouldn't be that much of an issue. If that seems too hard/long for two people, and you think it demands too much energy for a side-project, I recommend that you select some computer-vision algorithms like those that compute the the essential matrix between two images, or are used in 3d pose estimation. Well, those are the only really fun things that come to mind right now, and they will force you to discover a lot of Eigen's functionalities (and gotchas!).

Is there a similar game making software to warcraft's world editor?

Currently, warcaft's world editor is the only software which I know to use, I was wondering if there are other similar, but game making software out there? Thanks in advance.
There are programs that are similar in ways... Maybe not "world editors" but if you don't mind learning some code then there are programs like Game Maker: Studio that has 3D capabilities now and that you can make entire worlds from scratch also, there is Unity which is what i think you maybe looking for more likely as it is mainly made to make 3D games so it works well... Now both you will need to learn some coding but there are some shortcuts in Game Maker as in there are some drag and drop commands!
Here are some engines that you may like:
CryEngine - Great Graphics, free version is no longer updated.
Unreal Engine 4 - Good Graphics, Easy to use, No limitations for free
version.
Unity 5 - Not as good graphics, VERY beginner friendly, pro version is now free.
Hope this helps. With each one you could make stuff with no coding. UE4 and CryEngine have drag and drop languages, whereas Unity 5 requires C# or JS. You would only have to use these, however, if you wanted to makes games compared to just enviroments.

Is programming in layers real?

I am fairly new in product development and I am trying to work over a product. The problem that I have realized is that people draw diagrams and charts showing different modules and layers.
But as I am working alone (I am my own team) I got a bit confused about the interaction I am facing in the development within the programs and I am wondering whether developing a product in modules is real or not?
Maybe I am not a great programmer, but I see no boundaries when data start to travel from frontend to backend.
I've written a lot of layered applications and it can be a useful pattern but it can lead you astray too, and thinking in modules is a bit more useful.
One problem with layers is that they're often used as a reason for repackaging data as it flows through the system, when the data is packaged perfectly well when it enters the system, such as from a database.
Another issue is that layering by its very nature stacks modules on top of one another - this is just too naive for most systems.
I suggest you get a good book on design patterns and spend some time studying and understanding the trade-offs with different architectural approaches. Developing modular applications is not easy but it's worth taking the time to do it well.

What language to use when prototyping a small game

I am currently considering writing a small game. It is essentially a map where you can zoom out and in, and in certain places click on info boxes where, at some point, I hope to integrate minigames. Granted, game might be overstating it. Think of it as an interactive map. The theme is how mathematics can be applied in peoples every day life to raise awareness on the usefullness of mathematics.
The question is how I as fast as possible can make a reasonable prototype. If I recieve enough positive response on this I might try to code "the real thing" and use the prototype to obtain funding.
However, I am at a crossroad. I want something to work rather fast and have some C++ experience coding optimization problems, mainly in c-style. I am not convienced, though, that coding it in C++ is the fast way to obtain a prototype. Though I have some experience coding in C++, but have no experience in coding any sort of GUI.
As I see it there is a number of possibilites:
C++, possibly using some library, such as boost or ???.
Start out purely webbased, using e.g. HTML 5 and java.
Python
C#/.NET
Others, such as?
I have to admit I have little experience with anything besides C++ and the STL.
So my question to this wonderful forum is basically, is there a language that provides a significant advantage? Also, any additional insight or comments is more than welcome!
Python is a simpler language than C++, and for prototyping it will help you focus on the task at hand. You can use Pygame, a game library built on the excellent cross-platform SDL library. It provides 2D graphics, input, and audio mixing features. SDL is mainly a C library (and thus compatible with C++), and there are a number of very useful libraries that integrate with it:
SDL_image for loading images in various formats
SDL_ttf for rendering text using TrueType fonts
SDL_mixer for audio mixing
SDL_net for networking
SDL_gfx for graphics drawing primitives
So if you prototype in Python using Pygame, there is a reasonable chance you’ll be able to port what you make over to C++ with minimal hassle, if and when you choose to do so.
Possible options:
Go with what you know the best. Anything else will require a learning curve, which may be weeks to months long. If you're willing to take that road in order to make your prototype, then there are some really great tools available.
BlitzBasic is a good way to go, and is basically designed to be for games
I've done little games in Java using Slick2D - but you'll need good grounding in object-oriented coding to work effectively in Java. If you've got that from C++, then you can see a tech demo I built in Slick2D called Pedestrians. It's open source, and has demo videos here.
You might also ask your question on https://gamedev.stackexchange.com/ - a Q/A site dedicated to game programming

Resources