当前位置: 首页 > news >正文

Python作业2 蒙特卡罗方法手搓图形

        蒙特卡罗方法是一种通过随机采样来解决问题的数学方法,在图形绘制中可以用来估算面积、生成分形图案或创建艺术图形。 

# 艺术图形生成(随机游走)
# 通过随机选择方向和步长创建艺术图案

import matplotlib
matplotlib.use('TkAgg')  # 切换后端

import random
import numpy as np
import matplotlib.pyplot as plt

def random_walk(n_steps):
    angles = np.cumsum(np.random.uniform(0, 2*np.pi, n_steps))  # 累计随机角度变化
    steps = np.random.normal(1, 0.2, n_steps)  # 正态分布的步长
    x = np.cumsum(steps * np.cos(angles))  # x坐标累计和
    y = np.cumsum(steps * np.sin(angles))  # y坐标累计和
    return x, y

plt.figure(figsize=(6,6))
for _ in range(20):
    x, y = random_walk(100)
    plt.plot(x, y, alpha=0.5)
plt.axis('equal')
plt.axis('off')
plt.show()

相关文章:

  • 使用 VIM 编辑器对文件进行编辑
  • 路由器学习
  • 【C++奇遇记】C++中的进阶知识(多态(一))
  • 使用MySQL时出现 Ignoring query to other database 错误
  • NO.65十六届蓝桥杯备战|基础算法-贪心推公式排序|哈夫曼编码|拼数|奶牛玩杂技|哈夫曼编码|合并果子(C++)
  • 接口自动化学习二:session自动管理cookie
  • 网络协议:TCP,UDP详细介绍
  • Windows Flip PDF Plus Corporate PDF翻页工具
  • MySQL数据库精研之旅第五期:CRUD的趣味探索(中)
  • py文件打包为exe可执行文件,涉及mysql连接失败以及找不到json文件
  • 使用PyQt5绘制水波浪形的柱状显示流量—学习QTimer+QPainterPath
  • Logo语言的区块链
  • Compose组件转换XML布局1.0
  • 基于SpringBoot的医院信息管理系统(源码+数据库)
  • 基于Python的人脸识别校园考勤系统
  • 初见TypeScript
  • 微信小程序—路由
  • Qt 入门 0 之 QtCreator 简介
  • 【微服务架构】SpringCloud Alibaba(八):Nacos 2.1.0 作为配置中心(Nacos的使用)
  • SpringAI+MCP协议 实战
  • 陕西网站开发公司地址/地推app
  • 用什么开源框架做网站/公司网站设计报价
  • 宝鸡市住房与城乡建设厅网站/百度安装免费下载
  • 做网站工资待遇如何/上海关键词优化公司bwyseo
  • 大理装饰公司做网站/网页设计与制作期末作品
  • 网站建设最新技术/八戒