Skip to content

3126872157/nature_of_code

Repository files navigation

自述

这是一个使用 sfml 实现 Daniel Shiffman 的 Nature of Code 这本书的项目
使用 CMake 构建,顶层有一个共用 cmake
实现不同章节的 cmake 管理
每个章节的实现不与书上完全一样,大多以书为启迪,自己实现的

概览

一维柏林 二维柏林

万有引力

双弹簧

流场和代理

四叉树优化的群落

wolfram元胞自动机

TODO

  • 随机二维柏林噪声,生成流场;更好的话是三维,加上时间维度
  • 了解 CA 和

在 linux 上构建

环境

sudo apt update
sudo apt install \
    libxrandr-dev \
    libxcursor-dev \
    libxi-dev \
    libudev-dev \
    libfreetype-dev \
    libflac-dev \
    libvorbis-dev \
    libgl1-mesa-dev \
    libegl1-mesa-dev \
    libfreetype-dev

在根目录构建

cmake -B build
cmake --build build

运行

可执行文件在 build 目录下的 bin 文件夹里

在 windows 上构建

环境

上 sfml 官网下载制定版本的 mingw,我使用的 sfml 版本是 3.0.2(这个在 common.cmake 中可见)。

构建

稍微配置一下工具链即可构建

关于 CMake

Here are some useful resources if you want to learn more about CMake:

About

a pratice of the book Nature of Code

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published