Since I'm a bit stuck on my end doing demonstration animations and such, I found myself thinking about what I could do, feasibly and relatively easily. And I thought maybe I could come up with a short, several-minute animation about a single photon itself as our "main character", going through stacked spins and perhaps eventually reaching the electron or proton level. From there, we could show how it creates the electric and magnetic fields too. It could be scripted with on-screen dialogue explaining each shift or spin, perhaps, along with information and/or links to relevant papers or Nevyn's simulations.

We kinda started on something like this previously but I was thinking, "What if we followed the target photon implicitly, instead of just from a 3rd-person perspective?" So I think I'll start writing the script and making some initial screenshots here to get feedback, maintain (or achieve) accuracy, and perhaps push on through to finally making a decent animation worth showing to layfolk and newcomers to the Charge Field, which has been pretty much my goal the entire time here.

Our story so far:

Pt. 1 - the B-photon itself, linear motion and the A1 spinPt. 2 - collisions leading us through the X1-Z1 spinsPt. 3 - stacking further spins up to the electron, neutron, and proton levelsPt. 4 - electricityPt. 5 - magnetism

A conversation with Nevyn about keyframing led me to some thus-far unused by me features in Maya (my chief animation/physics software) called "Set Driven Key", in which I can devise a controller with any luck that we can feed the variables such as "-X3" or "+X3" to tell our Hero Photon which level it needs to move to next, or otherwise help control the tedium of keyframing every single change in motion the way I've been doing it. So I'm learning up on that technique and thinking about what comes next. I feel I've been idle again for way too long and am getting antsy to make a decent contribution 'round here.

I am not opposed to learning new Java, especially if I could contribute on that front, but I'd be playing a long game of catch-up and meanwhile still having to learn Python, MEL, and PyMEL to bitch-slap Maya into doing what I want. Yes, it's very expensive but we don't have to pay for that since my company already has the licenses. Unless I get fired and they take my computers away (which is impossible) Maya is not only a great tool to have for animation, it's the best one to have. I use it every day for my work-work, architectural visualization (arch/viz) so I mean it ain't going anywhere.

Regardless, you're right. The simulation is important. In this we hit multiple limitations on every front, though of course you guys have bashed many of those down already. But let's say we wanted to calculate and physically simulate every charge collision in a proton for one second - that's billions of calculations just to begin with. For the software to track and calculate one billion particles AND their stacked spins, let's say on average an infrared Z1 (I believe?) photon, invokes a new level of complexity that frankly I haven't seen before in any software. I want to be in on that. That's the plan. But it's a real struggle for me to get anywhere close to that level, I mean 200,000 water particles controlling a voxel shape which is then converted to a "blobby surface" mesh, with a separate particle foam agent based on vorticity, sure. But that's only 200K particles, with only rudimentary rotation involved and definitely no stacked spins.

So the reasons I'd like to just stick to scripted, theory-demonstrating videos are:A) to help us clarify and refine the theories through visualizationB) to demonstrate the ides to layfolk, make it easier to understand

Don't get me wrong! Along the way, we'll be simulating the full-meal-deal. I just don't know enough about the tools yet to make it work. Progress is slow, but I can refine and re-use the progress we've already made to do better demo videos. Even your input on the ghost-trails and vector-arrows previously was really helpful.

I like the idea. I imagine the camera sitting just over the BPhotons shoulder like a 3rd person game. We follow it as it speeds through space. Occasionally colliding with other photons, but not gaining a new spin. These are not the right collisions for a new spin to be stacked. Soon enough, we have a collision in just the right place to stack on another spin level. Then things speed up in a time-lapse sequence as it builds up to the electron level (cause that's a lot of spin stacking). Now you can show the charge intake and emission, at first quite slow as it shows each individual collision but then it speeds up to show a charged particle with charge photons shooting around at high speed.

You could move the camera around during the slow bits where you want to show detail of a collision. Then it slings back behind the particle as the animation speeds up again. Giving the camera a 'dragged along' type of feel. Man, you could go nuts with this type of thing.

I think the camera should follow the 'particle', not the 'BPhoton' (which you were probably already thinking of). We don't need to make people throw up by spinning them through 16 stacked spins. Although I am kind of interested to see that! This also allows the user to see the spins, as the camera is outside of their influence.

You should probably create a story board to get things straight (which you already have started). Keep adding details until you know what you need to build each scene. Pick an easy one and try to build it. I'm sure there will be plenty of difficult bits but most of it should come together once you have a couple of scenes under your belt.

A scene with a charge photon moving through an atom would be interesting. Complicated to model, but interesting. I had a look into converting my atomic models into a format that you could use to load into Maya, but it didn't work very well. ThreeJS offers a JSON format that I can't remember the name of. There is an Object exporter which I think is the Wavefront format (*.obj), but it seems to be a bit sparse at the moment. Maybe in a future version (which I haven't checked for in a while) they will provide more support for exporting 3D models. I thought you could create some cool animations if I could get you the models. At least it saves you having to build them from scratch and it is much easier for me to change a configuration for an atom and regenerate than it is to rebuild a model. Alas, it was not meant to be at this point in time.

I was thinking about the differences between our approaches recently and thought that there are definitely limitations that I face which are rather easy for you to handle and vice-versa. The glaring one at the moment is the distance between atoms in a bond. For simplicity, I have them butting up against each other. It is quite difficult for me to reach down into an atom and move a specific stack over and to determine how far they should overlap. But these are easy for you to solve, since you just place them where you want them. That's when I started to research exporting models for you. It's a real shame that didn't work out.

Actually the chief format I do use is the .obj format, going from my architectural modeling in Rhino to Maya. .fbx is the newer standard since it contains more data such as animation, cameras, paths, etc. but .obj is the de-facto modeling standard since Wavefront/Alias first developed Maya back in the 1990s.

The .obj format should work, if you can get JSON to spit out the vertices. The .obj contains vertex, face, edge, normal (which direction a "face" is facing, in or out), and UV (texture map space) information. So if the sparse support you mentioned contains vertices, I can work with it. That is all I would really need, though faces would be nice too (which automatically means edges, obviously). Normals and UVs are irrelevant in this case. We don't need to plot out a face texture and, say, a body and then a shirt texture in the same map - just one shader is fine, solid color or whatever.

So let me know if that is possible in your recollection? Vertices or a point cloud?

And yes, your description of the visual experience is pretty much dead-on! Following the particle, not the B-photon itself unless where applicable - the center of motion, so to speak. Your detailing is also helpful, that's the timeline we should shoot for.

I think it would give the viewer a "character" type reference, so they feel like and identify with the Particle as their friend or whatever. Everyone loves light, I mean if they don't they're obviously a bad-guy and should be taken out! But that would be an unspoken emotional connection, perhaps my own projection.

So following Our Guy through its journey into a proton, going inside a proton and emerging rather, would be a pretty lofty but attainable goal here. We don't need to simulate all those additional photons at that level with the same detail, we can probably just get away with standard particles like I've done in my other videos before. The larger-scale Helium and Hydrogen ones, for example.

Hey Jared, that sounds ambitious but cool. Ideally, we can keep drilling down from a human "eye perception" of a Maya scene into the objects and then deeper down into molecules/atoms/protons until we see the B-Photons swirling around. Like hey...there are just a few trillion of grains of sand in the ocean? Imagine the ocean pushing them all with B-Photons...now we are really talking big numbers (and not the USA's debt).

Cr6 wrote:Hey Jared, that sounds ambitious but cool. Ideally, we can keep drilling down from a human "eye perception" of a Maya scene into the objects and then deeper down into molecules/atoms/protons until we see the B-Photons swirling around.

That's kind of my hope as well, to be able to show them at multiple scales, going up and down the size spectrum.

Here's a quicky initial take on the intro, needs some work and retiming, and some sort of grid background in the distance to show the velocity better. Does the UV-grid on the photon help show the rotation at all once it starts, or is it just a distraction?

.I'd say, the red "longitude" is lost in among the black longitudes and latitudes; although when the particle starts spinning there doesn't seem to be enough resolution to determine the actual spin direction.

The curved arrow would be enough for me to determine the rotation of the particle, when you include an additional straight arrow axis revolving around the opposite side of the particle, it is clear the particle is spinning and moving up and away. .

Indeed, the texture mapping doesn't work well at this stage. Might not be necessary. I'll try it on a fade, with the red longtitudinal arrow brighter, and see how that looks. I'll post a still shortly.

I had some spare time to work on this a bit more today, and made it to the Y1 spin (which appears to be becoming a Z1 spin for cryin' out loud!) but I wanted to share my progress and get some feedback from you folks.

Is it pretty clear what's happening, without any dialogue or subtitles so far? Don't mind the gritty quality, this is just a quick Playblast test. But what do you think of the grids and the simple long/lat lines on the photons? Are those arrows helpful?

It seems like my ordering has changed though. Previously, I went A1, X1, Y1, Z1. Now it's looking like A1(Y), X1, Z1, Y1 makes more physical sense. Would this also negate any need or physical propensity towards an A2(Y) spin?

In my program, "Y" is up, and X/Z define the ground plane. In CAD software generally "Z" is up, with X/Y being the ground, but Maya's a little silly like that.

Yeah, for those blue-ish directional arrows, I'll probably just switch to one narrower one that cycles through, and that should eliminate the popping in that animation. I'm using my previous rig and "Set Driven Keys" this time so it's much faster to prototype. Basically, I just don't get stuck as much. Animation still isn't my forte so it's quite a struggle, and I'm finding that all my pals over at CGTalk are just laughing at me when I ask them about such "basic stuff", considering how much advanced rendering crap we've been over together there and my contribution to the huge Forests in Mental Ray thread. Those guys are jerks.

What are your thoughts on the progression? The next impact, the way I see it, should come from "behind" the camera (if you're looking at the last frame/position) along the x-vector, causing a Z1 spin. Or of course it could come from the other side of the photon TOWARDS the camera too, which might look cooler. But I'll rotate the camera for that one so it's more obvious what's happening.

And big quality updates coming, this is just a very rough draft. Not sure if I'll raytrace the son of a bitch when it's ready but that might be really cool too. I want it to feel refined, semi-professional, and not this basic look I've got right now.

Definitely. Some background photons whizzing by for sure, and perhaps a re-directional contact after I get through the first three spins. Or perhaps I can retime it easily so that a redirectional hit happens along the line, or even one in between every stack-hit, just to make it even more apparent?

It's also hard to determine if a black background is better than a white one. Black brings to mind space of course, which might be helpful, but it also brings in a lot more artifacts in the compression process which of course makes things look like shit. So maybe I'll try one of each and see what you guys think. Could even be stars or a cool nebula in the distance for effect, I don't know.

Yeah, I've been thinking about the background as well. A star field off in the distance would be good but you need the background to give a sense of motion as well. Maybe a star background but have some point-like particles zooming around in the foreground too. If you can get the two to match up, it could look good.

Thanks! Hope I'm making some kind of progress here. I'm in no rush but I wanna do something this summer besides stupid kitchens and bathrooms.

All the B-photons in this one are actually the same size. The new ambient ones are just emitted by that starfield, which is just a texture mapped onto the reversed-normal inside of a big sphere. I had it emitting 100 per second, with a 4 second lifespan random range of 2, which goes up to 16 towards the end (otherwise they all clump in the middle rapidly), so it's really easy stuff.

But like you said, what a layman sees is also important here. If they're too distracting I'll tone them down, make them fewer and perhaps transparent or something. Probably leave them off for awhile since it's an actual calculation and not keyframes, and it slows down the time-scrubbing.

Here's a pretty big update. Going from linear motion to A1, X1, Z1, then Y1. Please take a look and let me know if those motions look proper? I had to tweak my rig a bunch to switch from Y1-Z1 to Z1-Y1, so I may have messed something up in there.

.Hey Jared, just my quick impression, I think that last one's the best yet. I think the "smoke" source and trail work as well or better than the arrows, I just worry whether the photon has enough steam to make it through the animation. The "star field" works too. My only real criticism - when you pull back to observe the larger field motion of the y and z spins, the surrounding photons, their proximity, brightness and generally vertical motion seem to have increased in numbers, dominating the action and distracting from the spin stacking. With the collisions near done, please consider letting the surrounding photon numbers greatly diminish by - say - letting them dim and vanish at some distance..

Good advice, LTA. Thanks for chiming in, I thought this one might have become too boring for you!

Towards the end there perhaps I should focus the camera on the center of our stacked spins, and let it play for a few more seconds. It's at 40 seconds now, so maybe another 15 or 20 wouldn't hurt? The ambient charge field could fade out easily there, and the background perhaps become flat black.

Also I was thinking about turning on the Volume of Influence spheres in that last timespan, have them fade in so the viewer can see how the radius of effective collision has changed? I used those awhile back in this video:

.That’s beautiful Jared, ten spins eh? Not boring at all, it's hypnotic – like a spider laying thread. Nice trail. I also appreciate the extra time, I usually have to stop and operate your vimeos’ time sliders by hand to prevent them from ending, so I don’t have to keep requesting a replay, I don’t see a continuous loop option. The motion and progression in this stacked spin demo is very smooth. You’ve make it discreetly clear when each new spin is stacked and the corresponding overall volume is increased. Do the spins remain centered on the grid, or is the grid correctly scaled at the end? It doesn't appear so, perhaps a slow observation orbit could show that - or maybe you can go back to the tiny again? The point of the video seems to be in comparing the wide range in photon sizes between either no stacked spins or ten stacked spins. I suppose it could also benefit by some captioning or additional information.

As you kind of pointed out, in "Life of a Photon", the viewer sees no change in the photon size. All the arrows and trail just indicate motion. Briefly including volume of influence spheres - along with caption's why - is probably necessary. Sounds like good idea to me. .