#include int main() { for (float y = 1.5f; y > -1.5f; y -= 0.1f) { for (float x = -1.5f; x < 1.5f; x += 0.05f) { float z = x * x + y * y - 1; float f = z * z * z - x * x * y * y * y; putchar(f <= 0.0f ? ".:-=+*#%@"[(int)(f * -8.0f)] : ' '); } putchar('\n'); } }---更新2: 「3D」版,简单使用迭代法求解,用Finite difference求法矢量,用wrapped diffuse着色。