C语言圣诞树 源代码

C语言圣诞树 源代码_第1张图片

 

以下是程序的源代码

可直接复制在编译器打开运行(DEV C++)

#include 

#include 

#include 



#define PI 3.14159265359
float sx, sy;
float sdCircle(float px, float py, float r) {

float dx = px - sx, dy = py - sy;

return sqrtf(dx * dx + dy * dy) - r;

}

float opUnion(float d1, float d2) {

return d1 < d2 ? d1 : d2;

}

#define T px + scale * r * cosf(theta), py + scale * r * sin(theta)

float f(float px, float py, float theta, float scale, int n) {

float d = 0.0f;


for (float r = 0.0f; r < 0.8f; r += 0.02f)

d = opUnion(d, sdCircle(T, 0.05f * scale * (0.95f - r)));


if (n > 0)

for (int t = -1; t <= 1; t += 2) {

float tt = theta + t * 1.8f;

float ss = scale * 0.9f;

for (float r = 0.2f; r < 0.8f; r += 0.1f) {

d = opUnion(d, f(T, tt, ss * 0.5f, n - 1));

ss *= 0.8f;

}

}

return d;

}

int main(int argc, char* argv[]) {

int n = argc > 1 ? atoi(argv[1]) : 3;

for (sy = 0.8f; sy > 0.0f; sy -= 0.02f, putchar('\n'))

for (sx = -0.35f; sx < 0.35f; sx += 0.01f)


putchar(f(0, 0, PI * 0.5f, 1.0f, n) < 0 ? '*' : ' ');

}

点击链接加入群聊【C语言/C++编程学习基】:

小鱼快来啊的个人空间-小鱼快来啊个人主页-哔哩哔哩视频哔哩哔哩小鱼快来啊的个人空间,提供小鱼快来啊分享的视频、音频、文章、动态、收藏等内容,关注小鱼快来啊账号,第一时间了解UP注动态。编程学习群:724050348 每天分享一个编程小游戏~C/C++游戏源码素材及各种安装包, 私信不常看!https://space.bilibili.com/1827181878?spm_id_from=333.1007.0.0

你可能感兴趣的:(C语言,编程语言,计算机/it,c语言,c++,开发语言,服务器)