我一直在七个互联网上进行广泛搜索,但无济于事.最接近我需要的似乎是切割库存问题,仅在2D(这是令人失望的,因为维基百科没有提供如何解决该问题的任何指示).另一个看似相似的问题是UV展开.那里有解决方案,但只有那些你从各种3D软件附加组件中获得的解决方案.
缩短谈话时间 - 我想要的是:给定一个已知宽度和高度的矩形,我必须找出有多少已知尺寸的形状(多边形)(可以随意旋转)可以放在那个矩形内.
例如,我可以选择一个T形件,在同一个矩形中,我可以有效地打包它,每个矩形产生4个形状

以及根据他们的边界框平铺它们,我只能适应3的情况

但当然,这只是一个例子......我认为解决这个特殊情况并不是很有用.我现在能想到的唯一方法就是回顾它们的复杂性或只解决这个问题的特定情况.所以...任何想法?
好吧,我最近有这个功课(不用担心,我已经完成了它,但在c ++中)但我很好奇我怎么能在python中做到这一点.问题是关于发光的2个光源.我不会详细介绍.
这是代码(我在后一部分设法优化了一点):
import math, array
import numpy as np
from PIL import Image
size = (800,800)
width, height = size
s1x = width * 1./8
s1y = height * 1./8
s2x = width * 7./8
s2y = height * 7./8
r,g,b = (255,255,255)
arr = np.zeros((width,height,3))
hy = math.hypot
print 'computing distances (%s by %s)'%size,
for i in xrange(width):
if i%(width/10)==0:
print i,
if i%20==0:
print '.',
for j in xrange(height):
d1 = hy(i-s1x,j-s1y)
d2 = hy(i-s2x,j-s2y)
arr[i][j] = …Run Code Online (Sandbox Code Playgroud)