hrefspace

 找回密码
 立即注册
搜索
热搜: PHP PS 程序设计
查看: 1252|回复: 5

随机圆(球)问题

[复制链接]

557

主题

557

帖子

1898

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1898
发表于 2023-10-2 16:38:25 | 显示全部楼层 |阅读模式
问题A:在二(三)维空间中,给定区域 `D` 内(为简单起见,仅考虑矩形空间)随机分布 `n` 个圆(球),要求它们所处的空间没有重叠(至多相切),问
1. 若半径均为 `r`,`n` 个随机圆(球)心的坐标有什么算法能求?
这一问最直接的方法就是随机生成圆(球)心坐标,保证点与点之间距离不小于 `2r`即可。但问题是当 `n` 较大时,效率不会太高,主要是前面的圆(球)心选择自由较大,后面的选择范围小,随机搜命中率不高。

2. 若半径为 `a` 到 `b`(`0 < a < b`),如何确定这 `n` 个随机圆(球)心的坐标和各自半径大小?

继续加强——

问题B:在二(三)维空间中,给定区域 `D` 内(为简单起见,仅考虑矩形空间)随机分布若干个圆(球),要求它们所处的空间没有重叠(至多相切),问:若半径为 `a` 到 `b`(`0 < a < b`)的圆(球)容积之和占区域总容积的比例系数为 `p` (`0 < p <1`),问
是否存在合适的算法给出随机圆(球)个数及圆(球)心坐标与各自半径大小?进一步,若半径限定范围有多组,且相应比例系数之和小于1,且假设给定的范围和比例系数能够保证存在至少一组满足要求的解,那前面的算法是否也能扩展使用?

继续下去,也可以将区域 `D` 改成球形空间来重新讨论上述问题。
回复

使用道具 举报

0

主题

186

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-2 16:38:44 | 显示全部楼层
这个问题我早就写过程序了。
回复

使用道具 举报

0

主题

205

帖子

49

积分

新手上路

Rank: 1

积分
49
发表于 2023-10-2 16:38:59 | 显示全部楼层
我传图不了咋回事?
回复

使用道具 举报

0

主题

183

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-2 16:39:17 | 显示全部楼层
能说一下你的算法吗?
回复

使用道具 举报

0

主题

167

帖子

92

积分

关内侯

Rank: 2

积分
92
发表于 2023-10-2 16:40:15 | 显示全部楼层
x1         y1           z1        r
  2.7458   1.2923   1.7291   0.7447
  4.9957   3.5080   1.1639   0.7977
  2.0986   3.7244   2.0932   0.7013
  1.4434   2.8462   1.0878   0.7308
  3.2905   5.2613   2.2069   0.6433
  3.0543   2.8944   1.5164   0.6531
  0.7821   5.2322   2.0219   0.6921
  4.9616   1.9642   1.2431   0.6866
  4.3082   5.2276   1.1290   0.4703
  1.8400   2.3010   2.5075   0.4732
  3.2041   4.1244   2.4040   0.4653
  2.4333   4.4287   0.7832   0.5324
  4.2204   1.0812   1.8015   0.4319
  2.3289   0.6776   0.4218   0.4213
  5.2827   4.6992   1.8704   0.5757
  0.9349   4.0740   1.7095   0.4570
  0.6631   1.5277   1.2867   0.4435
  0.6491   2.6086   2.4623   0.4651
  3.8465   1.4022   0.6889   0.4814
  0.9986   0.9540   2.0348   0.5400
  0.5818   2.1635   0.5231   0.4866
  0.4459   4.4122   0.4239   0.4212
  4.9433   0.7976   1.0653   0.4337
  3.8143   3.9851   0.4769   0.4412
  2.2190   4.8101   1.6926   0.4316
  1.3773   0.5626   0.9135   0.4162
  5.5339   3.4812   2.3658   0.4136
  5.3362   1.8269   2.3902   0.5199
  5.5307   4.6247   0.7734   0.4629
  2.0596   1.6910   0.8668   0.4021
  4.3575   2.7058   2.1385   0.5641
  3.4948   2.2396   2.5773   0.4209
  3.8437   2.5350   0.5945   0.4162
  4.2444   4.5456   1.7283   0.4264
  1.5045   5.0871   0.9518   0.4446
  3.4582   4.9776   0.5060   0.4085
  0.4988   5.5156   0.4753   0.4106
  2.1165   0.4187   2.3855   0.4179
  4.3905   3.7578   2.4458   0.5229
  0.5134   4.1988   2.4912   0.4358
  5.1677   0.6478   2.2586   0.5978
  2.8566   3.1985   0.4575   0.4297
  2.6485   5.4488   0.5198   0.4803
  3.2670   0.5837   0.6575   0.4368
  2.2394   5.5539   2.5548   0.4406
  2.9479   2.1498   0.5990   0.4637
  4.3845   5.5347   1.9712   0.4265
  4.7986   2.5457   0.5620   0.2179
  5.4981   1.4751   0.6270   0.2485
  0.2370   4.0786   1.4267   0.2076
  5.0954   5.4146   2.5419   0.2453
  2.8451   3.2840   2.6783   0.3197
  1.1069   4.0455   0.5085   0.3158
  4.4959   4.5963   2.5305   0.2321
  4.1656   5.7696   2.7278   0.2136
  0.4613   3.4514   1.6593   0.2230
  3.8446   0.8300   2.5838   0.3489
  2.8547   4.0498   0.2551   0.2210
  0.5773   3.1945   0.7450   0.2455
  4.0107   0.5164   0.8331   0.2455
  5.0991   5.6439   0.6480   0.3358
  5.6442   2.1839   0.5232   0.2518
  1.6670   4.5059   0.6956   0.2030
  4.3922   5.0078   0.3258   0.2506
  0.2357   1.9902   2.0810   0.2021
  0.9264   0.3449   0.4158   0.2611
  3.7818   4.5906   1.1349   0.2950
  2.2142   2.3347   1.4850   0.2364
  1.6358   4.4908   1.4380   0.2614
  4.9148   1.2796   0.2778   0.2041
  0.9674   1.4853   0.6062   0.2754
  2.9109   1.2095   0.3405   0.2528
  0.2540   2.7298   0.8925   0.2331
  5.5488   2.8873   2.1750   0.2008
  2.2991   2.1045   0.3500   0.2308
  0.5956   3.7288   0.4611   0.2191
  4.0893   0.2737   1.4061   0.2215
  0.4531   0.5393   1.1473   0.2256
  3.7477   3.7106   1.5088   0.2128
  3.1494   3.8168   0.5670   0.2064
  5.2436   5.2277   1.1247   0.2241
  1.2395   3.2780   2.1857   0.2617
  1.4014   1.1927   2.7100   0.2334
  3.3469   5.6236   1.1766   0.2495
  4.9768   4.9853   0.5482   0.2251
  1.8162   2.1657   1.7577   0.2019
  3.8800   1.8437   1.6138   0.3493
  1.7885   5.2352   2.1925   0.2168
  1.1349   1.8368   2.3373   0.3434
  1.6790   3.9270   1.1079   0.3186
  2.0087   0.9555   2.7270   0.2184
  1.3722   1.1600   0.4034   0.2229
  5.0133   0.2835   0.5308   0.2507
  4.9310   1.6976   0.3548   0.2212
  4.1283   4.8962   2.6853   0.2314
  3.9699   1.4839   2.5500   0.2593
  3.6561   0.6258   1.3205   0.3142
  3.5657   0.2936   1.8616   0.2313
  5.3301   2.6438   0.2267   0.2134
  0.4591   0.3248   2.5737   0.2732
  5.6628   0.8565   0.6230   0.3021
  2.8914   4.4018   1.4949   0.2729
  4.5857   5.1334   2.6995   0.2771
  0.4042   3.1230   2.0602   0.2186
  4.0149   5.5131   0.3437   0.2740
  4.6871   4.5766   0.6794   0.2360
  4.2378   0.4030   2.3465   0.2055
  0.2254   3.7138   2.0034   0.2136
  1.5158   5.6116   0.2589   0.2121
  5.3811   5.5125   1.6930   0.2369
  2.7451   0.5604   2.6483   0.2507
  3.6080   4.7390   1.6018   0.2042
  3.3998   3.4363   2.7424   0.2525
  1.5308   4.4682   2.3948   0.2041
  0.4584   0.9986   0.5339   0.3684
  4.9952   4.4369   2.6768   0.2748
  2.8724   5.5280   1.2506   0.2017
  0.4601   1.2426   2.6450   0.2476
  4.6496   0.5385   1.5925   0.2115
  0.4190   4.7904   1.1657   0.3373
  1.9433   5.7009   1.1680   0.2448
  2.2702   2.8365   2.6982   0.2157
  1.6089   1.0761   1.6047   0.2087
  2.3571   3.8417   0.2388   0.2250
  1.5443   0.3223   1.8325   0.2685
  3.5228   3.5264   0.9397   0.2455
  1.5753   0.1722   0.5886   0.1020
  0.9150   0.9365   0.2560   0.1265
回复

使用道具 举报

0

主题

189

帖子

25

积分

新手上路

Rank: 1

积分
25
发表于 2023-10-2 16:40:29 | 显示全部楼层
程序说明
--------------------------------------------------------------
1.程序功能
在长方体(d1Xd2Xd3)内均匀随机投放多级配球形骨料,达到一定体积比例。
i,某种级配的球体骨料的投放体积比例范围自设。(不超过45%,填充比例高,耗时多。)
ii,所有级配的球体骨料都不得相交(重叠)及包含,不得超出投放区域。
--------------------------------------------------------------
2.程序组成
主程序:SpherePacking.m
子程序:
在长方体内随机生成球体:CreatSphereInCube.m
判断球是否相交:dsphere.m
画球体:PlotSphere.m
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|hrefspace

GMT+8, 2024-11-25 10:23 , Processed in 0.071706 second(s), 21 queries .

Powered by hrefspace X3.4 Licensed

Copyright © 2022, hrefspace.

快速回复 返回顶部 返回列表