12-05-2013 11:48 AM
Hi,
I am a first year undergraduate studying Physics, programming is apart of my first year module. I have been set a project to create anything using any program I chose, LabVIEW being one. I was wondering if anyone has ever thought or made a VI of Game of Life and how it went, I have made one and it works pretty well, the next step in the difficulty for me would be to make it 3D, if anyone has done anything like this, I would be very intrigued to talk about it. This is my first post here, but thanks for any feedback:)
12-05-2013 11:59 AM
The game of life rules don't apply to 3D, so you will either need to devise your own rules, use someone else, or apply the 2D rules to n^3 planes in your 3D space. If you already have the basic rule set working for 2D, you just need to do some itterative processing to implement a 3D solution using your 2D code.
Let us assume you are using a 10x10x10 cube. There are 30 distinct planes (2D worlds) in this "universe". Each inhabitant of this universe inhabits 3 planes of existance. Simply evaluate each of the 30 planes, and store the results in a temporary universe, so as not to disturb anything prematurely. Once you have processed all of the planes, you can then replace the real universe inhabitant positions with those of the temporary.
12-05-2013 12:17 PM
There are many examples of the game of life implemented in LabVIEW. Just do a search for "game of life" on ni.com. Here is a good one:
https://decibel.ni.com/content/docs/DOC-19902
Chris M
12-05-2013 12:46 PM - edited 12-05-2013 12:46 PM
@MoviJOHN wrote:
The game of life rules don't apply to 3D, so you will either need to devise your own rules, use someone else, or apply the 2D rules to n^3 planes in your 3D space. If you already have the basic rule set working for 2D, you just need to do some itterative processing to implement a 3D solution using your 2D code.
Let us assume you are using a 10x10x10 cube. There are 30 distinct planes (2D worlds) in this "universe". Each inhabitant of this universe inhabits 3 planes of existance. Simply evaluate each of the 30 planes, and store the results in a temporary universe, so as not to disturb anything prematurely. Once you have processed all of the planes, you can then replace the real universe inhabitant positions with those of the temporary.
Yeah I was thinking along those lines. But I am not sure if it would be possible to display in LabVIEW, I haven't programmed in LabVIEW for long, but I understand the basics, do you think the pre-set 3D graphs would work, or would I have to use another method?
12-05-2013 01:02 PM
Lots of cool 3D things can be done in LabVIEW. Check out some of the examples shipped with LabVIEW by going to Help >> Example Finder and searching 3D.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
12-05-2013 01:08 PM
The 3D Picture Control VIs make all kinds of things possible.
12-05-2013 03:31 PM - edited 12-05-2013 03:32 PM
@MoviJOHN wrote:
The 3D Picture Control VIs make all kinds of things possible.
Aah ok, thanks. I will look into it and hopefully get it working the way i want, if not i know who to look and where:)
12-05-2013 03:33 PM
@Hooovahh wrote:
Lots of cool 3D things can be done in LabVIEW. Check out some of the examples shipped with LabVIEW by going to Help >> Example Finder and searching 3D.
Never thought of that, I will do, thanks
12-05-2013 03:37 PM
Yeah, 3D picture control is defo way to go. You will probably need to make your cells (cubes?) semi-transparent so you can see what's going on.
Check out the 'solar system' example that ships with LabVIEW for an example of some running 3D code.
12-05-2013 03:39 PM
@ToeCutter wrote:
Yeah, 3D picture control is defo way to go. You will probably need to make your cells (cubes?) semi-transparent so you can see what's going on.
Check out the 'solar system' example that ships with LabVIEW for an example of some running 3D code.
A Solar System example? I wouldn't mind programming something like that too.. where you I go about finding that?