News for hackers. Stuff that matters.
Re:Internal Combustion Engine by qwertox on Friday April 30, 2021 @06:23PM (#27000223)
One of those web pages which deserves an award. Some place in some kind of Internet Hall of Fame, an historical archive which shows the only best highlights of what websites were actually capable of presenting. Milestones of web development.

This page summarizes pretty good what web technology is capable of, when in the hands of a real professional.

---

Ok, I just realized this is from Bartosz Ciechanowski, and this reminded me of the Cameras and Lenses [1] article which I've seen recently. It was the same kind of quality.

This man is a real genius.

[1] https://ciechanow.ski/cameras-and-lenses/

Re:Internal Combustion Engine by umvi on Friday April 30, 2021 @10:17PM (#27002313)
I'm assuming he used something like SolidWorks to CAD up the parts, but then it looks like he custom made all the animation stepping widgets and camera rotation logic and various shaders for the different effects in pure JS[0]? Surely he didn't write this JS by hand (i.e. it was generated from blender3d or solidworks files or something?).

I would like an article on how he made the interactive animations in the article.

[0] https://ciechanow.ski/js/ice.js

Re:Internal Combustion Engine by gfaure on Friday April 30, 2021 @11:02PM (#27002602)
I think it can't be understated how important it is to able to rotate, and move the playback forwards and backwards.

It's almost like being able to hold the part in your hands, examine the reasoning behind its structure and "debug" your mental model of it by playing its operation back and forth.

Re:Internal Combustion Engine by ehnto on Saturday May 01, 2021 @12:28AM (#27003101)
Exactly, having control over the artifact is so empowering for learning and curiosity. A simple image or gif wouldn't be nearly as engaging.
Re:Internal Combustion Engine by CaptainBanger on Saturday May 01, 2021 @01:45AM (#27003547)
It really reminded me of the educational 'toys' that I used while I was attending Montessori school. You could go at your own speed and come to understand a concept by letting you play with all the constituent parts when you felt like it - or if you saw someone else doing it and joined in.
Re:Internal Combustion Engine by jiscariot on Saturday May 01, 2021 @09:47AM (#27006281)
One of the 'toys' I remember from my Montessori experience was these long bead chains. They had all different sizes, e.g. one would be a chain of 8 segments, each containing 8 beads on a rod between the joints. The '8' chain would be blue and have an associated blue cube of beads 8x8x8. I remember the '10' chain and cube was something really to be seen.

We also had really large blocks, because someone dropped one on my head.

Re:Internal Combustion Engine by madacol on Sunday May 02, 2021 @07:28AM (#27014262)
"I did the 3D models in @Shapr3D with small post processing in Blender, animations are just done by hand" https://twitter.com/BCiechanowski/status/1387827101294686210...

"Just bare webGL, it’s not that many lines of code to setup and it gives me complete control over what I want to render" https://twitter.com/BCiechanowski/status/1388504529646211076...

Re:Internal Combustion Engine by vishnugupta on Saturday May 01, 2021 @02:49AM (#27003915)
> Surely he didn't write this JS by hand

It seems parts of it are auto-generated like all those co-ordinates. But then some parts appear as if they are hand-coded.

I also noticed that other program texts are getting assigned to variables (example "line_vert_src"). Could someone please describe what's going on?

That explosion animation is absolutely mind-blowing. Goes to show what can be achieved if someone focuses their attention to a topic to understand it in depth and explain it at the same depth.

Re:Internal Combustion Engine by JW_00000 on Saturday May 01, 2021 @10:40AM (#27006702)
> I also noticed that other program texts are getting assigned to variables (example "line_vert_src"). Could someone please describe what's going on?

These are fragments of code in "OpenGL ES Shading Language", passed to WebGL. See for instance [0] for a tutorial.

[0] https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/T...

Re:Internal Combustion Engine by deepfriedrice on Sunday May 02, 2021 @03:13PM (#27018002)
I looked through the code. The model indices may have been generated, but literally everything else looks hand written (albeit probably lots of copy paste).

He doesn't even use any libraries for the 3d math, input, rendering, etc. Pretty inspiring.

Re:Internal Combustion Engine by pitspotter on Friday April 30, 2021 @06:59PM (#27000634)
https://ciechanow.ski/cameras-and-lenses/

> [...] We’ve barely scratched the surface of optics and camera lens

A real genius certainly, but, I'm always doing this; bad choice of metaphor here!

Re:Internal Combustion Engine by hutzlibu on Friday April 30, 2021 @07:15PM (#27000788)
"bad choice of metaphor here! "

Or a funny one.

Re:Internal Combustion Engine by pvg on Friday April 30, 2021 @09:01PM (#27001785)
I like the the interactive visualizations a lot and some of the setup (a camera picture is a thing that changes in certain ways as you fiddle with these 3 parameters, etc). But I always have a hard time telling who the actual audience for this stuff is. If it's someone who has very little exposure to how cameras actually operate, is a Bayer filter really the second thing they need to be aware of? I don't really follow the pedagogical narrative/intent here.
Re:Internal Combustion Engine by jonplackett on Friday April 30, 2021 @08:21PM (#27001462)
Love how it's written

> While reliable and easy to direct, a cannon ball won’t be very effective at pushing the crank

Re:Internal Combustion Engine by ehnto on Saturday May 01, 2021 @12:33AM (#27003137)
That was a fantastic metaphor, and though I am intimately familiar with engines I had never thought of the crankshaft as four simple hand cranks stuck together before.
Re:Internal Combustion Engine by rz2k on Saturday May 01, 2021 @01:19AM (#27003381)
I wonder if it was inspired by well known this classic video explaining differentials.

https://youtu.be/yYAw79386WI

Re:Internal Combustion Engine by jonplackett on Monday May 03, 2021 @05:06AM (#27022965)
Great video. I wish there were videos this clear to explain everything!
Re:Internal Combustion Engine by BlueTemplar on Friday April 30, 2021 @08:01PM (#27001272)
Yeah, and to think that some people are incredulous when I say that I need animation support in my electronic documents !

This is even better, I will bookmark it as an example.

Re:Internal Combustion Engine by exhaze on Saturday May 01, 2021 @12:59AM (#27003275)
Saw a startup recently building something like “PowerPoint for animated documents” - https://www.unscene.app/

Crazy that no one’s made this before

Re:Internal Combustion Engine by BlueTemplar on Saturday May 01, 2021 @03:16AM (#27004075)
Really cool, but : - For the love of God, why a web app ?!? - We pretty much already have what I'm asking for in the form of MHTML, I just need Firefox support !
Re:Internal Combustion Engine by circadian on Saturday May 01, 2021 @08:58AM (#27005935)
"This page summarizes pretty good what web technology is capable of, when in the hands of a real professional."

I was looking at this when I went to bed, and though the subject matter isn't completely new to me I was enthralled by the execution and stayed up and read all of it...

Absolutely LOVE the way this has been put together, it really speaks to me of beauty in simplicity, at least from the visual perspective!

Re:Internal Combustion Engine by ksec on Sunday May 02, 2021 @03:04AM (#27012955)
>One of those web pages which deserves an award.

Yes. This is what Web Pages should have been. Simple, Clear, with Animation to help with certain demonstration. He could have been add an ad at the bottom if it needs to be. A Web page with added on interactivity.

Instead we got Web Apps.

Re:Internal Combustion Engine by cblconfederate on Saturday May 01, 2021 @04:32PM (#27009563)
The award is the bookmark. This is a great reference for cleaniness.