donut.go
Project · study · 2023
donut.go is a version, in Go, of the famous spinning ASCII donut, first written in C by Andy Sloane as donut.c. A torus is rotated in 3D. Each frame projects its surface points onto the terminal, keeps the nearest point per character cell, and picks a character from .,-~:;=!*#$@ according to how much light that point catches. The whole program is a single file, run with go run donut.go.
See also
In the knowledge graph
donut.go and the 3 things it is linked to. Open any dot for its page, or explore it in the full graph.
As data
Everything on this page is read from triples in the knowledge graph. These are the 16 it states about donut.go, and 1 more its ontology implies; the console runs SPARQL over the whole graph, here in your browser.
@prefix id: <https://ask.chaipat.cc/id/> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix cj: <https://ask.chaipat.cc/ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . id:DonutGo a cj:Project ; rdfs:label "donut.go" ; cj:description "The spinning ASCII donut, in Go." ; cj:context id:OpenSource ; cj:repository "https://github.com/AppleBoiy/donut.go"^^xsd:anyURI ; cj:firstCommit "2023-10-15"^^xsd:date ; cj:lastCommit "2023-10-15"^^xsd:date ; cj:commitCount 6 ; cj:kind "study" ; cj:archived true ; cj:theme id:ThemeSystems ; cj:uses id:Go ; cj:tier 3 ; cj:article "https://ask.chaipat.cc/wiki/DonutGo"^^xsd:anyURI ; cj:activeIn id:Y2023 ; cj:activity _:b48 .