# Virtual Go

## Collision Response and Coulomb Friction

Introduction Hi, I’m Glenn Fiedler. Welcome to Virtual Go, my project to create a physically accurate computer simulation of a Go board and stones. So far in this series, we have mathematically defined the go stone, rendered it, determined how it moves and rotates, and discussed how its shape affects how it responds to collisions. Now in this article we reach our first milestone: A go stone bouncing and coming to rest on the go board.

## Rotation & Inertia Tensors

Introduction Hi, I’m Glenn Fiedler. Welcome to Virtual Go, my project to create a physically accurate computer simulation of a Go board and stones. In the previous article we detected collision between the go stone and the go board. Now we’re working up to calculating collision response so the stone bounces and wobbles before coming to rest on the board. But in order to reach this goal we first need to lay some groundwork.

## Go Stone vs. Go Board

Introduction Hi, I’m Glenn Fiedler. Welcome to Virtual Go, my project to create a physically accurate computer simulation of a Go board and stones. In this series so far we’ve defined the shape of a go stone, rendered it using 3D graphics hardware and simulated how it moves in three dimensions. Our next goal is for the go stone to bounce and come to rest on the go board. Understandably, this is quite complicated, so in this article we’ll focus on the first step: detecting collisions between a go stone and the go board.

## How The Go Stone Moves

Introduction Hi, I’m Glenn Fiedler. Welcome to Virtual Go, my project to create a physically accurate computer simulation of a Go board and stones. In previous articles we mathematically defined the shape of a go stone and tessellated its shape so it can be drawn with 3D graphics hardware. Now we want to make the go stone move, obeying Newton’s laws of motion so the simulation is physically accurate. The stone should be accelerated by gravity and fall downwards.

## Tessellating The Go Stone

Introduction Hi, I’m Glenn Fiedler. Welcome to Virtual Go, my project to create a physically accurate computer simulation of a Go board and stones. In this article we want to draw the go stone using OpenGL. Unfortunately we can’t just tell the graphics card, “Hey! Please draw the intersection of two spheres with radius r and d apart with a bevel torus r1 and r2!”, because modern 3D graphics cards work by drawing triangles.

## Shape of The Go Stone

Introduction Hi, I’m Glenn Fiedler. Welcome to Virtual Go, my project to create a physically accurate computer simulation of a Go board and stones. If you play Go, you know that a biconvex go stone has an interesting wobble when it’s placed on the board. This wobble is a direct consequence of its unique shape. I’d like to reproduce this wobble in Virtual Go, so let’s to spend some time studying go stone’s shape, so we can capture this wobble and simulate it on a computer :)

## Introduction to Virtual Go

Introduction Hi, I’m Glenn Fiedler. Welcome to Virtual Go, my project to create a physically accurate computer simulation of a Go board and stones. I’m a professional game programmer with 15 years experience in the game industry. Over the years I’ve worked for Irrational Games, Team Bondi, Pandemic Studios, Sony Santa Monica and most recently Respawn Entertainment. During my career I’m extremely proud to have worked on such games as ‘Freedom Force’, ‘L.