C语言画圣诞树源码(树界降临)

这篇具有很好参考价值的文章主要介绍了C语言画圣诞树源码(树界降临)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

逐梦编程,让中华屹立世界之巅。
简单的事情重复做,重复的事情用心做,用心的事情坚持做;

上一篇: C语言实现画爱心(两种方式画法)



前言

圣诞节了,别人都手绘圣诞树,本期用C语言画一个会跳动的圣诞树之树界降临;

做一个漂亮的圣诞树送给你的爱人哈,愿天下有情人终成眷属!


一、圣诞树介绍

圣诞树,是指用灯烛和装饰品把枞树或洋松装点起来的常青树。作为是圣诞节重要的组成元素之一,近代圣诞树起源于德国,后来逐步在世界范围内流行起来,成为圣诞节庆祝中最有名的传统之一。

据说圣诞树最早出现在古罗马12月中旬的所谓农神节。现在通常人们在圣诞前后把一棵常绿植物如松树弄进屋里或者在户外,并用圣诞灯和彩色的装饰物装饰。并把一个天使或星星放在树的顶上。

二、效果图欣赏

C语言画圣诞树源码(树界降临),项目实战合集,c语言,后端,算法,开发语言

C语言画圣诞树源码(树界降临),项目实战合集,c语言,后端,算法,开发语言

三、圣诞小故事赏析

以前德国的亚尔萨斯(现一般译为阿尔萨斯,属法国),是出产圣诞树的地方。根据传说,有一位名叫弗乐伦亭的隐修圣人,住在亚尔萨斯的一个树林当中,他非常喜欢小孩子。有一年的圣诞节,他希望附近的小孩子,都能在一起快乐的玩,但是他很贫穷,没有钱买孩子们喜爱的玩具和糖果,因此他为这件事很伤脑筋。

一天早上,弗乐伦亭在树林中散步的时候,忽然看见一棵小杉树,树上堆满了雪,枝上挂着许多小冰条,经过太阳一照射,闪闪发光,非常的漂亮。他就把那棵树弄回来,种在盆里面。又在树林中捡一些野果子,再和上面粉,做成一些十字架,或星星形状的小饼,挂在树枝上面。又用一些小蜡烛,插在树枝上,把那棵树装扮得五光十色,非常的美观。到了圣诞夜晚,弗乐伦亭打起钟来,孩子们听到了,都跑到他的茅屋里,大家围着那棵树,手舞足蹈的唱着圣诞歌曲,然后弗乐伦亭把糕饼分给孩子们吃,让大家过了一个快乐的圣诞节。以后,这个习俗流传起来。

四、最喜爱的圣诞老人

圣诞节人物形象主要指圣诞老人(SantaClaus),其原型是生活在公元4世纪米拉城(今土耳其境内)的主教圣尼古拉斯。他一生当中做了很多慈善工作,最喜欢在暗中帮助穷人。圣诞老人是他后来的别号,这个名字是出自他暗中送钱,帮助三个女孩子的故事。尼古拉斯死后被尊为圣徒。圣诞老人的形象是一位身穿红袍、头戴红帽的白胡子老头。每年圣诞节他驾着鹿拉的雪橇从北方而来,由烟囱进入各家,把圣诞礼物装在袜子里挂在孩子们的床头上或火炉前。

五、代码示例

/*-----------------------------------【程序说明】----------------------------
*			 项目命题:   圣诞树--树界降临(C语言)
* 			 代码所属:   枫之剑客
* 			     作者:   阿甘
* 		     开发时间:   2021/12/24
*			IDE 版 本:   Visual Studio 2015
*		     项目版本:   1.0.0.1
*---------------------------------------------------------------------------*/
//原文链接:https://blog.csdn.net/gzplyx/article/details/128200056
#include <windows.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

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

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;

}

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 ribbon() 
{

	float x = (fmodf(sy, 0.1f) / 0.1f - 0.5f) * 0.5f;

	return sx >= x - 0.05f && sx <= x + 0.05f;

}

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

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

	float zoom = argc > 2 ? atof(argv[2]) : 1.0f;

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

		for (sx = -0.35f; sx < 0.35f; sx += 0.01f / zoom) 
		{
			if (f(0, 0, PI * 0.5f, 1.0f, n) < 0.0f) 
			{
				if (sy < 0.1f) 
				{
					putchar('.');
				}
				else 
				{
					if (ribbon()) 
					{
						putchar('=');
					}
					else 
					{
						putchar("............................@y%u"[rand() % 32]);
					}
				}
			}
			else 
			{
				putchar(' ');
			}

		}

	Sleep(1000);

	printf("\n\n\n");

	for (size_t i = 0; i < 40; i++) 
	{
		putchar(' ');
	}

	//_sleep(5000);
	printf("Merry Christmas, baby~!\n");
	Sleep(500);

	for (size_t i = 0; i < 40; i++) 
	{
		putchar(' ');
	}

	printf("You are all the cutest.\n");
	Sleep(500);

	for (size_t i = 0; i < 40; i++)
	{
		putchar(' ');
	}

	printf("2021/12/24, 献给每一位编程爱好者\n");

	system("pause");

}

总结

相信现在大家都有一颗圣诞树了,或许许多时候编程的乐趣就在这里,偶尔做一个小游戏可能使你兴趣大增,提高兴趣程度对学习帮助很大哈,文末了,写文不易,喜欢的友友们帮忙点个关注和赞。

新壁纸

C语言画圣诞树源码(树界降临),项目实战合集,c语言,后端,算法,开发语言文章来源地址https://www.toymoban.com/news/detail-808321.html

到了这里,关于C语言画圣诞树源码(树界降临)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【魔法圣诞树】代码实现详解 --多种实战编程技巧倾情打造

    本文会基于C# GDI+技术 从零到一 实现一颗 魔法圣诞树 !源码和素材在文末全部都有! 对于用代码画圣诞树,网上各种编程语言像python、css、java、c/c++我们都有见到过了,那么在绘图方面,还有一位 实力强劲 的隐藏高手,那就 C#语言 ,它的 GDI+技术 也可以称的上是 笑傲江湖

    2024年01月16日
    浏览(55)
  • 哄她开心的圣诞树html源码,复制粘贴就能实现~

    目录 前言 一、效果展示 二、代码展示 三、使用说明 总结         别送苹果了,玩点“高科技”逗女朋友开心吧。         效果如下: 圣诞树html代码示例         源代码如下:         首先把上面的源代码复制粘贴到一个txt文本中,再把代码中“高圆圆”换成

    2024年02月03日
    浏览(57)
  • 圣诞节怎么能缺少圣诞树呢?Python+HTML打造专属于你的圣诞树

    前言: 美酒一杯让人醉,温馨陪伴浪漫随;雪花片片惹人爱,烦恼忧伤全不见;字里行间藏真情,文短情深送心愿:圣诞佳节快来到,祝大家永远开心幸福! Hello大家好,我是Dream。 圣诞节马上到了,一些朋友问我想送女朋友和男朋友们圣诞节礼物,但是也没想到啥好点子,作为

    2024年02月02日
    浏览(67)
  • python系列之(大家圣诞快乐)圣诞树

    2022年圣诞节到来啦,很高兴这次我们又能一起度过~, 圣诞节源自古罗马人迎接新年的农神节,与基督教本无关系。在基督教盛行罗马帝国后,教廷将这种民俗节日纳入基督教体系,同时以庆祝耶稣的降生。但在圣诞节这天不是耶稣的生辰,因为《圣经》未记载耶稣具体出生

    2024年02月04日
    浏览(52)
  • Python 圣诞树代码

    1.本章将会讲解Python编程 实现圣诞树效果! 2.圣诞节介绍 基督教纪念耶稣诞生的重要节日。亦称耶稣圣诞节、主降生节,天主教亦称耶稣圣诞瞻礼。耶稣诞生的日期,《圣经》并无记载。公元336年罗马教会开始在12月25日过此节。12月25日原是罗马帝国规定的太阳神诞辰。有人

    2024年02月03日
    浏览(66)
  • Python圣诞树代码

    2024年02月04日
    浏览(53)
  • 【AE圣诞树代码】

    首发网站 天风的人工智能小站 1、圣诞树代码第一种 2、圣诞树代码第二种 3、修改记事本后缀为html 4、点击文件查看效果

    2024年02月04日
    浏览(55)
  • 打印圣诞树

    今天遇到一个不算特别变态的题目,可是却往错误的方向思考了有一会儿。 这是这个题目的链接:[打印圣诞树](圣诞树_牛客题霸_牛客网 (nowcoder.com)) 题目大致意思是,给定一个高度,打印出圣诞树。 效果图类似以下这种: 首先我把每片叶子看作是 5X3的矩形 ,空白看作是

    2023年04月12日
    浏览(58)
  • 圣诞树(动态效果)

      1.复制代码到Dreamweaver或HBuilder或vscode中 2.点击运行---运行到浏览器---选择你要打开的浏览器 3.打开后会出现这个界面,前四个是固定音乐,最后一个是自主选择的音乐,你可以选择你电脑上的歌曲,什么歌曲都行(第一次打开可能会有点慢,稍等片刻即可,选择音乐的时候

    2024年02月04日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包