惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

I
InfoQ
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
B
Blog
罗磊的独立博客
GbyAI
GbyAI
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Microsoft Security Blog
Microsoft Security Blog
宝玉的分享
宝玉的分享
The GitHub Blog
The GitHub Blog
人人都是产品经理
人人都是产品经理
博客园 - Franky
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
博客园 - 聂微东
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
Visual Studio Blog
MyScale Blog
MyScale Blog
Google DeepMind News
Google DeepMind News
G
Google Developers Blog
aimingoo的专栏
aimingoo的专栏

Codrops

Drawing With Light: An Exploration of Lit GPU Tubes with TSL and WebGPU | Codrops Building a Real-Time 3D Face Mask with MediaPipe, Threlte and Three.js | Codrops Building an Infinite Loom: Unravelling Images into Threads with Three.js | Codrops Beyond the Luminance Ramp: A Shape-Aware ASCII Renderer in Three.js | Codrops From Rays to Meshes: Building Vercel’s Prism with vgpu | Codrops More Three.js Speakers, More Ideas from Paris | Codrops Breaking the Frame: Building a Real-Time Datamosh Effect with Three.js | Codrops Volatile Nexus: Tinkering with Glass, Caustics, Cubes and Sound in Three.js | Codrops Goodgrowth: Boot Sequences, Spinning Discs, and the Art of the Portfolio | Codrops Building a Mouse-Following Square Lens Effect with Three.js and GLSL | Codrops Blender to Three.js and Back: 10 Tips for a Better Workflow | Codrops Sixty Frames for the Record: A Three.js Game, Seven Fly-Throughs, and a Wall of CRTs | Codrops Run Rob Run: Building a Music-Reactive Goo with Three.js and WebGPU | Codrops Relighting Images with Depth Maps and Three.js | Codrops Building an Animated Testimonial Hero Using the GSAP Timeline and Dynamic CMS Data | Codrops Creativity at Enterprise-Scale, Without Compromise: The OFF+BRAND. Story | Codrops Inside HAOQI.DESIGN: Letting DOM and WebGL Share a Retro-Futurist Stage | Codrops From Motion to Meaning: Denis Avramenko’s Approach to Interactive Design | Codrops Creating an Interactive 3D Cluster with Three.js, TSL and Three Start | Codrops Exploring Procedural Geometry with Three.js and WebGPU | Codrops From Brand Systems to Cultural Worlds: Inside Antinomy and 27b | Codrops Designing a Flexible Digital Archive for Chems.Studio’s Creative Practice | Codrops The Department Is Open: Building the PX PUSH Website | Codrops Garden Anomaly: A Tiny WebGPU and TSL Experiment | Codrops A Canvas for Individuality: Creating Websites That Feel Unmistakably Human with Readymag | Codrops Building an Endless Interactive Glass Xylophone with Three.js | Codrops The Story Is in the Interaction: Bonhomme’s Digital Experiences for Luxury Brands | Codrops Building an Infinite GSAP Scroll Gallery with Parallax and Flip Transitions | Codrops Studio Freight: Moving Missions Forward | Codrops Between Print and Digital: The Making of MERSI’s Website | Codrops
Bend, Aim, Fling: Turning the Eiffel Tower into a Catapul...
By Yuri Artiukh · 2026-09-01 · via Codrops

A playful Three.js experiment that turns the Eiffel Tower into a catapult, combining interactive physics with real-world 3D data from Cesium ion to launch yourself across Paris toward the Three.js conference.

Editor’s note: Another addition to our Three.js party marathon, celebrating the first Three.js conference coming to Paris this September 🎉 This time, Yuri has cooked up a very fun interactive demo where you can literally catapult yourself from the Eiffel Tower all the way to Maison de la Chimie, the iconic venue for the conference.

We’d also like to thank Cesium ion for supporting this experiment and helping us make it available throughout the conference celebration.

The Concept

The idea is simple: bend the Eiffel Tower, aim, and fling yourself across Paris.

The catapult is built as an interactive Three.js scene, with the tower acting as a springy, deformable launcher. Dragging it changes its shape and builds up energy for the launch; release sends the ball flying in the direction you’ve aimed. You can fling yourself pretty much anywhere across Paris — but the real challenge is getting your trajectory just right and landing at the conference venue. From there, the demo takes care of the trajectory, collisions and landing, with the whole thing wrapped up as a playful physics experiment.

But the Eiffel Tower and Maison de la Chimie aren’t just floating in a hand-built scene. The Paris around them comes from Cesium ion, which provides access to streamed 3D geospatial content and Google’s Photorealistic 3D Tiles. That gives the experiment a real-world geographic context while still letting Three.js handle the interactive experience, animation and physics on top.

So underneath the slightly ridiculous premise, there’s a nice mix of interactive deformation, physics, real-world 3D data and web-based rendering, all coming together to turn a trip across Paris into a rather unconventional way of getting to the conference.

🇫🇷 Ready to fling yourself to Paris? The very first Three.js conference is almost here! If you’re still deciding whether to make the trip, consider this your launch signal. Use code CODROPS for 15% off your ticket and launch yourself to the conference →

How it works

Physics

If you follow Three.js news closely, you’ve probably heard of an amazing library called Wiggle made by Xavier. The idea behind it is that we can add bones to any object. But not just to bake some boring animations. We can then apply spring physics to make it wiggle, wobble, and bounce in an interactive way. And oh my, how much fun is that! Just look at it and go ahead and try it yourself.

Now, of course, we can use this technique on any object, so I decided to try rigging the Eiffel Tower model. My first attempt, in my opinion, exceeded all my expectations, and I still think this is the one that should have gone into production. Just look at this cutie!

Jokes aside, you can see the number of bones and basically how it works here.

Paris

On the other hand, the organizer of the upcoming Three.js conference, David Ronai, recently posted a new repo featuring cinematic zoom, based on Garret Johnson’s 3D Tiles and the amazing CesiumJS. So I just couldn’t pass up this coincidence. Now the tower should bend in the real-world Paris!

It’s actually as easy as adding a 3D model. I just needed to collapse the original scanned version of the 3D tower, and voilà, we have a spring-based Eiffel Tower right in the real city. (By the way, we can still see the original tower collapsed on the ground.)

The rest is easy. I added a ball to the tip, added a physics engine, and now you can literally throw yourself into the conference location! Hope you’ll have fun doing that 😀

And I hope to see you in Paris! <3

Yuri Artiukh

Yuriy is a developer from Kyiv, Ukraine. Leading a small frontend agency riverco.de, also speaking at conferences, and open for freelance projects. Curious about CSS and shaders. Loves to learn every day.

Creative Spotlights

Inside the journeys and portfolios of today's most inspiring designers and developers.

Studio Stories

Discover how studios & agencies started, how they work, and what they've built.

Case Studies

Discover the ideas, design, and craft behind today’s most inspiring web experiences.