Should I use Blender for my project? Can it handle HUGE dimensions?

Hello all,
I’m trying to create a short animation to put at the end of a short pilot-type-thing to get myself a job in science televevision. It kind of wants to be very simple 3D, but it involves a MAJOR zoom-in…
If the smallest resolvable item is 1 unit in size, then the biggest will need to be about 1*10^18 (i.e. 1,000,000,000,000,000,000) units, possibly much bigger (ideally 10^62 !).

The actual object which I want to view should be quite straightforward to produce (it’s just straight lines, ellipses and numbers), but I’m wondering if Blender will have a co-ordinate system that’s up to it?

Secondly, will I be able add things mathematically (i.e I have Many objects and I want them to be ditributed in a mathematical fashion, again using a massive co-ordinate system - I don’t want to have to place everything manually)

I have had some success in writing a Perl script which will generate SVG and it can handle my dimensions appropriately, but I’m going to have trouble applying perspective to the numbers (and ellipses), and I thought Blender might be a better solution.

Some day I intend to get to grips with Blender and learn how to use it properly, but at this stage I just need a job, and that means I just want something quickly - I’d rather not spend several days playing with Blender only to find out that I can’t do what I want (without stitching together lots of different sequences)

I know all of this can be learnt by R-ingTFM and trying it, but I’m sure someone can give me a very quick answer off the top of their heads and save me a lot of potentially wasted time and effort.

Any thoughts greatly appreciated.

p.s. and a prize of one ship’s peanut to whoever can guess what I am trying to animate…:confused:

you would need to do different sequences/scenes - a ridiculous change in scale no 3D app will likely handle it.

LetterRip

I’m pretty sure you won’t be able to zoom that much in Blender.
In fact I’d think a ratio of 1,000,000 to 1 is already huge, let alone 10^18 or 10^ 62…

Guess: atoms, molecules, cells, animals, planets, stellar systems, galaxies ?

if your not able to zoom that much you can always fake it

Ah, yes the zoom will probably not work out and I’m also afraid that placing your objects mathematically isn’t that easy - you will need some python scripts for that and / or need to write your own. Blender does not really provide “exact” positioning / scaling methods.

But yeah, as people here say: you can always fake it but it might not be what you’re searching for.

If I recall correctly, blender has a 10,000 : 1 resolution. No, you won’t be able to model a skyscraper right down to the dust mites. There are programs and work stations that will do that, but they run $30,000/year just for a seat let alone the cost of the workstations.

level of detail. because you will need even if you fake the zoom to be able to change your geometry depending of the camera distance or zoom.

Thanks for the speedy replies folks - it seems as I suspected that Blender (and indeed anything else) will not be up to by specifically challenging requirements (though I think “ridiculous” is a bit strong…).
Also thanks for the note about mathematical positioning - a shame about that; for visual aids mathematical positioning would be really useful. I’ll maybe have to get to grips with Python at some point
I guess I’ll have to simulate my own $30,000/year workstation using Perl, SVG and AVIsynth…
Cheers,
Share and Enjoy
p.s.
1.410^32 ~= Planck Temperature (hottest conceivable temperature),
1.3
10^7 ~= Sun core temperature
1.010^-10 ~= Lowest temperature achieved
1.0
10^-30 ~= Lowest “meaningful” temperature
etc
.
.
.

No matter what you are going to have to skew things. You are trying to compare visualization to reality. They are two entirely distinct things.

Think about it. Can you feel a temperature of 10^-30? Once you get below -20F people have no concept of any difference in temperature. Our bodies can’t feel it and it is beyond most people’s experience.

Ever watch Star Trek? Neat how they fly past planets and the like. And totally unreal. It is all imagination. Pluto, for example, is between thirty and fifty times the distance from the sun as the earth. That kind of distance is unimaginable. It takes light between 4 and 6 hours just to get there. Simple, linear scaling simply doesn’t work: If you were to scale the solar system down to fit on the screen the inner planets would be too small to even register on any pixel’s color value. Even a planet like Jupiter would be smaller than a pixel.

When dealing with imagery, you have to present the illusion of scale. If, for example, you have ever seen a satellite image zoom in to someone’s newspaper from space, you know that it takes several minutes just to get through the atmosphere. What cinematographers do is zoom on an exponential time scale. A lot of true detail is lost.

You are going to have to generate several scenes and blend the resulting footage together: one very large, one smaller, etc., until you get to the smallest and most detailed. In actual computer (Blender) units, all the scenes will be much the same size. But the illusion of scaling down through each one in sequence will give the desired effect.

Also, your dimensions are “ridiculous” --you need special software just to handle such large numbers on a computer. If you are relying on IEEE floating point numbers in Perl, etc. you should know that you are getting an approximation that looks something like this:
+/- 1.<52 bits of precision> *10 ^ <11 bits of precision>
There is no way to scale such a number smoothly.

If you are determined to be exact, check out “bignum” packages. I’ve not used Perl much but I’m pretty sure it has a pretty good one.

However you resolve this, though, I wish you Good luck.

I’m trying to create a short animation to put at the end of a short pilot-type-thing to get myself a job in science televevision. It kind of wants to be very simple 3D, but it involves a MAJOR zoom-in…
If the smallest resolvable item is 1 unit in size, then the biggest will need to be about 1*10^18 (i.e. 1,000,000,000,000,000,000) units, possibly much bigger (ideally 10^62 !).

I can’t really picture what you plan to do. How do you plan to zoom that far in a “short” animation? Zooming itself takes time, and as far as I can see the only way to do that level of zooming in the amount of time that a human being is willing to sit through a science viz animation is to do it so fast that nobody’s going to notice a couple billion orders of magnitude here or there. Ask yourself how fast you want to zoom, and calculate how long it will take to zoom through those magnifications. My guess is that at any reasonable speed, your “zoom” is going to look like pure noise on the screen. Don’t forget you’re limited to 24-30 frames per second.

I think Duoas has it right. Visualization is about representing relations in ways that humans can comprehend. Using astronomical numbers is often necessary for actual computer modeling, but I can’t really imagine it could ever be necessary for visualization purposes.

Well thanks for the continued feedback guys.
I am amused to reflect that virtual reality folks are being far too literal… :slight_smile:
The whole point of this animation is to give an idea of what these numbers mean, precisely because it is beyond most people’s experience. Isn’t the whole point of CGI to go beyond most people’s experience? Just because something has a huge number attached does not in any way diminish its reality.
10000000000000000 is still just ten times bigger than
1000000000000000, which is still just ten times bigger than
100000000000000, etc.
I can still zoom down by a factor of, say, ten every second and I will have done my journey in about a minute (though in the finished sequence I will make stops along the way). I never said my “motion” was going to be linear, i.e. I can accelerate and decelerate as much as I like.
These are not ridiculous numbers, they are just numbers. I’m going from the realm of 10^32 to 10^-30 - Perl handles that quite comfortably, as does my brain (see above).
The problem is that the media is quite happy for us to think that some distances (etc.) are “unimaginable”, because it is more impressive to bowl people over with huge numbers. But is it really so hard to imagine that one distance is just fifty times greater than another?
And why should zooming quickly necessarily create a blur or noise? I could zoom from the distance where pluto looks like a single pixel to the distance where it fills the screen in a second and although I may be “travelling” faster than the speed of light, the screen will just show an object getting bigger quickly. I never said I wasn’t going to accelerate/decelerate…

Anyway, we had already established that Blender doesn’t allow precise mathematical positioning anyway…

Anyone want to see what I’ve done so far? :wink:

(p.s. and how would that be achieved if so?)

hi, I may be off track here, but the program Celestia,
http://www.shatters.net/celestia/
may be of some use.
the program deals with large distances, speed up/slow down time,
many features, comes with code for customization, may or may not be of help for massive distances & the illusion of creating/moving through them.
m.a.

Celestia.
Cool.
Big numbers, made real.
Very similar to what I’m trying to do, only with planets (and done much better than mine).

I don’t wish to be overtly rude, professornice, but frankly I think you don’t understand the underlying mathematical properties of computers.

They, like us, live in discrete dimensions. Blender handles exact positioning just fine. Perhaps you should study up on the mathematical concept of domain before you set out to do something computers aren’t designed to do.

Do you know how Perl handles those astronomical numbers? If you did, you would realize that there are huge, gaping holes between numbers that can be represented and numbers that can not.

Zooming is inherently a continuous transformation. Whether you do it linearly or exponentially or polymorphically doesn’t matter. What matters is that you posted asking to directly represent a continuous domain many orders of magnitude greater than any extant 3D software can handle. Further, for every order of magnitude you “zoom out” there is detail that simply cannot be perceived in your domain, nor do you have sufficient storage or time to model it.

Finally, just because you can understand the relationship between orders of magnitude does not mean you have any true concept of things outside your own operational domain.

Remember, computers approximate reality, but cannot directly represent it.

For what you want to do, we have given you the best answer that you will get --it is the easiest, simplest, and most representative way to do it. If you don’t like that then try posting your nonsense on some other forum where 3D professionals hang out and see if you get any better.

Good luck.

PS. At least M.A. was kind to you. I believe you can get Celestia’s code to see how it is done.

10000000000000000 is still just ten times bigger than
1000000000000000, which is still just ten times bigger than
100000000000000, etc.

Perl handles that quite comfortably, as does my brain (see above).
Interestingly, they both so in a similar way, namely by using a kind of compression. That is, by leaving out a lot of information, as Douas pointed out. It’s not ridiculous to say “X is 10 times Y”, however, I’m sure you’d agree that listing each of the digits in between would be ridiculous for a Blenderartists post. When we say “ridiculous” we don’t mean there’s anything inherently ridiculous or incomprehensible about the numbers themselves. Elephants aren’t ridiculous and neither are phone booths. But putting an elephant in a phone booth is ridiculous. What you seem to be confused by is the difference between putting an elephant in a computer and putting a jpeg of an elephant in the computer.

it is beyond most people’s experience.
Incomprehensibility isn’t a property of the number, it’s a property of the fact that we (not “most” of us) have no direct experience with magnitudes anywhere near this level, nor can we, by our nature. We can’t perceive things that small, we can’t survive journeys that long, we can’t see more than a small part of things that big up close. So our comprehension of those numbers is always abstract and compressed.

Abstraction and compression is great stuff. But if you want to create a project like this, that’s what you want to be thinking. How to visualize the main points you want to get across, not to scale smoothly between scales that differ by hundreds of digits. I assure you that Celestia is not an actual scale model of the universe. (Although it’s pretty darn cool looking, thanks MA!)

I may be “travelling” faster than the speed of light, the screen will just show an object getting bigger quickly. I never said I wasn’t going to accelerate/decelerate…
If you want to “travel” “faster than the speed of light” then that means you have to fudge the numbers, and since the distances you’re talking about can take many thousands of years for light to travel across, you’ll want to do some serious fudging. Nobody’s saying you can’t make a bunch of models of planets and fly around them as fast as you want. What we’re saying is you can’t make them to accurate scale, nor would you ever want to. Which means you have to find other ways than using the numbers you have in mind.

The problem is that the media is quite happy for us to think that some distances (etc.) are “unimaginable”, because it is more impressive to bowl people over with huge numbers.
It ain’t the media’s fault. These numbers are way, way bigger than the media.

To the people who gave me direct, clear, non-patronising and, crucially, short answers to my direct questions (namely how well can Blender handle very large co-ordinate systems, and whether there is any way to position large groups of object mathematically - Python scripts being a potential answer) - LetterRip, Gwenouille, BionicGordon, Myke, pixelmass, dagobert and Meta-Androcto - I give my thanks. With the information you gave me I was able to make my design choice and proceeded to model what I wanted using Perl to generate absolute screen co-ordinates for an SVG renderer, accurately showing the parts I wanted to show of a 30-order-of-magnitude zoom-in on a particular object, including labels visible at various points to show relative positions and values. It does exactly what I wanted it to do. I look forward to getting to use Blender for (literally) smaller projects in the future and I feel I can count on this forum as being a very useful information resource.

To anyone who seemed to feel that they a) knew immediately what I was trying to do, b) know to what extent I will tolerate loss of any detail, c) know the extent of my understanding of how computers deal with large numbers, I ask - why aren’t you using your telepathic powers for the benefit of mankind?

Duoas, for someone who did not intend to be overtly rude, you seemed to manage it with such consummate ease and skill that an independent observer might think that you do it professionally.

“you posted asking to directly represent a continuous domain many orders of magnitude greater than any extant 3D software”.
No. Read the original question. Look at the words in it. The question was to find out whether or not the co-ordinate system I required would be beyond the reach of existent software (specifically Blender). This question was answered very concisely and (mostly) kindly by the six people who replied before you did. The answer was no. Which I acknowledged with gratitude.

“… set out to do something computers aren’t designed to do” - like manipulating numbers? ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha.

The bigness of numbers depends on how you choose to measure them - if I asked you to consider 600000000000000000000000 atoms of Carbon it would indeed seem ridiculous, but to consider 12 Grams of Carbon is less so. And I might then choose to zoom in on this “pile” of Carbon atoms, while at the same time comparing the size of what was in my field of view with grains of sand, cells, nanomachines, buckyballs, an individual carbon atom (or representation of the size of one), whatever. Truly “understanding” the minute size of such things might be beyond mortal brains, but if we can understand the relationships between them then that is a start, and that is what I wanted to do. The purpose of my project, even though some didn’t ask but assumed they knew anyway, is to show how, by grouping ranges together, these huge numbers can be made more understandable.

However, if you still wish to maintain that what I wanted to achieve was impossible, I will be happy to delete the evidence to the contrary which is running nicely on my desktop right now.

I am very sorry that I have given a disproportionately small amount of attention to the people who helped by answering my question, and a disproportionately large amount of attention to anyone who made up their own question and then answered it for me but, as we all know, size is no indication of quality.

I certainly hope I didn’t come across as patronizing. Basically everybody on this thread said the same thing as far as I can see, namely you have to fake it.

Glad you found a way to fake it to your satisfaction.

was here any result that you could show us from this?

It wouldn’t work very well with Blender even using smaller zooms because it uses fixed tessellation values. This means if you zoomed in by a factor of 10 or so, you’d likely see blocky edges on smooth curves. Micropolygon and vector renderers don’t have that problem as they tessellate automatically for you.

Nonetheless, I wouldn’t have attempted to do the zoom continuously. I’ve done zooms like this before - the Earth zoom thing - and you really just need some compositing skills. You basically take snapshots at various zoom levels (generally 2-3x magnification apart so you don’t see noticeable quality loss).

Then you attach them all in a hierarchy with a single transform that allows you to zoom right down through the layers in say After Effects. One neat thing about doing it the compositing way is that you can motion blur the zoom very easily and the amount is easily controlled. That also hides some possible quality loss. Bear in mind, this zoom will likely be pretty quick so people won’t notice that much quality loss. If you render at a high enough resolution then there should be very little quality loss at all.

It might seem like a cheap way to do it but it’s much easier and more flexible as you don’t even have to render every frame and you can decide exactly what you want to see at each zoom level.

If the SVG method works that’s great but vector images severely limit what you can render. I would model the shapes you want side by side and these objects will be the zoomed in elements. You don’t render them on top of each other as that is done in the compositing. Then just make sure that your scales are calculated correctly to the zoom levels - note this does not limit your zoom speed either as this is also controlled in compositing. Then you can setup as many cameras as you want so you don’t have to keep moving one camera around and then batch render the cameras and setup the layers in whichever compositing package you prefer. After Effects is quite a good one for this.