一个大小为a × a的正方形可以装入半径为R的圆中?
我不需要解决方案.我只是需要某种创意.
typedef enum BeNeLux
{
BELGIUM,
NETHERLANDS,
LUXEMBURG
} _ASSOCIATIONS_ BeNeLux;
Run Code Online (Sandbox Code Playgroud)
当我尝试用C++编译器编译它时,我收到错误,但它似乎与C编译器一起工作.所以这就是问题所在.是否可以用C++打包枚举,或者有人能看出为什么我会得到错误?
错误是:
"宣布BeNeLux后缺少分号".
我知道,在检查和重新检查之后,那里肯定有一个分号,并且在其余代码中需要的任何地方.
附录:
_PACKAGE_
只是一个例子.我正在重命名它.
_ASSOCIATIONS_
不是BeNeLux的一种:
#define _ASSOCIATIONS_ __attribute__((packed))
代码是iffed,但只是为了确保它是GNU C/C++.
#if defined (__GNUC__)
#define _ASSOCIATIONS_ __attribute__((packed))
#else
#define _ASSOCIATIONS_
Run Code Online (Sandbox Code Playgroud)
这会引起问题吗?我认为(GNUC)适用于C和C++
附录2:
我甚至试过了
#ifdef __cplusplus
extern "C" {
#endif
typedef enum BeNeLux
{
BELGIUM,
NETHERLANDS,
LUXEMBURG
} _ASSOCIATIONS_ BeNeLux;
#ifdef __cplusplus
}
#endif
Run Code Online (Sandbox Code Playgroud)
没有快乐.任何人?
注意:-fshort-enums不可能; 寻找程序化解决方案.
struct
当您尝试将数据转换为二进制格式或从二进制格式转换数据时,该模块非常有用.但是,最近我遇到了一个使用binary16浮点格式的文件格式规范.我查看了Python文档,但找不到任何可以转换为它的内容.将这些数据转换为Python浮点数的最佳方法是什么?
我有一堆可变大小的矩形,我需要将它们大致组合成一个圆圈,大概是中心的最大的矩形.
NB.圆圈的大小不是固定的 - 这只是我追求的整体形状.
这更像是我想象一个懒惰的人类包(一旦一件就到位,它就会停留.)
它们已按其宽度和高度的最大值排序,最大值.
理想情况下 - 我认为这可以通过订购得到保证 - 根本没有差距.
我正在努力的算法是:
for each rectangle:
if first:
place rectangle at origin
add all edges to edge list
else:
for each edge in edge list:
if edge is long enough to accomodate rectangle (length <= width or height depending on orientation):
if rectangle placed on this edge does not collide with any other edges:
calculate edge score (distance of mid-point from origin)
use edge with lowest edge score
place rectangle on …
Run Code Online (Sandbox Code Playgroud) 当前的ZMI管理"包数据库"功能有点粗糙.
1)是否可以为Web UI设置某种进度指示器?例如,一个人知道剩下多少分钟/小时,至少给出一些估计
2)ZODB包装如何影响网站的响应度?是否所有交易都被封锁
3)任何具有进度指示器的命令行脚本都可用,因此您可以从ZEO命令行客户端执行此操作?
4)至少某种日志标记注销输出... [INFO] 30%完成... 3:15去
我需要解决以下问题:我有多个大小的矩形:宽度高度,宽度/ 2高度/ 2,宽度/ 4高度/ 4,宽度/ 8高度/ 8 ......等
我需要将这些矩形打包成一个大小为x*width y*height的大矩形,这样就不会有矩形重叠,矩形在包装中随机分布,任何矩形至少应该触及另一个矩形.我尝试了一个相当基本的贪婪算法,但它失败了.
你能给我一些关于如何解决这个问题的建议吗?
谢谢!
编辑:每种尺寸可以有多个矩形
这不是功课.我正在尝试创建一个类似于ted.com效果的效果
随机意味着可能存在多个满足约束条件的矩形包装.该算法在每次运行时不应产生相同的包装.
有没有人知道一个列表,比较所有的python发行版与他们的包?
我一直在寻找一种锁定网络的一次性安装方法,我不想每个月都要打电话给管理员来安装Numpy,然后安装matplotlib等等......
我知道SCIPY,WinPython和其他一些但我还没有找到每个版本/发行版的详细比较?
有任何想法吗?
我正在尝试打开并读取一堆二进制格式的地理参考时间日志文件。他们应该遵循农业机械的 ISO-11783 (ISOBUS) 标准,但在阅读了 100 多页标准后,我无法弄清楚如何使用十六进制编辑器或以编程方式使用 .NET c# 读取文件。我知道时间日志以文件对的形式出现:一个 xml 文件和一个二进制文件。例如,二进制文件名为 TLG00004.bin,在记事本中它看起来像这样(部分):
当我在 Visual Studio 2015(社区)中将该文件作为二进制文件打开时,十六进制如下所示:
这对我没有帮助。我什至不知道如何开始将其作为代码中的字节流(或其他任何内容)阅读。
我知道文件应该以人类可读的形式看起来像这样:(TimeStart, PositionNorth, PositionEast, PositionStatus, # DLV, DLV 0, PDV 0, DLV 1, PDV 1, DLV 2, PDV 2,...)最多可以有 255 个 DLV-PDV 对,我认为它们是 32 位整数。一个例子显示为:(2005-05-02T16:32:00,51.00678,6.03489,1,2,0,10,1,15)
我在文档中看到的一些小提示向我表明这必须是 utf-8 和 base64 编码,带有小端和无字节顺序标记。但是我尝试在 Hexinator 的免费版本中打开它,并且无法(人类)使用该应用程序中的数十种编码中的任何一种来读取它,包括 utf-8、16、32...
我知道这不是正常的编程内容,但我把它扔在那里,看看我是否足够幸运,之前有人做过这件事并看到了这一点。任何提示或资源指向都会让我感激不尽,如果有人可以分享任何读取此类文件的代码,我将非常感激。
我正在尝试使用基于极值点的方法来实现 3D 打包算法。介绍这种方法的论文可以在这里看到:Extreme Point-Based Heuristics for 3D Dimensional Bin Packing
论文最后还有一个伪代码算法(Algorithm 1 Update3DEPL)。我很难理解作者的意思如下:
他用标识符指的是什么Yx, Yz, Xy, Xz, Zx, Zy
?我知道他用它来索引数组,但是我不知道他的意思。我很确定作者每次都想引用一对轴,但我又不知道这意味着什么。
我更困惑的是该函数的CanTakeProjection
作用以及它需要上述符号(Yx,Yz,...)的用途?该功能的解释也没有帮助我:
CanTakeProjection:如果 EP k 位于项目 k 的一侧,则函数返回 true
极端点 k 应该如何不位于项目 k 的一侧?或者这是一个错字,它应该如下所示:
CanTakeProjection:如果 EP k 位于项目i的一侧,则函数返回 true
(注意末尾的 'i' 而不是 'k'。)但同样,extremePoint位于项目的一侧是什么意思?它是指哪一边?任何?或者由给定参数 Xy 定义的特定值(例如)。
我希望我说清楚我的问题是什么。解释起来很棘手。如果有人能为我澄清这一点或为我指明正确的方向,我将不胜感激。
我正在努力解决一个 3D 问题,我正在尝试寻找一种有效的算法。
我有一个给定宽度、高度和深度的边界框。
我还有一个领域列表。即,每个球体的中心坐标 (xi , y i ,zi )和半径 r i 。
保证球体适合边界框,并且不会相互重叠。
所以我的情况是这样的:
现在我有一个半径为 r 的新球体,我必须将其放入边界框内,而不与之前的任何球体重叠。
我还有一个目标点 T = (x,y,z),我的目标是使这个新球体(给定上述条件)尽可能接近该目标点。
我正在尝试构建一种有效的算法来找到新球体的最佳位置。最优为:尽可能接近目标点。或者,如果边界框内任何位置的现有球体之间或周围没有空间适合这个新球体,则结果为“假”。
我想过各种复杂的方法,例如构建剩余体积的某种参数化描述,从边界框开始,一一减去现有的球体。但这似乎并没有引导我找到可行的解决方案。
请注意,有很多已知的“球体填充”算法,但它们往往只是用随机球体填充体积。他们还经常使用试错方法,只是进行一定数量的随机尝试,然后终止。
而我有一个给定的特定新球体尺寸,我需要将其适应(或发现这是不可能的)。
packing ×10
algorithm ×5
python ×3
3d ×2
math ×2
bin-packing ×1
binaryfiles ×1
c ×1
c# ×1
c++ ×1
compilation ×1
encoding ×1
enums ×1
format ×1
geometry ×1
geospatial ×1
optimization ×1
plone ×1
struct ×1
volume ×1
zodb ×1
zope ×1