Using Excel As a 3D Graphics Engine
simoniker writes "Obviously whimsical but slightly mind-blowing — an Eastern European coder has published video and the Excel tables to get full 3D wireframe running in Microsoft Excel. He even has solid polygonal graphics running. This isn't an Easter Egg by the Excel creators. Rather, he's using formulas to output the graphics, using two different methods, and showing all the variables on-screen in real time as the 3D is created."
...why?
The secret to creativity is knowing how to hide your sources. - Albert Einstein
The one time I want to read the article and the site is already woozy. I expect it to be down for the count in 3 - 2 - ...
I can't help but think that anyone smart enough to do something like that shouldn't.
not that it isn't interesting, but that has been done since the first insomniac games (among others). for developers, though, it will be useful in constructing programs.
If people can get past, can they get future? Best way to confuse a stoner
The DNF team has been waiting for the excel rounding errors to be fixed before release.
When the article said "0 comments" the site was already slashdotted. I'm impressed.
I can't even get it to add up two cells into a third right half of the time, and this guy is doing stuff right out of Tron...
Karma Whoring for Fun and Profit.
Because there was surely no productive results out of this. If he had used some open source (sorry) spreadsheet program at least he may have found and filed some bugs.
"Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
...a sign of some impending apocalypse?
Apparently he's using Excel as his web server too...
So that's it, Excel is actually a 3d programming environment. The Excel 97 flight simulator then was a demo. http://www.eeggs.com/items/718.html
Back when I took graphics in college, it was made abundantly clear that all modern graphics are just large math problems solved in realtime. We did all sorts of work messing with transformation matrices and doing the math (sadly, since this was done by the CS department we did a lot less of the useful stuff and a lot more of the theoretical underpinnings that you don't technically need to know when actually programming something).
Anyway, the point is that Excel is reasonably well set up for doing the kind of math you need to do when making computer graphics and has vector output capabilities. It's a neat trick and something that would likely be useful in teaching the underpinnings (watching what happens as you tweak variables in a transformation matrix in realtime would have been very nice when I was taking my class).
I read the internet for the articles.
the firehose that knowledgeable people offer up whether Star Office or OpenOffice.org can do similar feats. I realize that eventually SOMEone will figure out how to do it, but since this is not a time-critical article (no expiration date) it would be nice if Slash's submission engine had a "references/external interesting and relevant" sites/alternative products" field/array to encourage submitters to balance things out -- if references and alternatives are indeed available. Otherwise, we might not as quickly inform others that OO.o and SO can or cannot do these things. Just my opinion.
Programming Languages for 3d simulation and games - Martin Baker
http://www.euclideanspace.com/software/language/
xkcd View topic - Dinosaur PC fun
http://forums.xkcd.com/viewtopic.php?f=36&t=11550&start=40
I mean, REALLY, (to be honest about my position) why bolster Excel any more than necessary when Open Source and Linux/FreeBSD/*nix platforms are slowed mainly *because* ms office is so dominant? Any and every chance to level the playing field should be seized, exploited, and disseminated.
Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
I've long forgotten how I did it, but I used the database application in MS-Works for Windows 3.0 as Turing Machine.
Why? If you have to ask, get off Slashdot.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
I'm sure someone has either already done this in emacs, or soon will.
:-P
Those guys have a mode for everything.
Cheers
Lost at C:>. Found at C.
http://www.youtube.com/watch?v=RV6uiZj0FHM
and
http://www.youtube.com/user/GamasutraOfficial
1. You have to do math to do 3D graphics
2. You can do math in Excel
3. Excel makes it possible to see your math as it happens
4. Excel can help prototype some ideas for 3D graphics engines
I knocked up a quick and dirty render pipline simulation across a few worksheets, first sheet containing the model vertices in local coordinates and the final worksheet with screen coordinates - all perspective transformed and corrected for viewer position and screen curvature. When you graphed it, you saw something close to what you'd see on screen.
Of course, this ran on an ancient mac machine so it used to take a while to generate the image. Certainly not fast enough to be useful to anyone other than me. It impressed my college tutor though. For nostalgia's sake, I wish we hadn't slashdotted this so easy.
Definitely the Hack of the Day, if not the week!
"It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
I won't be impressed until Excel can pull of something as simple as a flight simulator.
He should have worked on using excel as a high-performance web server. Then gamasutra.com might not be smoldering rubble right now...
Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
Nice, but could it display a 2D rectangle whose dimensions are 850 & 77.1?
might be to show the suit in charge of your budget a 3D representation of what you are planning. If you teach them how to use it, they will learn how to deal with 3D objects and maybe even make 3D models to explain what they're saying instead of using wors like squiggly for tilde and 4-sided solid artifact (for a cube - I misinterpreted this as a tetrahedron).
Non technical people tend to implicitly trust Excel almost as much as they trust Buffet's stock tips and maybe this will allow us to leverage that in our quest for dominance...
Cheers!
--
Vig
Atheist: Buddhist in a Prius
Hopefully, no formula outputs that value. Who knows what 3d image you'd get?!
trying to run your website from excel is another.
Wow, sensitive much? (I speak as an avid OpenOffice user who refers new people to it on a regular basis.) The fact is, this project was done in Excel and will run in Excel. Do you think that the post about this project should be "Using [A Spreadsheet Program] As A 3D Graphics Engine"? The links you post do not refer to similar projects created in OpenOffice or StarOffice, as far as I can see. Your point about the dominance of MS Office is aging - with OOo able to open just about every Office file type (with the exception of 2007, which most people have been trained not to use) the cost of switching is much lower than it once was. Microsoft has recognized that its grip on the lucrative office software market has become more slippery lately, which is why Office 2007 is the first genuinely innovative release they've had in years (once again, with the exception of the idiotic file format). I am not interested in leveling the playing field, I am interested in having quality software available to us at a reasonable price, or in other words I am interested in having a competitive market. As long as Microsoft, OOo, Google, et. al. are all fighting for their chunk of the market by producing new innovations, I'm happy.
Strange how much human accomplishment and progress comes from contemplation of the irrelevant. - Scott Kim.
Can we get a "-1 Wrong" moderation option?
While the platform is somewhat unorthodox, I've seen 3d graphics engines use similar techniques for awhile. A decade ago I saw a demo for an ASCII FPS in QBASIC that completely relied on characters to interpret depth and perspective for the viewer, which is essentially what this does but to a simplified degree. I'm sure there was a lot of creativity involved in creating the "screen" though, so in that respect I am amused but not impressed.
Do you really think that mentioning whether or not you can use other spreadsheet apps to render 3D graphics is going to "level the playing field?" I somehow doubt that businesses around the world are going to make the switch from MS Office to OpenOffice because they now know that OpenOffice can render 3D graphics just as well as Excel can. OSS advocacy has its place but this is not it. This is just someone using an Office product to make something unorthodox and fun happen.
I love the 'Revolutionary' 3d graphics engine title of the article.
members are seeing something, your seeing an ad
Is this a bug or a feature? Are there any security concerns in doing something like this.
Its nice to be important but its more important to be nice
...would have found a way to offload the excel calculations onto a GPU.
Would someone please quickly do this in Calc, so we can compare performance!
My beliefs do not require that you agree with them.
Anyone tried this in Gnumeric or Open Office or other Excel competitors.
This was possible on a 7 MHz 68000 back in the day of the original mac. At 3 GHz he should be able to raytrace in Excel.
This is the breakthrough we were waiting for. Duke Nukem Forever is right around the corner now!
I might be missing the joke and taking this way to seriously, but I really cannot stand that attitude. I guess it's easy to push my buttons.
In wich deranged moral system is there some sort of duty that forces smart guys to spend all their available time on things useful for society?
(And who decides what is beneficial for society anyway?)
If his hoby was playing chess or collecting stamps or climbing mountains, would you say that he should spend his time on more useful things? If he could afford to spend a lot of time on those hobbies, why shouldn't he?
So why is it that every time someone does something cool and strange and for all purposes harmless, someone else always has to say "THIS GUY HAS WAY TOO MUCH FREE TIME"? Someone who, I might add, spends his time on slashdot?
Envy?
(I know I am envious, I wish I had the time and the determination to do a lot of these things. Considering that I am wasting time on slasdot, determination is what I am lacking more of)
Here's a flight simulator in Excel! Sort of. ;)
This is something that spreadsheets are _absolutely_ not designed for. This story is just an interesting thing that can be achieved if the software is used weirdly. If anything, it could be an example of bloat. Anyone who decides to go out and buy a spreadsheet solution with full 3D wireframe integration needs to be shot. Seriously, quit the defensiveness.
ps. All my points are void if they can get elite running on excel.
...but can it run Linux?
* Runs away *
/* No Comment */
I'm still using pencil and paper workbooks you insensitive clod!
Here's the demos they show in the youtube videos.
Press ALT+F8 to run and press ESC to stop. They work in Office 2007 in addition to whatever they had in the youtube videos (2k3 I assume).
Demonstrations
ayottesoftware.com
anyone remember this?
http://games.slashdot.org/article.pl?sid=03/10/29/165214
http://www.geocities.jp/nchikada/pac/
and this game is one you could play at work. Of course, when playing games at work, you need a panic button just so if the boss comes by it will quickly replace Excel with a World of Warcraft screenshot. Um.....
Well? Can it?
This is a neat proof of concept, but to really see this sort of "hack" fleshed out, take a look at N. Chikada's PacMan and Space Invaders Excel files. Graphics are run using cell colours, but it also does neat things like storing the system memory in a worksheet array.
I use it as an example of "just because you can do almost anything in Excel, doesn't mean you should"...
When you have nothing left to burn you must set yourself on fire
Notwithstanding the educational possibilities of manipulating graphical algorithms and transforms in real time with the spreadsheet - the rest of the article is a joke about Excel being on the cutting edge of software development paradigms!
This has to have been accidentally published in the wrong month. It's clearly intended for April. What kind of Fools are running that magazine?
No, i don't expect that this *alone* would level the playing field, but it would be yet one more "feature" to help lessen the grip of office on the market.
See, sometimes people get stress or decay or other data in spreadsheets. Maybe they can't *yet* or don't want to use MathCAD or other high-end (read "expensive") tools for initial estimations of structures. But, if they could do ad-hoc analysis (nothing formal, just ad-hoc) and be able to export it to CAD packages, it could possibly add another dynamic to client-side apps such as the various competing CAD packages and the few spreadsheet apps.
As an aside about how spreadsheet features enhancements might help those wanting to escape ms office.
But, i happen to use CAD and have to deal with various things, one among them (which i am not really skilled at) being counting and inventorying symbols on a drawing. I'd prefer to use an external database, not leave it totally up to the CAD software. Sure, the CAD SW can to a LOT, but when it comes to off-line analysis of symbols that are not only COUNTED but also have to be allocated to specific places in a drawing (not just x,y,z, but maybe along arbitrary places which need special identifiers not set up in the CAD facility...)
However, we all know that since AutoCAD is the dominant CAD package, and they as yet have no interest in helping people wean off of windows if that is a local interest, then people will have to consider:
http://www.cad-schroer.com/
or http://www.varicad.com/
or others that are known to be *nux-friendly.
But, back to 3D engines. i'm not advocating adding 3-D *gaming* to spreadsheets. Rather, i'm looking to see if there is feasibility in generating 3-D shapes based on cell data. For instance, let's say you're analyzing corrosion of a building, a ship, a car, an underground utility, whatever... You collect dimensions, mass, environmental and other information. Your spreadsheet has it in numbers, but you want to show your boss the visual impact of the data. Your current spreadsheet choices are to possibly use Excel, and use conditional formatting, but you only get cell data -- unless you figure out the aforementioned 3D engine. If that tool takes off for ad-hoc analysis and helps people avoid expensive or overkill high-end math packages, then great. But, even tho OO.o and SO are growing daily, at SOME point, there will be a need for this. Maybe if I dig around in www.linux.org in spreadsheets or other folders something *might* be present...
Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
a 65K code bug in them.
Tsukasa: All I really want, is to be left alone...
They will say it's of office and vista but likely people will use them to slack off and play games.
Finally the boss button comes full circle!
...i use vb code to dynamically generate formulas in spreadsheets w/ a z projection, so the regular excel charts look 3d, so i can update the '3d' view of dynamically!
not only am i using the 'new paradigm' he suggests (and have been doing so for and i thought i was just being a lazy hack!
The answers are the same.
--
make install -not war
I would argue that doing "3D graphics" with a pencil and paper just replaces one kind of computer with another. I would call what the human brain does when drawing such figures a kind of computation. That the practitioner (the person doing the drawing) isn't seeing what she's doing as computation or "math" is irrelevant. Some information is transformed in such a way that it results in a 2D drawing that appears three-dimensional, and what internal symbols or neural potentials are involved in that transformation process (or information representation for that matter) are quite irrelevant to the end result.
geek
0
FGD 135
Impressive.... Most Impressive
Life is pain. Anyone who says differently is selling something.
Then you're insane. It's based on the Darwin kernel, which itself was based of BSD. Its not Linux.
I wouldn't say mind-blowing, because it's not much of a 3D engine. You could not realistically develop a (non-sucky) game in plain old Excel, not unless you could somehow link to DirectX for some real graphics horsepower. This is just using the charting system with dynamic data, which has already been done and is really just a little VBA script sweeping a few cell values.
The first part where they use table cells as pixels, that is very much like the ghetto JS + HTML games that toggle colors on an HTML table. It would have to be one of the most roundabout ways to get graphics on a computer screen, but we're not exactly talking Crysis here.
-Billco, Fnarg.com
All those hard workers are content to just do it the long way.
But hey, what ever gets you off, right?
http://en.wikipedia.org/wiki/65535_(number)
Open source, closed mind.
I strongly disagree. Just because he chooses to use one tool, which conveniently happens to be made by the folks that the Slashdot hive mind loves to hate, it seems to bring out the "Tool Nazis" out of the closet. Instead of suggesting that this fellow drop what he's doing and join our side, perhaps we should open our minds and give it a fair look.
To the point of Python, if it's so easy, show us some code. Put up or shut up, it's the open source way.
The article is written tongue-in-cheek, but it raises a good point about sequential programming. When a processor has 80 cores, multi-threaded programming is going to be a nightmare. In contrast, the algorithms in the article can be scheduled optimally, given enough cores. And you, the programmer, get that for free. I wouldn't be surprised if spreadsheets became the preferred way to implement concurrent algorithms.
This excel hack uses things in excel that shouldn't exist in a spreadsheet program, thus don't exist in others. It's kind of like someone using "M-X dunnet" to play a text-based game in emacs (even though the full functionality is already there). To ask if vi can do the same would garner different responses (with the same answer) from different sides of the vi/emacs divide.
what I really find interesting, is the claim, that sourcecode may be n-dimensional in the future. Actually, this is the most important aspect of the whole 3d excel show, and should have been mentioned in the article abstract, because it's a thought on programming itself.
While I don't really know if I would agree on this "breakthrough of programming style", it is interesting to read it on pages 4 and 5 of the article.
I wished some comments would have commented on that.
I myself find code to be standing on different positions on the screen not very unusual, since it will be executed "one after the other" anyway, and is common in GUI/java development to have more than one window open. But if the code is not just "displayed" next to each other, and it has some new sense to arrange it like excel does, it might be interesting in the future (especially now on the edge of leaping into mainstream multiprocessor development)
"Eastern Europe" is not some nebulous region with fuzzy borders on a map, with "Here there be coders" written in illuminated calligraphy in the very middle of a vast, blank area.
This guy's email address is in Hungary which means he's probably Hungarian. That's a country directly between Austria and Bulgaria, south of Poland and north of Greece (indirectly) which, depending on where you draw the Eastern boundary of Europe, may or may not be in "Eastern" Europe. It lies almost precisely between the western border of France and the Eastern border of Ukraine, the northern border of Poland and the southern border of Greece (excluding Cyprus), making this guy more of a Central European.
French coders are French, German coders are German. What makes a Hungarian coder "Eastern European"?
-- What you do today will cost you a day of your life.
Seems like most of the people who are saying this was completely useless didn't actually read the article. As such, they missed some of the best bits, such as the claim that Excel supports a "255x65535 screen resolution which results the uniquely high 16.7 megapixel resolution not found in other 3D engines."
You keep using that word. I do not think it means what you think it means.
When someone says, "Any fool can see
3D graphics in Excel: http://vangelder.orcon.net.nz/excel/convex3d.html
Fractal Generated Landscpare Excel: http://vangelder.orcon.net.nz/excel/terrain.html
Wasn't that Dev Hunter game in excel 2000 rendered in excel?
... sorry I forgot I have another 3.5 weeks to go on that NDA.
Gosh I just realised it's almost that time of the year when things like this are, um, revealed.
I heard a rumor that Google Spreadsheet has a
doesn't anyone remember the old Excel easter egg with the flight simulator in it?
http://www.eeggs.com/
meh, wake me when he has anti-aliasing working.
Oh, you are so a beginner. I made a Second Life 3D raytraycing client in Excel yesterday while I was dinning. And I didn't run to post it in my blog.
So has anyone tried this in OpenOffice?
"Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
... excel spreadsheet desktop!
Prov 9:8 Do not rebuke mockers or they will hate you; rebuke the wise and they will love you.
I'll be using it to design my dome house, as i want to be able to calculate and visualize solar heat/gain across the year with different layouts, different materials and different quantities of materials.
I'm also going to use it for recipes. :)
I'm hoping to have the design nailed down shortly so that i can release it. It's designed on openess, and co-operation.
I find that certain people are good at certain types of coding, levels of architecture if you will. The system is designed so that people can contribute code at whatever level they're at. So people could code data acquisition units (web scrapers, media crawlers, etc...), display code (3d visualization, bar graphs, scatter plots, conceptual), or manipulation units (math formulas, 3d transforms, database operations) etc...
Some people are just good at rearranging and using programs that have already been written, they'd be free to do that as well.
So the design has to be simple, like a fractal, the complexity will arise in the iterations. As anyone knows, simple elegant code isn't so simple to write. :)
I hope to have the design down soon, within the next month. So i can start developing it inside of itself. Once i get it to the point of independence, and it has all the tools it needs for growth, i'll release it. So others can help it learn. In essence, it is based on humans, and is designed to be able to deal with all the data that humans deal with. So everyone can program their viewpoint into it, and their collection of data(everybody collects, it's what god told us to do[don't shoot the messenger, i'm just repeating what's in the bible and what everybody does]). So you can visualize data in any way that some one can conceive. Unfortunately, it does sound a bit Skynet-ish.
I might like to play around at higher levels with simulating the how visual system interprets reality, but i'd rather some geeky cognitive person write the feature detectors and filters (gaussian etc...) instead of me :)
Long story short. If you've got access to the data and know some python you can visualize it anyway you want. If you don't know any python, well, then it depends on how much the system has already grown. Might be as simple as touch->create new view->select data->select visualization.
3-D wireframe graphics (with animation - in fact a rotating cube if I recall) was an assignment in the Computer Graphics course I had to take in college. I'm not sure why this is being highlighted now.
Aperture Science: We do what we must, because we can.
For the good of all of us, except the ones who are dead.
I see your informative link, and raise you a pithy comment.
on openoffice.org?
What's the Excel formula for getting laid?
Gainful employment, a shower, a suit and a tie.
#REF!
Shop as usual. And avoid panic buying.
Like just about any seemingly pointless, challenging act, there those who just have to ask "Why?" I also like to ask "why?" but not in the accusatory way that those who don't grok geek. There are at least two ways to ask why in a case like this: 1) "Why??" translation: "why the hell would you do something so pointless/hard/surreal/etc" example: You see man wearing a clown suit, divers mask and flippers and carrying a live lamb under his arms riding the bus. You ask yourself (with a baffled expression) "Why??" 2) "Why?" translation: Why that thing/that way instead of this thing/this way? example: Talking to your father-in-law about his train set and he tells you that of course he chose to model a 1920's era Mexican narrow gauge line. You understand the allure of model railroading, but simply don't see the fascination with his chosen subject. The first version is driven by a need to understand the unknown so one can sort it into comfortable categories. The second reason is driven by a desire to learn. I would like to ask "Why?" (2nd sense) Did he hope to learn by the experience, maybe show off some impressive Excel skills or, as one poster suggested, serve as a commentary on current graphical programing techniques?
I need a wheelchair van for my son. Help me get the word out. https://www.gofundme.com/wheelchair-van-for-jj
Let's just skip spreadsheets and go where we all want to go: nodes.
One of these days the programmers of the world will discover what we artists found a long time ago. The only thing better than a bunch of columns on a spreadsheet for presenting ridiculous amounts of data is a tree of nodes.
I wish all programming and scripting languages were node based.
Not when this has been around for years...
"A great democracy must be progressive or it will soon cease to be a great democracy." --Theodore Roosevelt
Excellence by Ananasmurska, an Excel-based demoscene production from a couple of years ago: http://www.youtube.com/watch?v=4xKllypfn20
... and let's use the borg OS as a serious operating system... AHAHAHAHAHAHAH!
A while ago I was very bored and coded a tetris clone in Excel.
The timer I used is too slow but it works... http://www.knitter.ch/src/snipplets/excel-tetris/
Cheers, Andy
(mod parent up)
Was the big band when The Great Tuba created the universe?
Yahtzee!
Yes, I made a yahtzee game in excel. The reason I did this is that I sat at a desk on a graveyard shift stairing at a gate doing security waiting for someone to show up. I got bored to say the least. I wasn't allowed to play games on the computer, but I was allowed to do work on the office program. My solution? Write a game in excel to play and have a tab that was real data related to a project that I was working on. If someone walked up, I just switched tabs and I was working on a spreadsheet. On camera it just apeared as if I was useing excel (the camera on me wasn't as high res as the one's outside the perimeter). Hours of gameing fun, I evan ended up makeing a high score for the game. Nothin as high tech as this guy, but I was starting to work on other games when I ended up moveing to a better job.
Memory is deceptive because it is colored by today's events. - Albert Einstein
d) Lots of geeks earn good money.
IANAL but write like a drunk one.
Eastern Europe is considered to be all the European countries that belonged to the Soviet block in the past. Hungary was part of them. And before you continue the pedantry, Europe is traditionally considered to end in the Caucasus, which would include the Westernmost part of Russia.
It is a very useful reference to differentiate between countries that were liberal democracies and the ones that weren't during the cold war.
This reference will become less meaningful in the future, but right now for anybody over 30 years of age it should still make sense.
IANAL but write like a drunk one.