打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何用C语言画一个“心形”

                  程序yuan眼中的浪漫


如何用C语言画一个“心形”?

在你们的世界里,是不是觉得程序员一点浪漫都不懂?其实不是的,程序yuan的世界也是很浪漫滴。

看 这个图片是不是很浪漫,有木有很惊讶。你没看错,这就是用代码写出来的。

 #include 

int main() {
    for (float y = 1.5f; y > -1.5f; y -= 0.1f) {
        for (float x = -1.5f; x <>
            float a = x * x + y * y - 1;
            putchar(a * a * a - x * x * y * y * y <>
        }
        putchar('\n');
    }
}

 

 #include 

int main() {
    for (float y = 1.5f; y > -1.5f; y -= 0.1f) {
        for (float x = -1.5f; x <>
            float z = x * x + y * y - 1;
            float f = z * z * z - x * x * y * y * y;
            putchar(f <>
        }
        putchar('\n');
    }

 #include 
#include 

float f(float x, float y, float z) {
    float a = x * x + 9.0f / 4.0f * y * y + z * z - 1;
    return a * a * a - x * x * z * z * z - 9.0f / 80.0f * y * y * z * z * z;
}

float h(float x, float z) {
    for (float y = 1.0f; y >= 0.0f; y -= 0.001f)
        if (f(x, y, z) <>
            return y;
    return 0.0f;
}

int main() {
    for (float z = 1.5f; z > -1.5f; z -= 0.05f) {
        for (float x = -1.5f; x <>
            float v = f(x, 0.0f, z);
            if (v <>
                float y0 = h(x, z);
                float ny = 0.01f;
                float nx = h(x + ny, z) - y0;
                float nz = h(x, z + ny) - y0;
                float nd = 1.0f / sqrtf(nx * nx + ny * ny + nz * nz);
                float d = (nx + ny - nz) * nd * 0.5f + 0.5f;
                putchar('.:-=+*#%@'[(int)(d * 5.0f)]);
            }
            else
                putchar(' ');
        }
        putchar('\n');
    }
}

各种心形代码,有木有很心动

可以学好编程,向你爱的人表白哦

                       编程学习2群 173243809

                     C/C++ 上课时间  21.00-22.00

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
字词音频[表一] 第5901-6000条
6个变态的C语言Hello World程序
弟子规全集
C语言练习题精选
码垛程序详解,如何编写ABB码垛程序?
bash Linux 文件判断,if
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服