apache-flex - 寻找在 AS3 的虚拟房间中自动布置一组对象(家具)的想法

标签 apache-flex flash actionscript-3 algorithm

首先,我不想用鼠标拖动它们来可视化排列 3D 模型,我只想:

给定一个特定尺寸(长、宽、高)的房间并给定一组元素,如床、椅子等(当然有长、宽、高尺寸)我想自动安排这些元素以利用尽可能多的空间。所以我希望能够在给定的房间里放置尽可能多的家具。最后,我需要在房间内直观地表示已安排的项目。

我的第一个想法是使用项目数组并使用 array.sortOn(["l","w","h"] Array.NUMERIC) 对其进行排序,然后定义对象之间的间隙并进行数学运算将对象一个接一个地放置等等,但这不是一个好方法,因为某些项目可能会放置在另一个项目之上(相同大小的盒子、 table 顶部的盒子等)。

我真的没有 3D 编程方面的经验,这就是我寻求帮助的原因。提前致谢。

最佳答案

这就是所谓的 "Knapsack Problem" - 如果你能解决它,你将获得诺贝尔奖 ;-)

基本上,在您的案例中,您处理的对象数量相当少,因此您可以通过暴力破解解决方案。否则,花一些时间在维基百科上,阅读多年来开发的各种近似值的捷径。

关于apache-flex - 寻找在 AS3 的虚拟房间中自动布置一组对象(家具)的想法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2954762/

相关文章:

css - 如何将 CSS 文件动态加载到 Flex 应用程序中?

ios - 如何在 Flash 中伪造 iOS 设备旋转

闪存媒体服务器 FMS 3.5 和 IIS 在同一台机器上

android - as3 air 获取设备上文件的特定路径

flash - 如何将外部 actionscript 库包含到 flash 中?

java - 将 pdf/excel 文件动态传输到 Flex UI 应用程序

flash - 如何制作 Adob​​e Flash/Flex 图表组件 "from scratch"(使用 AS3/MXML)?

apache-flex - 团队如何使用 Flex Builder Pro 开发大型应用程序?

actionscript-3 - AS3-如何获取类的常量数组?

actionscript-3 - 新的 Flash 5.5 应用程序 - 最佳方法