Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Computational Geometry in C

    Computational Geometry in C

    Joseph O'Rourke · 1994

    Programming
    Open LibraryAmazon
    Stats for nerds
    3recommend
    4mentions
    3people
    2008–2025years
    75% recommend25% neutral

    Mentions per year

    2008201020122014201620182020202220242025

    What Hacker News says

    1. RossBencinaDec 2023
      Going more in the computational geometry direction, in addition to some interesting algorithms in the Graphics Gems series:

      O'Rourke, "Computational Geometry in C 2e". Deals with the basics in a principled way. Start here for fundamentals like a good algorithm for intersection of two lines, or inside/outside polygon tests (don't depend on garbage blog posts for well studied fundamentals like this). The book's webpage is https://www.science.smith.edu/~jorourke/books/compgeom.html

      Ericson, "Real-Time Collision Detection". Deep dive into practical collision detection algorithms.

      And for Shaders, check out Inigo Quilez and ShaderToy:

      - https://www.youtube.com/@InigoQuilez

      - https://iquilezles.org/

      - https://www.shadertoy.com/

      You should be able to get your hands dirty pretty quickly implementing cool things on ShaderToy.

      thread
    2. angersockSep 2013
      I've read or owned several of those books at one point or another. Some opinions:

      The Game Programming Gems series has a wonderful variety of articles, and even though many of the graphics tricks are no longer super useful the software engineering and exposure to how other people think about systems is very useful.

      The O'Reily Physics for Game Developers is kind of lacking--it's more a cookbook than anything else; the Eberly books are a much better use of time, and actually explore the math much better.

      Computational Geometry in C by O'Rourke is wonderful, but a bit academic for almost any game development purposes.

      Geometric Tools for Computer Graphics has a permanent place on my desk, and was very useful when doing graphics work as well as CAD software stuff. It actually bothers with some of the rigor of the linear algebra you'll use in graphics. Not listed but An Integrated Introduction to Computer Graphics and Geometric Modeling by Goldman does a superb job of the mathematics behind projective geometry for graphics, and is probably one of the best ways I've ever read for getting the real reason why we do the math we do. He's referenced in the Geometric Tools book.

      Write Portable Code has some great insights, but if you've had to deal with cross-platform code for more than a couple of years you probably won't find too much new. For a beginner it's invaluable.

      CLRS Introduction to Algorithms is very cool and all, but as Johnathon Blow pointed out in a talk the fact is that for game development you are better off using the dumbest, most straight-forward data structures you can. There are a lot of great things in there, but the sort of workhorse stuff you'll use in games (BSPs, quad- or octrees, hash tables, A-star, etc.) is either already made for you or is better covered elsewhere. Looks impressive on the bookshelf though.

      AI Game Development was a very long, very interesting read, but tended to be somewhat academic. Programming Believable Characters For Computer Games is much better from a practical standpoint, surveying a large number of AI techniques and the implementation of examples for each one (very much a sort of "Seven AI Architectures in Seven Weeks" kind of affair).

      ~

      Not on the list, but two I'd really recommend:

      Game Scripting Mastery by Varanese is basically "Compiler and Interpreter Design and Implementation for High Schoolers". It's a massive tome, and covers both Lua integration and then rolling a scripting engine from scratch (lex and yacc and all).

      Game Coding Complete by McShaffry is utterly fantastic. Another tome (just shy of 1000 pages), it goes over how to structure a game, covering a lot of important but banal stuff like resource management and passing Microsoft Windows certifications and project management and the like. It's also written in a very entertaining manner, and has lots of helpful anecdotes about why things should be done a particular way--often by counterexample of what happens when they weren't.

      ~

      In general, the various Gems series are all worth reading. Morgan Kaufmann does a pretty solid job, and tends to have a lot of math (if that's your thing). Charles River Media is mostly good.

      Premier Press Game Development varies widely in quality--some of the books are amazing, many are meh, some are garbage.

      thread
    3. ickyJun 2008
      > As an aside, is this something I would have gotten some exposure to if I'd been a college grad?

      You might have had some exposure to the subject, but probably as part of other problems, i.e. not under the name Computational Geometry. For me, the most valuable thing was learning that this was an actual field with a name, which gave me a starting point for self-study.

      Also check out Computational Geometry in C, Second Ed., by O'Rourke. It goes into more low-level implementation details (the first book I mentioned is a good high-level introduction to reasoning about geometric algorithms, so you should read that first).

      thread
    4. RossBencinaAug 2025
      For geometry, start with high-school algebra and coordinate geometry, and learn how to put the two together: equations representing geometry. By which I mean, being able to write down equations for geometric objects and manipulate the equations to get them into different useful forms, and to compute useful things. A first example would be studying different ways of writing down equations for the line [1], and then learn how each of the forms relate, how to use algebra to move between them, and what each for is useful for. For example finding the intersection of two lines involves simultaneously solving for (x,y) that satisfy both equations, and there's a particular form that is best suited to that. Another form is better if you want to "move along a line" say, parameterised by time. One form might be best for GPU rendering. Once you're comfortable with algebraic expressions for lines, then you can move on to the more complex curves that you listed -- the equations for these curves can be manipulated in analogous ways. EDIT: importantly you want to learn not how to "plug and chug" numbers, but instead how to use these equations in code: e.g. how would you use the equations to write code to draw a line/curve, and how to derive functions to intersect curves, connect curves at tangents, etc.

      There's more to it than that of course. For example working out equations for tangents to curves will become important. But start with the above. You mention de casteljau algorithm, I am not familiar with that, but it looks like it might be heading more into algebra, in particular manipulating polynomials, which you learn to write down in high-school, study more in pre-calculus and calculus, but can get pretty complicated, for example if you want to solve a quintic equation.

      Two elementary books:

      McDougal, Little, "Geometry for Enjoyment and Challenge"

      Joseph H. Kindle, "Theory and Problems of Plane and Solid Analytic Geometry (Shaum's outline)"

      The following are approachable, but don't directly address your interest in curves:

      Joseph O'Rourke, "Computational Geometry in C," second edition (basics everyone should know, starts with primitives like knowing the best way to compute the intersection of two line segments.

      Christer Ericson, "Real-time collision detection" (a bit more specific, but a fantastic book, recommended to me here on HN in the past)

      And of course I must reference Inigo Quilez' [2] "SDF of a ..." videos which give an illuminating perspective on using equations to describe geometry[3].

      [1] https://math.libretexts.org/Bookshelves/Applied_Mathematics/...

      [2] https://iquilezles.org/

      [3] SDF of a Line https://www.youtube.com/watch?v=PMltMdi1Wzg

      EDIT: some of the IRC servers have #math channels, and some of those are open to drop ins asking questions like yours (others seem to be full of people studying for exams).

      thread

    Related

    Geometric tools for computer graphicsDavid H. Eberly
    2013–2022

    Geometric tools for computer graphics

    David H. Eberly
    2 recommend · 2
    Cover of The C Programming Language
    2007–2026

    The C Programming Language

    Brian W. Kernighan
    246 recommend · 604
    Cover of C programming
    2009–2025

    C programming

    K. N. King
    26 recommend · 33
    Cover of Purely functional data structures
    2007–2026

    Purely functional data structures

    Chris Okasaki
    87 recommend · 209
    Cover of Geometric Algebra for Computer Science
    2012–2020

    Geometric Algebra for Computer Science

    Leo Dorst
    8 recommend · 17
    Cover of A Programmer's Introduction to Mathematics
    2016–2026

    A Programmer's Introduction to Mathematics

    Jeremy Kun
    24 recommend · 44
    Cover of Introduction to the theory of computation
    2008–2026

    Introduction to the theory of computation

    Michael Sipser
    66 recommend · 96
    Cover of The art of the metaobject protocol
    2010–2026

    The art of the metaobject protocol

    Gregor Kiczales
    38 recommend · 92