简单写一个随机在一个三维区域生成球的matlab函数

2023-10-29

(1条消息) 使用MATLAB在给定矩形区域随机绘制任意个不相交的圆_风一样的航哥的博客-CSDN博客

以上博客自从发表以来好几个同学都问我,三维的怎么实现,今天下班之后,就写一个。不知道是不是其他同学需要的。

先上代码:

function  plotNsphere_in_rect(X1,X2,Z1,Y1,Y2,Z2,N,R)
%plotNcircle_in_rect(X1,X2,Z1,Y1,Y2,Z2,N,R) 函数说明:
%  此函数用来会绘制 N 个矩形区域里面随机生成的半径为 R 的圆,三维区域为(X1,Y1,Z1)->(X2,Y2,Z2)
%  输出是一张plot绘制的图,
close all
X=zeros(1,N);
Y=zeros(1,N);
Z=zeros(1,N);
i=1;
while(i<=N)
    X(i)=X1+X2*rand;
    Y(i)=Y1+Y2*rand;
    Z(i)=Z1+Z2*rand;
    if(i>=2)
        for j=i:-1:1
            if(j==1)
                i=i+1;
                continue;
            else
                dis = sqrt((X(i)-X(j-1))^2 + (Y(i)-Y(j-1))^2+(Z(i)-Z(j-1))^2);
                if(dis<2*R)
                    i=i-1;
                    break;
                end
            end
        end
    else
        i=i+1;
    end
end
    figure
for i=1:1:N
    myplotsphere(X(i),Y(i),Z(i),R);
    hold on 
    axis equal
    grid on
end

此函数的参数需要自行确定为有效的三维空间,本来是要做参数检查的,一会儿要去车站接人就不写了。N表示N个球体,R表示球体的半径。myplotsphere函数如下,参数为球心坐标和半径。

function myplotsphere(X,Y,Z,R)
% myplotsphere使用三点和半径进行绘制一个球体
%   x,y,z;三维坐标;R:半径
[x,y,z]=sphere;
surf(R*x+X,R*y+Y,R*z+Z)
% mesh(R*x+X,R*y+Y,R*z+Z)
hold on
% axis equal
end

实际运行如下:plotNsphere_in_rect(0,0,0,100,100,100,50,4)

先这样吧,下班接对象去了,大家有什么疑问,请评论交流。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

简单写一个随机在一个三维区域生成球的matlab函数 的相关文章

  • 图像分析-光纤识别

    我是图像分析新手 您知道如何以仅获取纤维的方式对该图像进行二值化吗 我尝试过不同的阈值技术等 但没有成功 我不介意应该使用什么工具 但我更喜欢 NET or Matlab PS 我不知道该把答案放在哪里 所以我把它放在StackOverfl
  • 如何在 MATLAB 中可视化球体的交集?

    似乎这个问题在一些地方被问过 包括SO https stackoverflow com questions 35130336 draws the intersecting volume of two spheres in matlab 我最
  • 在 Excel 中打印 MATLAB 图窗并调整其大小

    我在 MATLAB 中有两个带有手柄的图形hFig1 and hFig2 我想将它们打印到 Excel 中的特定单元格 单元格 E3 和 I3 并将它们重新调整为 2 英寸 x 3 英寸 我尝试过使用 AddPictures对象处理程序和使
  • 在 MATLAB 中使用 FFT 的频率响应

    这是场景 使用频谱分析仪 我有输入值和输出值 样本数是32000采样率为2000样本 秒 输入是正弦波50 hz 输入为电流 输出为压力 单位 psi 我如何使用 MATLAB 根据这些数据计算频率响应 使用 MATLAB 中的 FFT 函
  • 在另一列中添加具有特定条件的一列,如 excel 的 sumif

    我有一个像这样的矩阵 A 1 2 2 3 3 4 4 5 5 6 6 8 7 9 8 5 9 4 现在我想添加第二列 条件是如果 limit 0 interval 3 且 limit limit interval 或者换句话说 当第 1 列
  • 使用mat2cell将MxN的矩阵划分为1xN大小的M矩阵

    我有一个大小为 MxN 的矩阵 比方说 1867x3 1867 行和 3 列 我想将其分成 1867 个大小为 1x3 的单元格 我使用了mat2cell X 1 1866 这里X是矩阵 1867x3 结果给出了两个单元格 一个单元格的大小
  • 为什么旋转 3D 点云后顶点法线会翻转?

    我有两个人脸 3D 点云样本 蓝色点云表示目标面 红色点云表示模板 下图显示目标面和模板面在不同方向上对齐 目标面大致沿 x 轴 模板面大致沿 y 轴 Figure 1 The region around the nose is displ
  • 如何找到在matlab中重复的矩阵的每一行的索引?

    我想找到矩阵中所有有重复项的行的索引 例如 A 1 2 3 4 1 2 3 4 2 3 4 5 1 2 3 4 6 5 4 3 要返回的向量将是 1 2 4 很多类似的问题建议使用unique函数 我已经尝试过 但我能得到的最接近我想要的功
  • MATLAB 教程中的 SIFT 实现

    我正在寻找 MATLAB 中的一些基本 SIFT 实现 我需要从第一原则来写它 另外 我正在寻找一些可以解释程序中发生的事情的内容 Vedali 的代码和 David Lowe 的代码超出了我的理解范围 如果您是 Matlab 用户 您一定
  • 如何在 Matlab 中将数组打印到 .txt 文件?

    我才刚刚开始学习Matlab 所以这个问题可能非常基本 我有一个变量 a 2 3 3 422 6 121 9 4 55 我希望将值输出到 txt 文件 如下所示 2 3 3 422 6 121 9 4 55 我怎样才能做到这一点 fid f
  • 如何将二进制值列表转换为int32类型?

    我在 MATLAB 工作区中有一个小端格式的二进制数列表 我想将它们转换为 int32 a是由 0 和 1 组成的双向量 如下所示 a 0 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 1 1 0 0 0 1 1
  • Matlab:如何更改矩阵的存储方式?从 1x1x3 到 1x3?

    我目前有 val 1 0 7216 val 2 0 7216 val 3 0 7216 但我想要 0 7216 0 716 0 721 我可以做什么样的操作来做到这一点 The reshape函数将在这里解决问题 Arrange the e
  • 使用符号求解器仅求解某些变量

    我正在尝试在 MATLAB 中求解包含 3 个变量和 5 个常量的方程组 是否可以使用solve求解三个变量 同时保持常量为符号而不用数值替换它们 当您使用SOLVE http www mathworks com access helpde
  • 如何告诉 mex 链接到 /usr/lib 中的 libstdc++.so.6 而不是 MATLAB 目录中的 libstdc++.so.6?

    现在 MATLAB 2012a 中的 mex 仅正式支持 gcc 4 4 6 但我想使用 gcc 4 7 风险自负 现在如果我直接用 mex 编译一些东西 它会抱怨 usr lib gcc i686 linux gnu 4 7 cc1plu
  • matlab中类库的全局变量

    我有一些matlab声明的类 我如何声明所有类中都可见的常量 例如 这些常量可以是在所有类的方法中使用的物理常量 首先想到的是使用全局变量 还有更好的办法吗 最好在单独的文件中声明这些常量 包含常量的类是执行此操作的一种很好的干净方法 请参
  • 通过 Matlab 访问 Physionet 的 ptbdb 中的数据库

    我首先设置系统 old path which rdsamp if isempty old path rmpath old path 1 end 8 end wfdb url http physionet org physiotools ma
  • 如何更改Plotyy第二轴的颜色和字体大小?

    我使用 MATLAB 的plotyy 函数绘制了两条曲线 AX H1 H2 plotyy voltage span amplitude voltage span Ca SR The problem is that I cannot chan
  • 如何在文本集中创建所有字符组合?

    例如 我有这样的文本集 第 1 栏 a b 第 2 栏 l m n 第 3 栏 v w x y 我想将它们组合起来以获得如下输出 alv alw alx aly amv amw amx amy 这将输出 24 种文本组合 如果我只使用前两列
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 在matlab中绘制给定区域内(两个圆之间)的向量场

    我想在 Matlab 中绘制下面的向量场 u cos x x 0 y y 0 v sin x x 0 y y 0 我可以在网格中轻松完成 例如 x 和 y 方向从 2 到 2 x 0 2 y 0 1 x y meshgrid 2 0 2 2

随机推荐

  • H无穷控制器在Matlab中的实现

    H无穷控制器在Matlab中的实现 H无穷控制器是一种广泛应用于控制系统设计中的方法 它可以用来设计具有鲁棒性和性能要求的控制器 在本文中 我们将介绍如何在Matlab中实现H无穷控制器 并提供相应的源代码 H无穷控制器的设计主要涉及到两个
  • python 用OpenCV统计图片中黄色部分的个数。

    原图片 我的想法是 先将图片中除了黄色的部分全部变为白色 然后再利用 cv2 findContours 函数来识别轮廓 直接统计轮廓的个数就是黄色部分的个数 程序代码 coding utf 8 import os import cv2 im
  • 2023mathorcupA题量子计算机在信用评分卡组合优化中的应用思路

    2023mathorcup A题 量子计算机在信用评分卡组合优化中的应用思路 gzh数模孵化园 出品 先说说这题难在哪 主要在于计算 计算 还是计算 优化算法的计算 三道题都是考察这个 而且是转变为QUBO 形式并求解 问题1要求在100个
  • angular蚂蚁_angular api文档

    AngularJS 中的友好 URL 移除URL 中的 已翻译100 AngularJS 默认将会使用一个 号来对URL进行路由 例如 http example com http example com about http example
  • vue+element ui中的tableData中的数据格式

    tableData接收的是一个数组 数组中的元素是一个个的键值对 如图 tableData接收从后端返回的值 遍历一维数组 就是说 tabelData member 那么从纵向而言 就是遍历数组的个数 tableData从member中 取
  • android内存优化面试题,如何成为一个更好的Android开发者

    前言 事情是这样的 今年年初 在某个大博主那里拿到一份Android面试宝典合集 然后就一直躺在盘里吃灰 直到5月份的时候 有了要跳槽的计划和打算 就想着要刷刷面试题 所以就把这套 积灰 的面试宝典拿出看了看 因为这份文档是一位Alibab
  • Android Handler机制

    Android开发中经常用到handler来发送消息 比如将消息抛到主线程去更新UI handler机制涉及到四个核心的类 Looper 消息循环 有一个Messagequenue 不断从消息队列中取出消息 MessageQuenue 消息
  • cnn 预测过程代码_【交通+AI】使用CNN+LSTM实时出租车出行预测(上)

    这篇论文主要讲述了使用成都的出租车轨迹数据进行建模后生成出行强度图 使用CNN和LSTM进行学习之后通过反卷积生成出行强度预测图 非常适合上手这个领域 主要有两点原因 第一 出租车出行强度只包含了上车下车的频次信息 不涉及OD 路线等复杂问
  • hbase region拆分的三种方式

    我们都知道 region在数据量大到一定程度的时候 会进行拆分 最开始由一个变成二个 而拆分的方式有三种 包括预拆分 自动拆分 手动强制拆分 下面就来介绍介绍拆分的方式 预拆分 预拆分 pre splitting 就是在建表的时候就定义好了
  • 使用Python模拟登陆虎扑,获取cookies

    模拟的虎扑app登录逻辑 import requests import hashlib import re def login username password headers Host games mobileapi hupu com
  • java的remove方法_Java 中remove()方法的使用

    Java 中remove 方法的使用 1 在对集合进行迭代的时候删除其中的元素 最好使用迭代器Iterator的 remove方法进行删除 Iterator ite list iterator while ite hasNext Objec
  • 森林正版服务器,《森林》正式版服务器怎么设置 游戏专用服务器设置教程

    导 读 对于想要联机的小伙伴来说如果拥有自己的服务器那是一件再好不过的时间了 所以今天小编为大家带来的就是玩家 ccsingtao 翻译整理分享的森林游戏专用服务器设置教程 不会创建设置的玩家还不点击进来看看 对于想要联机的小伙伴来说如果拥
  • Jquery serializeObject

    获取Form表单数据 param string form param Array
  • unity中开启物理效果时,用A方块击打B方块,A会直接穿过B(当速度比较大时)

    unity中开启物理效果时 用A方块击打B方块 A会直接穿过B 当速度比较大时 这个有什么好办法解决不 谢谢 最核心的是 限制A方块的速度 以下是网友的建议 可以提高运行次数 减少速度 1 方块A的速度不要乘上Time deltaTime
  • 南开大学软件学院2021年秋季学期研究生算法课程(复习)非确定算法:随机与近似

    非确定算法 随机与近似 确定性算法Deterministic algorithms 对于给定的输入 算法的输出和运行时间不变 非确定性算法Non deterministic algorithms 对于给定的输入 算法的输出或运行时间是不确定
  • Arduino无人机四轴飞行器(esp8266)

    想要更多项目私wo 一 电路设计 硬件组成 Arduini Nan ESP8266 MPU6050 模块 有刷电机 螺旋桨 电池包 Si2302场效应管 无人机架 ESP8266模块 为了与无人机通信 我们需要蓝牙或WIFI连接 所以我们使
  • linux下Zlib的安装与使用

    1 zlib简介 zlib 适用于数据压缩的函式库 由Jean loup Gailly 负责compression 和 Mark Adler 负责decompression 开发 zlib被设计成一个免费的 通用的 法律上不受阻碍 即没有被
  • ARM编译Qt程序报错pinyin.cpp:1: error: stray ‘\357‘ in program

    ARM编译Qt程序报错pinyin cpp 1 error stray 357 in program 问题 Qt程序用gcc编译可以通过 用arm linux gcc编译文件的时候出现异常错误 pinyin cpp 1 error stra
  • 西瓜书学习笔记day2

    模型评估与选择 一 经验误差与过拟合 错误率 分类错误的样本数占样本总数的比例 在m个样本中共有a个样本分类错误 则错误率E a m 精度 1 a m 误差 学习器实际预测输入与样本的真实输出之间的差异定义为误差 在训练集中的误差被称为训练
  • 简单写一个随机在一个三维区域生成球的matlab函数

    1条消息 使用MATLAB在给定矩形区域随机绘制任意个不相交的圆 风一样的航哥的博客 CSDN博客 以上博客自从发表以来好几个同学都问我 三维的怎么实现 今天下班之后 就写一个 不知道是不是其他同学需要的 先上代码 function plo