I'm interested in software & 3D graphics. Here you'll find a collection of different kinds of 3D models I made.
There are some simple, static shapes demonstrating materials, light effects, etc.
And more complex objects, with programmed, dynamic animation, such as the Rubik's Cube & Planet Earth.
My favorites though are the molecules, which I present in a somewhat unconventional way.
My name is William, I hope you like my website & have a fun time exploring it!
P.S. Please share the link (WHS3D.com)!
This website is based on Viewr3D, a browser-based app I created using three.js. It's designed to present animated & dynamic 3D models written in javascript.
What you see in the background (behind this text) is a 3D model, together with a menu (top-right corner) & some buttons in the control bar (along the lower edge of the display). The user interface uses clicks, taps & dragging.
It's similar to other 3D software, such as games or CAD, but just in case here are some notes explaining the basics.
On starting it loads the first 3D model from the available models, which are organised as galleries (think 'art gallery').
Each gallery covers one kind of model, or related models.
The model is by default slowly turning, so you can view it from different angles. You can turn this off in the menu (auto-rotate).
You can move (drag) the camera around the model, orbiting like a satellite looking down.
Move left: camera orbits left; it looks like the model rotates right.
Move up: camera orbits up; it looks like the model rotates down.
The grid is a sphere drawn around the model to help understand how the camera moves around the model.
Some models have lighting, normally behind the camera starting position.
If you drag the camera around behind the model, you may see the light sources as white balls on the other side the model. This also often where you can get the most atmospheric view of the model.
The viewed 'world' has these four parts; the model, the grid, the light sources & the camera (which you never see).
The name of the model, & the name of the gallery it belongs to, are displayed in the menu. You can change the model using the arrow buttons in the control bar.
'>': go to the next model.
'>>': go to the last model in the gallery, or the first model in the next gallery.
'<' & '<<' work in a similar way.
'+' & '-': zoom in & out. They move the camera closer to the center of the model, and away from it. One day I may add the 'pinching' gesture.
The menu also shows details about the model, if you're interested, like the number of triangles being drawn.
You can change some Viewr3D settings, like background color, grid & field of view (fov).
backgound color: I find darker backgrounds more dramatic/atmospheric, especially when looking towards the light sources.
grid: You can choose to see the grid all the time, or (default) only when navigating (i.e. dragging), or not at all.
field of view: controls how much the camera sees; it's like the difference between a normal & a wide-angle lense.
If the menu (top-right) takes up too much space, you can collapse/expand the folders. The whole menu can even be reduced to one line.
There are different types of models; they are grouped together in galleries.
'geometric shapes' & 'geometric curves': The simplest; note the different materials used for the surfaces.
'fun': Animated models, like the train of spheres, Planet Earth & the magic cube. They change with time & are correographed.
Check out the magic cube; it is making the turns to create a pattern & then return to the solved state.
'molecules (examples)': Different modes for displaying molecules, e.g. 'balls' has spheres representing the atoms, while 'ball & stick' shows the atoms with the bonds.
'valence shell' shows how the outer electrons are pulled along the bond - that's my idea by the way. ;-)
'space-filling': based on the ideas of the Dutch physicist Johannes van der Waals. He & others found the effective boundaries of atoms, i.e. how close atoms get to each other when not bonding.
The way I see it is, space-filling shows the resulting boundary of a molecule, which is made up of the bonded (& overlapping) atoms.
And it then becomes clearer that molecules are compact, little packages. Their shape & how they fit together greatly influence chemical reactions.
Coloring is (of course) artificial, the atoms are much too small to have any color.
'molecules': my favorite. Many of them are beautiful in an artistic sense; colorful, symmetrical, mystical.
I arranged the lighting to make them more dramatic, & to emphasise the strange nature of their microscopic environment.
By default the bonds between atoms are 'glowing' - try viewing molecules against the light!
I learned a lot choosing the molecules, & I'm always looking out for new ones.
When Viewr3D is showing a molecule, items are added to the menu with information & details about the molecule.
Plus don't forget - you can choose in the menu how the molecules are drawn (ball & stick, etc). I find the 'space-filling' mode fascinating - it's probably the closest to how molecules really 'look'.
Many people out there in the internet created, uploaded or explained stuff that I used & learned from. Here's some of the most significant.
three.js: An amazing public domain library (threejs.org) for programming 3D graphics in a browser using javascript. It handles a lot of the graphics & maths functionality I needed, like making basic shapes (spheres, cylinders, polyhedra), the materials for surfaces & the transforms. There's lots of interesting examples, by the way.
Wikipedia: The well-known, online knowledge resource (www.wikipedia.com).
Stack Overflow: A Q&A forum (www.StackOverflow.com), which helped me understand the many, tricky features I faced working with javascript & browsers.
Brad Larson: He created one of the first molecule viewers for Apple's iOS (without three.js), and explained how he did it (http://www.sunsetlakesoftware.com). This inspired me to see what's possible in browsers using javascript.
PubChem: An online resource of molecule structures (www.pubchem.ncbi.nlm.gov). It's a fascinating place, where I searched for molecules I felt had an interesting structure or important functionality. Credits for the many molecule structures are listed there, so I won't repeat them.
Copyright © 2023-2025 WHS3D. All rights reserved. All 3D models are original works. Geometric primitives are mainly from Three.js. Molecules use 3D data from PubChem (www.pubchem.ncbi.nlm.gov), processed & presented by WHS3D. Viewr3D™ is an app created by WHS3D using three.js (www.threejs.org).