040集——CAD中放烟花(CAD—C#二次开发入门)

 效果如下:

单一颜色的烟花:

渐变色的火花:

 

namespace AcTools
{public class HH{public static TransientManager tm = TransientManager.CurrentTransientManager;public static Random rand = new Random();public static Vector3D G = new Vector3D(0,-10,0);// - Vector3D. * 10;public static Document doc => Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;public static Editor ed => doc.Editor;[CommandMethod ("show")]public static void demo(){火花 h = new 火花();var psr = Z.ed.GetPoint("");while (psr.Status == PromptStatus.OK){//h.添加火点(new Point3d(500, -100, 0));h.添加火点(new Point3d( psr.Value.X +200,psr.Value .Y-20 ,0));h.添加火点(new Point3d(psr.Value.X - 200, psr.Value.Y+20, 0));h.添加火点(new Point3d(psr.Value.X + 400, psr.Value.Y - 20, 0));h.添加火点(new Point3d(psr.Value.X - 400, psr.Value.Y + 20, 0));psr = Z.ed.GetPoint("");}}}public class 火花:IDisposable{ Timer timer;List<火星>火星s=new List<火星> ();//int k = 0;public 火花(){timer = new Timer();火星s = new List<火星>();timer.Interval = 30;//相当于多久更新一下屏幕timer.Tick += 火星飞行事件;timer.Start();}public void 添加火点(Point3d pt){int n = new Random().Next(26, 40);//烟花的个数var sudu = new Random().Next(16,27);//速度int ys = HH.rand.Next(0, 5);//颜色Color cc;switch (ys){case 0:cc  =Color.FromRgb(255,0,0); break;//红case 1: cc = Rainbow(0, 255, 0); break;//绿case 2: cc = Rainbow(255, 255, 0); break;//黄case 3: cc = Rainbow(255, 0, 255); break;//紫case 4: cc = Rainbow(255, 186, 0); break;//橙default: cc = Rainbow(0, 0, 255); break;//蓝}double 衰减速度 = HH.rand.NextDouble() * 0.05 + 0.95;for (int i = 0; i < n; i++){var vt = new Vector3d(HH.rand.NextDouble() - 0.5, HH.rand.NextDouble() - 0.5, HH.rand.NextDouble() - 0.5);火星s.Add(new 火星(pt, vt, sudu, cc, 衰减速度));}}public static Color  Rainbow(int k, int min, int max){return Color.FromRgb((byte)k, (byte)min, (byte)max);}private  void 火星飞行事件(object sender, EventArgs e){foreach (var h in 火星s){h.运动();}List<Circle> cirs = new List<Circle>();for (int i = 火星s.Count-1; i  >=0   ; i--){if (火星s[i].灭){cirs.AddRange(火星s[i].cirs);火星s.RemoveAt(i);}}foreach (var c  in cirs){HH.tm.EraseTransient(c, new IntegerCollection());HH.ed.UpdateScreen();System.Windows .Forms.Application.DoEvents();}}public void Dispose(){timer.Tick -= 火星飞行事件;火星s.Clear();timer.Stop(); timer.Dispose();}}public delegate Autodesk.AutoCAD.Colors.Color 颜色(double k,double min,double max);class 火星{Random rand = new Random();public bool 灭;public List<Circle>cirs = new List<Circle>();Circle cir;int k;double 速度;int 总数量;Color 颜色渐变;double 衰减速度;Vector3D 方向;*
///
///
///public void 运动(){k++;var vt = 方向.GetNormal() * 速度;var g = new Vector3D(0, -10, 0);vt = vt + HH.G;cir.Center = cir.Center + vt;Circle cir1 = cir.Clone() as Circle;cir1.Color = 颜色渐变;cirs.Add(cir1);HH.tm.AddTransient(cir1, TransientDrawingMode.Main, 0, new IntegerCollection());速度 *= 衰减速度;if (k > 总数量 || 速度 < 0.1){灭 = true;}}}
}

finally

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/62916.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自然语言处理:基于BERT预训练模型的中文命名实体识别(使用PyTorch)

命名实体识别&#xff08;NER&#xff09; 命名实体识别&#xff08;Named Entity Recognition, NER&#xff09;是自然语言处理&#xff08;NLP&#xff09;中的一个关键任务&#xff0c;其目标是从文本中识别出具有特定意义的实体&#xff0c;并将其分类到预定义的类别中。这…

Pytorch实现心跳信号分类识别(支持LSTM,GRU,TCN模型)

Pytorch实现心跳信号分类识别(支持LSTM,GRU,TCN模型&#xff09; 目录 Pytorch实现心跳信号分类识别(支持LSTM,GRU,TCN模型&#xff09; 1. 项目说明 2. 数据说明 &#xff08;1&#xff09;心跳信号分类预测数据集 3. 模型训练 &#xff08;1&#xff09;项目安装 &…

十,[极客大挑战 2019]Secret File1

点击进入靶场 查看源代码 有个显眼的紫色文件夹&#xff0c;点击 点击secret看看 既然这样&#xff0c;那就回去查看源代码吧 好像没什么用 抓个包 得到一个文件名 404 如果包含"../"、"tp"、"input"或"data"&#xff0c;则输出"…

视觉处理基础1

目录 一、CNN 1. 概述 1.1 与传统网络的区别 1.2 全连接的局限性 1.3 卷积思想 1.4 卷积的概念 1.4.1 概念 1.4.2 局部连接 1.4.3 权重共享 2. 卷积层 2.1 卷积核 2.2 卷积计算 2.3 边缘填充 2.4 步长Stride 2.5 多通道卷积计算 2.7 特征图大小计算方法 2…

泛化调用 :在没有接口的情况下进行RPC调用

什么是泛化调用&#xff1f; 在RPC调用的过程中&#xff0c;调用端向服务端发起请求&#xff0c;首先要通过动态代理&#xff0c;动态代理可以屏蔽RPC处理流程&#xff0c;使得发起远程调用就像调用本地一样。 RPC调用本质&#xff1a;调用端向服务端发送一条请求消息&#x…

C++ 之弦上舞:string 类与多样字符串操作的优雅旋律

string 类的重要性及与 C 语言字符串对比 在 C 语言中&#xff0c;字符串是以 \0 结尾的字符集合&#xff0c;操作字符串需借助 C 标准库的 str 系列函数&#xff0c;但这些函数与字符串分离&#xff0c;不符合 OOP 思想&#xff0c;且底层空间管理易出错。而在 C 中&#xff0…

【大数据学习 | Spark调优篇】Spark之内存调优

1. 内存的花费 1&#xff09;每个Java对象&#xff0c;都有一个对象头&#xff0c;会占用16个字节&#xff0c;主要是包括了一些对象的元信息&#xff0c;比如指向它的类的指针。如果一个对象本身很小&#xff0c;比如就包括了一个int类型的field&#xff0c;那么它的对象头实…

【closerAI ComfyUI】物体转移术之图案转移,Flux三重控制万物一致性生图,实现LOGO和图案的精准迁移

更多AI前沿科技资讯,请关注我们:closerAI-一个深入探索前沿人工智能与AIGC领域的资讯平台 closerAIGCcloserAI,一个深入探索前沿人工智能与AIGC领域的资讯平台,我们旨在让AIGC渗入我们的工作与生活中,让我们一起探索AIGC的无限可能性! 【closerAI ComfyUI】物体转移术之图…

2025软考高级《系统架构设计师》案例模拟题合集

首先分享一下系统架构设计师资料合集&#xff0c;有历年真题、自学打卡表、精华知识点等&#xff0c;需要的留邮&#xff0c;打包分享&#xff01; 1、在设计基于混合云的安全生产管理系统中&#xff0c;需要重点考虑5个方面的安全问题。设备安全、网络安全、控制安全、应用安全…

【C语言】递归的内存占用过程

递归 递归是函数调用自身的一种编程技术。在C语言中&#xff0c;递归的实现会占用内存栈&#xff08;Call Stack&#xff09;&#xff0c;每次递归调用都会在栈上分配一个新的 “栈帧&#xff08;Stack Frame&#xff09;”&#xff0c;用于存储本次调用的函数局部变量、返回地…

LeetCode 438.找到字符串中所有字母异位词

LeetCode 438.找到字符串中所有字母异位词 思路&#x1f9d0;&#xff1a; 需要找到子串异位词&#xff0c;也就是只看该子串是否有相同字母而不管位置是否相同。分析题目发现只需要单调向前找异位词&#xff0c;则可以使用滑动窗口求解&#xff0c;注意这里每当左右边框长度大…

算法刷题Day8:BM30 二叉搜索树与双向链表

题目 牛客网题目传送门 思路 对二叉搜索树进行中序遍历&#xff0c;结果就是按序数组。因此想办法把前面遍历过的节点给记下来&#xff0c;记作pre。当遍历到某个节点node的时候&#xff0c;令前驱指向pre&#xff0c;然后让pre的后驱指向node。 代码 class TreeNode:def…

1.Git安装与常用命令

前言 Git中会用到的一些基本的Linux命令 ls/ll 查看文件目录 (ll可以看隐藏文件)cat 查看文件内容touch 创建文件vi vi编辑器 1.下载与安装 安装成功后鼠标右键会出现Git Bash和Git GUI Git GUI&#xff1a;GUI图形化界面 Git Bash&#xff1a;Git提供的命令行工具 当安装…

ultralytics-YOLOv11的目标检测解析

1. Python的调用 from ultralytics import YOLO import os def detect_predict():model YOLO(../weights/yolo11n.pt)print(model)results model(../ultralytics/assets/bus.jpg)if not os.path.exists(results[0].save_dir):os.makedirs(results[0].save_dir)for result in…

【AI系统】CANN 算子类型

CANN 算子类型 算子是编程和数学中的重要概念&#xff0c;它们是用于执行特定操作的符号或函数&#xff0c;以便处理输入值并生成输出值。本文将会介绍 CANN 算子类型及其在 AI 编程和神经网络中的应用&#xff0c;以及华为 CANN 算子在 AI CPU 的详细架构和开发要求。 算子基…

服务器与普通电脑有什么区别?

服务器和普通电脑&#xff08;通常指的是个人计算机&#xff0c;即PC&#xff09;有众多相似之处&#xff0c;主要构成包含&#xff1a;CPU&#xff0c;内存&#xff0c;芯片&#xff0c;I/O总线设备&#xff0c;电源&#xff0c;机箱及操作系统软件等&#xff0c;鉴于使用要求…

hhdb数据库介绍(10-33)

管理 数据归档 归档记录查询 功能入口&#xff1a;“管理->数据归档->归档记录查询” 需要确保配置的归档用户对数据归档规则所在的逻辑库具备CREATE权限&#xff0c;以及对原数据表具有所有权限。 清理归档数据 &#xff08;一&#xff09;功能入口&#xff1a;“…

重学设计模式-工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)

在平常的学习和工作中&#xff0c;我们创建对象一般会直接用new&#xff0c;但是很多时候直接new会存在一些问题&#xff0c;而且直接new会让我们的代码变得非常繁杂&#xff0c;这时候就会巧妙的用到设计模式&#xff0c;平常我们通过力扣学习的算法可能并不会在我们工作中用到…

微服务springboot详细解析(一)

目录 1.Spring概述 2.什么是SpringBoot&#xff1f; 3.第一个SpringBoot程序 4.配置参数优先级 5.springboot自动装配原理 6.SpringBootApplication&SpringApplication.run 7.ConfigurationProperties(prefix "") 8.Validated数据校验 29、聊聊该如何写一…

华为HarmonyOS 让应用快速拥有账号能力 -- 2 获取用户头像昵称

场景介绍 如应用需要完善用户头像昵称信息&#xff0c;可使用Account Kit提供的头像昵称授权能力&#xff0c;用户允许应用获取头像昵称后&#xff0c;可快速完成个人信息填写。以下只针对Account kit提供的头像昵称授权能力进行介绍&#xff0c;若要获取头像还可通过场景化控…