科赫雪花分形的C语言实现!

article/2025/9/13 14:09:52

科赫雪花分形的C语言实现!

    • 4阶科赫雪花分形
    • Windows下的代码实现:

4阶科赫雪花分形

链接: link.
Alt

Windows下的代码实现:

仅贴出了窗口过程函数。

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{static int cxClient, cyClient;HDC hdc;PAINTSTRUCT ps;POINT pt;LONG x, y;const double SIZE = 500;const int ORDER = 4; // 科赫曲线阶数switch (message){case WM_CREATE:cxClient = LOWORD(lParam);cyClient = HIWORD(lParam);return 0;case WM_SIZE:cxClient = LOWORD(lParam);cyClient = HIWORD(lParam);return 0;case WM_PAINT:hdc = BeginPaint(hwnd, &ps);x = cxClient / 2;y = cyClient / 2;pt.x = x - SIZE / 2;pt.y = y - sqrt(3.0) * SIZE / 6.0;pt = FractalLine(hdc, pt, SIZE, 0.0, ORDER);pt = FractalLine(hdc, pt, SIZE, -2.0 * PI / 3.0, ORDER);pt = FractalLine(hdc, pt, SIZE, 2.0 * PI / 3.0, ORDER);EndPaint(hwnd, &ps);return 0;case WM_DESTROY:PostQuitMessage(0);return 0;}return DefWindowProc(hwnd, message, wParam, lParam);
}POINT PolarLine(HDC hdc, const POINT& pt, double r, double theta)
{return PolarLine(hdc, pt.x, pt.y, r, theta);
}POINT PolarLine(HDC hdc, LONG x, LONG y, double r, double theta)
{POINT pt;pt.x = x + r * cos(theta) + 0.5; // 0.5为四舍五入修正!!!pt.y = y - r * sin(theta) + 0.5;MoveToEx(hdc, x, y, NULL);LineTo(hdc, pt.x, pt.y);return pt;
}POINT FractalLine(HDC hdc, POINT pt, double r, double theta, int order)
{if (order == 0)return PolarLine(hdc, pt, r, theta);else{pt = FractalLine(hdc, pt, r / 3.0, theta, order - 1);pt = FractalLine(hdc, pt, r / 3.0, theta + PI / 3.0, order - 1);pt = FractalLine(hdc, pt, r / 3.0, theta - PI / 3.0, order - 1);return FractalLine(hdc, pt, r / 3.0, theta, order - 1);}
}

http://chatgpt.dhexx.cn/article/DoWIJHHB.shtml

相关文章

三阶科赫雪花PYTHON

代码 #科赫雪花 import turtle def kehe(len,n): if n 0: turtle.fd(len) else: for i in [0,60,-120,60]: turtle.left(i) kehe(len / 3, n - 1) lenth 500 level 3 du 120 def main(): turtle.penup() turtle…

python科赫雪花代码的意思_基于python绘制科赫雪花

什么是科赫曲线 科赫曲线是de Rham曲线的特例。给定线段AB,科赫曲线可以由以下步骤生成: 将线段分成三等份(AC,CD,DB) 以CD为底,向外(内外随意)画一个等边三角形DMC 将线段CD移去 分别对AC,CM,MD,DB重复1~3。 什么是科赫雪花 三段科赫曲线组成…

数学分形之科赫雪花

科赫雪花 绘图库&#xff1a;Easy Graphics Engine &#xff08;EGE&#xff09; 编程语言&#xff1a;c 科赫雪花 n5 反科赫雪花 n5 代码&#xff1a; #include <graphics.h> #include <stdio.h> #include <stdlib.h> #include <conio.h> #includ…

python科赫雪花正方形_python—科赫曲线(科赫雪花小包裹)

一、科赫曲线 运用递归&#xff0c;一阶一阶分隔&#xff0c;如2阶的每条小线是1阶&#xff08;所以代码为n-1&#xff09; import turtle def koch(size,n): if n 0: turtle.fd(size) else: for angle in [0,60,-120,60]: turtle.left(angle) koch(size/3,n-1) def…

利用科赫雪花绘制方块雪花

先上科赫雪花代码&#xff1a; from turtle import * def koch(size,n):if n0:fd(size)else:for angle in [0,60,-120,60]:left(angle)koch(size/3,n-1) def main():setup(600,600)penup()goto(-200,100)pendown()speed(50)pensize(2)level3 #雪花的阶数&#xff0…

递归,与,科赫雪花曲线

目录 壹&#xff1a;科赫雪花曲线&#xff08;Koch Snowflake Curve&#xff09; 贰&#xff1a;想法&#xff08;ideas&#xff09; 叁&#xff1a;代码实现&#xff08;Code Implementation&#xff09; 肆&#xff1a;打包&#xff08;Packing&#xff09; 伍&#xff…

科赫雪花c语言程序设计,用 C 语言画科赫雪花

作者&#xff1a;Milo Yip 链接&#xff1a;https://zhuanlan.zhihu.com/p/24688522 1. 科赫雪花和科赫曲线 科赫曲线(Koch curve)是一个简单的分形(fractal)图形。瑞典数学家海里格冯科赫(Helge von Koch&#xff1a;https://en.wikipedia.org/wiki/Helge_von_Koch)于 1904 年…

科赫雪花绘制

绘制单边科赫雪花 效果图 代码 from turtle import * def koch(size,n): if n0: fd(size) else: for angle in [0,60,-120,60]: left(angle) koch (size/3,n-1) def main(): setup(800,400) penup() goto(-300,…

python的科赫雪花

科赫曲线是一种像雪花的几何曲线&#xff0c;所以又称为雪花曲线&#xff0c;它是de Rham曲线的特例。科赫曲线是出现在海里格冯科赫的论文中&#xff0c;是分形曲线中的一种。其形态似雪花&#xff0c;又称科赫雪花、雪花曲线。 #科赫雪花#递归函数 import turtle def koch(si…

python绘制科赫雪花and科赫雪花进阶版

首先我们来绘制一个基本的3阶科赫雪花&#xff0c;由于和课上用的软件不一样&#xff0c;所以在课上看的代码只能当参考&#xff0c;实际比较繁琐。 代码如下 import turtle # 引入决解问题需要的工具——turtle作图包# 定义turtle画笔和画布的参数…

科赫雪花

科赫曲线 一个过程进行不断地迭代 使用递归和海龟 科赫曲线的绘制&#xff08;做一条直线&#xff0c;将中间的一段去掉&#xff0c;然后做一个凸起&#xff0c;形成科赫曲线&#xff09; 递归思想&#xff1a;函数分支 递归链条:线段的组合 递归基例&#xff1a;初识线段 im…

Python实例8:科赫雪花小包裹(函数递归)

科赫曲线&#xff0c;也叫雪花曲线。绘制科赫曲线。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬…

科赫雪花小包裹实例详解

高大上的分形几何 分形几何是一种迭代的几何图形&#xff0c;广泛存在于自然界中&#xff08;树叶&#xff0c;菜花&#xff09;&#xff08;这个东西的整体与他的局部具有很相似的特点&#xff09; 分形几何中有一种特殊的曲线叫做科赫曲线&#xff0c;也叫雪花曲线 科赫曲…

分形之科赫(Koch)雪花

科赫曲线是一种分形。其形态似雪花&#xff0c;又称科赫雪花、雪花曲线.瑞典人科赫于1904年提出了著名的“雪花”曲线&#xff0c;这种曲线的作法是&#xff0c;从一个正三角形开始&#xff0c;把每条边分成三等份&#xff0c;然后以各边的中间长度为底边。分别向外作正三角形&…

用Python画科赫雪花

文章目录 科赫曲线飘雪三维飘雪 科赫曲线 科赫曲线因为十分像雪花&#xff0c;所以被成为雪花曲线&#xff0c;生成方式十分简单&#xff0c;总共分两步 画一个正三角形将正三角形的每个边三等分&#xff0c;然后以中间的那份为边&#xff0c;再画出个三角形。重复第二步。 …

关于科赫曲线和科赫雪花的讲解

这是我的第2篇文章。在讲新内容之前&#xff0c;我先要把以前递归函数没讲完的继续讲解&#xff1a; &#xff08;recursion&#xff09;就是在运行的时候调用自己&#xff0c;构成递归需具备的两个条件&#xff1a;一个就是调用自己&#xff0c;一个是有终止的条件。这两个条…

sql中的函数取余数

整数中取余数 前言取余数向上取整算法&#xff08;此非彼&#xff09;函数 sql语句 前言 向上取整&#xff0c;向下取整&#xff0c;或者换句话说 &#xff1a;有余数就1 &#xff0c;没有就直接输出整数。 举个例子&#xff1a; 就比如一页10个&#xff0c;我21个数据&#x…

取模和求余运算

文章目录 背景探究总结 被除数 dividend 用 a 表示&#xff1b; 除数 divisor 用 b 表示&#xff1b; 商 quotient 用 q 表示&#xff1b; 余 remainder 用 rem 表示&#xff1b; 模 modulo 用 mod 表示。 背景 最近在一道 Java 习题中&#xff0c;看到这样的一道题&#xff1…

求任意整数模3的余数

在回答这个问题之前&#xff0c;首先思考另一个问题&#xff1a;为什么是模3的余数&#xff0c;而不是2或5&#xff1f; 那是因为3很特殊&#xff0c;求一个数模3的余数时&#xff0c;有一种巧妙地解法。 算法 算法是将这个数的各位数字加起来&#xff0c;重复这一过程&…