Real time 3d rendering navigation - c#

I have no idea at all about the 3D Visualization ,and i want to create an application ,the application idea depends totally on the 3D structure .
I'll do my best to clarify my question to avoid considering it vague .
The main goal of my application is the (navigation) part in 3D environment .I want to upload maps of a specific area and the application allow to guide the user to its destination.(real time 3d rendering).
The application should work on kiosk ,smart phones and on web.(multiple platforms).
The following video clarify what i want to do exactly :
3D wayfinder
Now I want to know a start point to begin without reinventing the wheel,if there are some frameworks should i learn about first?
I'm a.net developer(asp.net) and i begin to learn CMS (Joomla),so it 'll be great to find APIs or frameworks near to this area to achieve my goal as soon as possible.

From requirements you specified, I would like to advice to look at Unity3D.
Unity3D will help to develop application which will work on almost all major platforms including kiosk, smart phones and on web.
You can develop using C# language which should be familiar to you.
There are number of projects which aims similar goal as rendering 3D map. There are "Google Maps for Unity" plugin and I can advise to look at Displaying Maps in Unity3D post.
Unity can be integrated to Joomla if necessary

Another option would be to build the front-end of the app using HTML5 and do the 3D using Three.js http://threejs.org/
Your back-end could serve up the map and navigation data to the front-end and you render everything in the browser or in your HTML5 smartphone app. If you need to update information in your visualization or load a new location dynamically, this can be done with a simple AJAX call and your callback would add the new info into your Three.js scene.

Forget about what others suggest you in regards to looking at 3D frameworks. Mapping and navigation is a complexity of it's own - 3D frameworks like unity will give you 3D. But they won't give you GIS. Depending on your requirements, you could check Micello for 2D mapping and Deep Map for mobile 3D mapping (http://www.deep-map.com/en). They also help you with creating the maps - which is something you should consider for beforementioned reasons.

You can use OpenCV library in C# for image processing and get help from HTML5 and AJAX .

Try X3DOM. Its a programming language that can be used in applications, web browsers, and much more. And the language is ALOT like HTML and JavaScript. In fact, you can use JavaScript and HTML to access the 3D space in X3DOM.
The website for this language is: x3dom.org

Related

How can I detect faces in images using WPF?

I am using WPF application for photo gallery and I would like to add face recognition to my app.
Any suggestions to do that?
WPF itself won't help yo at all: it's just a way of defining what happens in a Window. You would need to add code utilising a suitable Machine Learning library capable of detecting faces in photos.
I won't go into how the ML libraries need to be set up and trained, or how there might be one already suitably primed available (I don't know). That's a rather large subject and is nothing to do with any presentation layer technology.

Gesture-Controlling Javascript InfoVis Toolkit via C# (Kinect SDK)

I've been running around the web for a while now looking for a solution to this problem, but I'm quite disheartened by now to find something that will fit all of my requirements. So here goes.
I'm trying to build a desktop application that uses the Kinect for Windows sensor to control a visualization of digital library (as in, the place you go to for books) assets. I'm quite versed in using the official MS Kinect SDK and already have a neat utility framework for prototyping at hand, so I'd obviously love to make use of it. This plus the desktop app theme of things says the whole shebang will need to be in C#, which is fine by me.
On the other hand, the visualization part already exists and looks gorgeous, but it's JavaScript (and specifically, JIT i.e. javascript infovis toolkit). It has all the bells and whistles I need and it's neatly animated. Also, I'm a noob at JavaScript.
The point is, how do I avoid rewriting either one into the other's language while still allowing them to talk at runtime?
So, do you know any way to either
A) embed a JIT visualization (e.g. radial tree visualization) in a windows application in a way that allows me to manipulate the graph at runtime from a C# class (e.g. selecting a new node to be animated into focus) or
B) send C# events to JS to react to gesture input at runtime? Is this something ASP.NET can do?
I have a feeling the result will be a weird mix of desktop and web technology, but any pointers to the right sort of technology is greatly appreciated.
Maybe you should look at this projects about using Kinect with JavaScript:
http://research.microsoft.com/en-us/projects/kinectedbrowser/
http://kinesis.io/

C# XNA code on the web for a standard browser

Apparently, there is a way to add C# XNA projects to websites such that they can be viewed on the site from a normal web browser, presumably there are concessions to safety that the browser will enforce.
How is this done?
edit: I think the C# project might only ever runs on the server, the client being sent something it can understand.
There is http://jsil.org which will convert a compiled .Net application into a client side Javascript "app" ... and has been demonstrated to work rather successfully on XNA games.
It only handles 2D stuff and sound is / was needing to manually rewritten last time I checked but it does a pretty impressive job from what I've seen of it.
It should be noted that whilst this may get the job done, it's certainly not going to produce JS that is anywhere near the quality (i.e. maintainability) of a game that was written in JS from the start (using something like three.js or easle.js)... so if this for a commercial product, you may wish to explore rewriting / porting the game specifically for web as a serious alternative.
This isn't possible without a plugin. The plugin would work only on Windows, obviously, since XNA is built on DirectX.
There's no plugin that currently does this, to my knowledge.
It's not difficult to write a plugin, however, you'd have to do this for each browser you want the plugin to run in.
If you want your game content on the web, a better route is probably HTML5 and its Canvas functionality, which works on all modern browsers. You might be interested in this article, which discusses porting a 2D XNA game to HTML5 Canvas.
If you need 3D support, you could go the HTML5 WebGL route, although Internet Explorer doesn't support it.
Probably what you want is Google Native Client (NaCl). I haven't played with it (yet), but as far as I know, some game engines like Unity works on it.
Hope it helps.

API for 3D modeling in c#

I want to know what API can i used to create an 3D from sequence of images. my project is to calculate liver volume through CT images. At the moment i'm searching for an API which can generate the liver model via sequence of extracted liver regions. could u please suggest API asap? thanks in advance!
A common option for this is VTK. Kitware has a C# API for VTK called ActiViz.
It allows you to build the model from the images, as well as do volume or geometrical rendering of the features, subsetting, volume calculation, etc.
XNA game studio might be a good for you, its a game platform but you could create a very nice looking stand alone application with it, or you could host the XNA part within an existing Forms Application:
Its c#
Its Free and fully supported by microsoft
http://www.microsoft.com/download/en/details.aspx?id=23714
Its relatively easy to get started
It 3d Hardware accelerated
It supports a number of platforms (PC, Phone and Xbox)
You can integrated/host the 'game' inside an existing forms application
http://create.msdn.com/en-US/education/catalog/sample/winforms_series_1
There are lots of tutorials and samples available:
http://msdn.microsoft.com/en-us/library/bb203897(v=xnagamestudio.31).aspx
http://create.msdn.com/en-US/education/catalog/?contenttype=0&devarea=6&platform=0&sort=1

Good framework for a C# developer to use for visually stunning presentation layer

I am about to write a front end app, which will be used as a media center app. It will plug directly into a high definition TV. Essentially transforming my laptop into a media player. While this concept is not new, I want custom functionality, so this is why I am not reusing existing products.
I'm a C# developer, so the app should ideally be written in C#. And there is 1 other consideration, I need to accept input via the MCE Remote.
I was considering using Silverlight for this. Would you recommend this? Or any other recommendations for frameworks before I begin planning around this.
Thanks in advance.
This is the type of stuff that the Windows Presentation Foundation was meant for. You'll get a lot more access to the hardware than Silverlight would provide (I.E. that MCE remote you mentioned). You mark up your UI with vector graphics/XAML, and then perform the logic with C#.
EDIT: WPF also has support out of the box for animations which can make your UI a lot more interactive.
EDIT 2: Scott Hanselman has written a really cool application called BabySmash and posted the source online. It basically intercepts keyboard input and shows shapes and sounds on the computer. It's a good "child-proofing" method for your PC. The code could provide you with some insight into WPF and how to do the animations and interactivity that you're looking for.
Is this a desktop app? If so I would use WPF. Silverlight is a subset of WPF, so using WPF you could potentially do more.
Silverlight or WPF, if you want some extra power. Both have a similar programming model (with XAML and code-behind) so you might be able to start with Silverlight and move up to WPF if you need.
The VLC api might be useful for playing your media, someone has created a C# wrapper for it:
http://wiki.videolan.org/.Net_Interface_to_VLC
WPF is certainly the way to go, and for playing media check out the excellent WPF MediaKit: http://wpfmediakit.codeplex.com/ I've used it successfully in many projects.

Categories

Resources