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

手机网站格局哪个网站做推广做的最好

手机网站格局,哪个网站做推广做的最好,wordpress 云笔记,如何配置wordpressMATLAB交互式贝塞尔曲线演示 以下是一个MATLAB交互式贝塞尔曲线演示代码,允许用户通过点击界面来添加控制点并实时查看贝塞尔曲线的变化: function interactive_bezier()% 创建图形窗口fig figure(Name,交互式贝塞尔曲线演示, NumberTitle,off);ax a…

MATLAB交互式贝塞尔曲线演示

以下是一个MATLAB交互式贝塞尔曲线演示代码,允许用户通过点击界面来添加控制点并实时查看贝塞尔曲线的变化:

function interactive_bezier()% 创建图形窗口fig = figure('Name','交互式贝塞尔曲线演示', 'NumberTitle','off');ax = axes('Parent', fig);title(ax, '点击添加控制点 (右键结束)');xlabel(ax, 'X轴');ylabel(ax, 'Y轴');grid(ax, 'on');hold(ax, 'on');axis(ax, [0 10 0 10]);% 初始化控制点controlPoints = [];bezierCurve = [];% 设置鼠标点击回调函数set(fig, 'WindowButtonDownFcn', @addControlPoint);% 添加控制点函数function addControlPoint(~, ~)% 获取点击位置pt = get(ax, 'CurrentPoint');x = pt(1,1);y = pt(1,2);% 检查是否是右键点击 (结束)if strcmp(get(fig, 'SelectionType'), 'alt')if size(controlPoints, 1) >= 2% 结束添加,允许拖动控制点set(fig, 'WindowButtonDownFcn', @selectControlPoint);title(ax, '可以拖动控制点 (右键清除)');endreturn;end% 添加新控制点,垂直拼接controlPoints = [controlPoints; x, y];% 绘制控制点和连线cla(ax);plot(ax, controlPoints(:,1), controlPoints(:,2), 'ro-', 'MarkerFaceColor', 'r');% 如果有足够点,绘制贝塞尔曲线if size(controlPoints, 1) >= 2updateBezierCurve();endend% 更新贝塞尔曲线函数function updateBezierCurve()% 计算贝塞尔曲线t = linspace(0, 1, 100)';n = size(controlPoints, 1) - 1;curve = zeros(length(t), 2);for i = 0:n% 计算伯恩斯坦多项式B = nchoosek(n,i) * (t.^i) .* ((1-t).^(n-i));curve = curve + B .* controlPoints(i+1,:);end% 绘制曲线if ~isempty(bezierCurve)delete(bezierCurve);endbezierCurve = plot(ax, curve(:,1), curve(:,2), 'b-', 'LineWidth', 2);end% 选择控制点函数function selectControlPoint(~, ~)% 检查是否是右键点击 (清除所有点)if strcmp(get(fig, 'SelectionType'), 'alt')controlPoints = [];cla(ax);set(fig, 'WindowButtonDownFcn', @addControlPoint);title(ax, '点击添加控制点 (右键结束)');return;end% 获取点击位置pt = get(ax, 'CurrentPoint');x = pt(1,1);y = pt(1,2);% 查找最近的控制点if ~isempty(controlPoints)distances = sqrt((controlPoints(:,1)-x).^2 + (controlPoints(:,2)-y).^2);[~, idx] = min(distances);% 设置拖动回调函数set(fig, 'WindowButtonMotionFcn', {@dragControlPoint, idx});set(fig, 'WindowButtonUpFcn', @stopDrag);endend% 拖动控制点函数function dragControlPoint(~, ~, idx)% 获取当前鼠标位置pt = get(ax, 'CurrentPoint');x = pt(1,1);y = pt(1,2);% 更新控制点位置controlPoints(idx,:) = [x, y];% 重绘cla(ax);plot(ax, controlPoints(:,1), controlPoints(:,2), 'ro-', 'MarkerFaceColor', 'r');updateBezierCurve();end% 停止拖动函数function stopDrag(~, ~)set(fig, 'WindowButtonMotionFcn', '');set(fig, 'WindowButtonUpFcn', '');end
end

使用说明

  1. 运行上述代码将创建一个交互式图形窗口
  2. 添加控制点:用鼠标左键点击图形区域添加控制点
  3. 结束添加:右键点击结束控制点添加阶段
  4. 拖动控制点:在结束添加后,可以点击并拖动现有控制点
  5. 重置:右键点击清除所有控制点并重新开始

运行结果:
在这里插入图片描述

贝塞尔曲线原理

这段代码实现了n阶贝塞尔曲线的计算,使用伯恩斯坦多项式:

B ( t ) = ∑ i = 0 n ( n i ) ( 1 − t ) n − i t i P i , t ∈ [ 0 , 1 ] \mathbf{B}(t) = \sum_{i=0}^n \binom{n}{i} (1-t)^{n-i} t^i \mathbf{P}_i, \quad t \in [0,1] B(t)=i=0n(in)(1t)nitiPi,t[0,1]

其中:

  • P i \mathbf{P}_i Pi 是第 i i i 个控制点(向量)。
  • ( n i ) \binom{n}{i} (in) 是二项式系数(组合数)。

曲线会实时更新以反映控制点的变化。

您可以将此代码保存为.m文件并在MATLAB中运行,或者直接在命令窗口中执行。

http://www.yayakq.cn/news/152961/

相关文章:

  • wordpress个人网站后台登陆深圳网站关键词优化推广
  • 国外中文网站排行榜单wordpress ui 插件
  • 哪里做网站比较好网站的域名做邮箱吗
  • 顺通建设集团有限公司 网站美食网站建设的时间进度表
  • 网站建设购物车汽车商城网站模板免费下载
  • 网站建设就找桥三科技软文广告素材
  • 昭通建网站成都建设规划局网站
  • 做外贸网站怎么做深圳物流公司收费标准
  • 课程中心网站建设内容陕西省交通建设集团公司招聘网站
  • 单位网站建设意义永久免费的ip代理
  • 网站页尾的作用wordpress推荐新用户
  • 龙岗网站建设价位网站开发公司东莞
  • 苏州建网站的公司一站式服务公司耒阳住房与建设局网站
  • 网站二级菜单模板广西企业网站有哪些
  • jsp网站开发书籍网络设计课程中对网页设计的报告
  • 设计公司网站建设费用网站布局
  • 网站负责人彩色验照vi企业设计
  • 无锡设计师网站wordpress ajax分页插件
  • 深圳网站制作十年乐云seo品牌上海网站建设收费标准
  • 胶州做网站手工制作钟表
  • 网站搜索优化技巧模板网站代码
  • 网站ico在后台哪里找到宁波建网站哪家值得信赖
  • wordpress建站详解wordpress恢复旧的编辑页面
  • 开封市做网站的公司什么是sem营销
  • 怎么做可以把网站图片保存下来吗百度云服务器安装wordpress
  • 制作一个网站平台吗手把手教你网上开店
  • 客户说做网站价格高哪里可以学习做网站
  • 网站建设时怎么赚钱的各大网站收录入口
  • 网站建设作业多少钱遵义市做网站设计公司
  • 四川铁科建设监理公司网站深圳建工是国企还是私企