数学分形之科赫雪花

article/2025/9/13 1:37:14

科赫雪花

绘图库:Easy Graphics Engine (EGE)
编程语言:c++

科赫雪花
n=5
在这里插入图片描述
反科赫雪花
n=5
在这里插入图片描述代码:

#include <graphics.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
#include <time.h>
const double pi = 3.1415926536;struct Point
{double x;double y;
};Point Rotate(Point p1, Point p2, double A)
{Point r;r.x = p1.x + (p2.x - p1.x) * cos(A) + (p2.y - p1.y) * sin(A);r.y = p1.y + (p2.y - p1.y) * cos(A) - (p2.x - p1.x) * sin(A);return r;
}Point Zoom(Point p1, Point p2, double a)
{Point r;r.x = p1.x + (p2.x - p1.x) * a;r.y = p1.y + (p2.y - p1.y) * a;return r;
}
void Draw2(Point p1, Point p2,int n)//雪花
{if(n>0){Point p3,p4,p;p3.x=p2.x/3+2*p1.x/3;p3.y=p2.y/3+2*p1.y/3;p4.x=2*p2.x/3+p1.x/3;p4.y=2*p2.y/3+p1.y/3;p=Rotate(p3,p1,120*pi/180);setcolor(CYAN);line_f(p1.x,p1.y,p3.x,p3.y);line_f(p3.x,p3.y,p.x,p.y);line_f(p.x,p.y,p4.x,p4.y);line_f(p4.x,p4.y,p2.x,p2.y);setcolor(BLACK);line_f(p3.x,p3.y,p4.x,p4.y);Draw2(p1,p3,n-1);Draw2(p3,p,n-1);Draw2(p,p4,n-1);Draw2(p4,p2,n-1);}
}
int main()
{int n=5;struct Point p1,p2,p3;p1.x=100;p1.y=450;p2.x=500;p2.y=450;p3= Rotate(p1,p2,pi/7);printf("             科赫雪花\n");printf("\n\n");initgraph(600,600);setcolor(RED);Draw2(p1,p2,n);Draw2(p3,p1,n);Draw2(p2,p3,n);getch();closegraph();return 0;
}

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

相关文章

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;重复这一过程&…

大数求余数

问题 提供两个数据 a&#xff0c;b&#xff0c;计算 a%b 的余数。 你可能会觉得这个问题很简单。我们用 C 为例&#xff0c;如果 a 和 b 可以在 long long 表示范围&#xff0c;那么这个问题非常简单。但是如果 a 超过了 C 中 long long 都超过的数据&#xff0c;我们要如何求…

求余数联系和赋值运算

算术和赋值运算符 算术运算符&#xff1a; (加)、 -(减)、 *(乘)、 /(除)、 %(求余) 赋值运算符&#xff1a;、 、 -、 *、 /、 % 加法运算代码及效果 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title&…

怎么用计算机做求余,怎样用计算器求余数

这样用计算器求余数&#xff1a; 假设是求10825的余数&#xff0c;计算器的的计算步骤如下&#xff1a; 步骤1、用计算器的数字键输入108&#xff0c;如下图&#xff1a; 步骤2、按计算器上的红框这个符号&#xff0c;如下图&#xff1a; 步骤3、用计算器的数字键输入25&#x…