求一个图形内存分配算法

WJN92 2018-06-05 01:32:03
加精
有1万个以上的三角形。
三角形大小形状都不一样。
给予一块内存把三角形分配到内存里面去。

要求:
三角形不能重叠,不能缩放,不能分割,不能变形。 可以旋转,反转。
使内存尽可能小,尽可能紧凑
1万个三角形尽可能耗时不超过0.6ms




...全文
2425 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
tony_zjs 2018-06-11
  • 打赏
  • 举报
回复
高级!!!!!!!!!!!!
赵4老师 2018-06-10
  • 打赏
  • 举报
回复
引用 20 楼 WJN92 的回复:
[quote=引用 19 楼 zhao4zhong1 的回复:] [quote=引用 16 楼 WJN92 的回复:] [quote=引用 11 楼 zhao4zhong1 的回复:] 排料问题大牛:http://www2.stetson.edu/~efriedma/packing.html
看了一下里面好像都是一些规律的图形,但是我的三角形都是随机的呢[/quote] 随机的没有意义。 比如你怎么控制随机的三角形恰好两个就覆盖整个区域以至于放不下其它三角形呢?[/quote] 这是分配的问题吧。我的内存块当然会根据三角形的大小分配的呀。 我可以统计三角形的大小再分配呀。 这个不是问题吧[/quote] 从我给的链接中就可以看出,最优解是不可能仅通过计算得到的。
WJN92 2018-06-09
  • 打赏
  • 举报
回复
引用 17 楼 weixin_42420035 的回复:
算法问题。。。matlab可以吗
可以,我应该能看懂吧。。。主要是思路问题吧
Perhas_Love 2018-06-09
  • 打赏
  • 举报
回复
算法问题。。。matlab可以吗
WJN92 2018-06-09
  • 打赏
  • 举报
回复
我觉得问题问得不太号,所以另开一贴 https://bbs.csdn.net/topics/392395303
WJN92 2018-06-09
  • 打赏
  • 举报
回复
引用 19 楼 zhao4zhong1 的回复:
[quote=引用 16 楼 WJN92 的回复:] [quote=引用 11 楼 zhao4zhong1 的回复:] 排料问题大牛:http://www2.stetson.edu/~efriedma/packing.html
看了一下里面好像都是一些规律的图形,但是我的三角形都是随机的呢[/quote] 随机的没有意义。 比如你怎么控制随机的三角形恰好两个就覆盖整个区域以至于放不下其它三角形呢?[/quote] 这是分配的问题吧。我的内存块当然会根据三角形的大小分配的呀。 我可以统计三角形的大小再分配呀。 这个不是问题吧
赵4老师 2018-06-09
  • 打赏
  • 举报
回复
引用 16 楼 WJN92 的回复:
[quote=引用 11 楼 zhao4zhong1 的回复:] 排料问题大牛:http://www2.stetson.edu/~efriedma/packing.html
看了一下里面好像都是一些规律的图形,但是我的三角形都是随机的呢[/quote] 随机的没有意义。 比如你怎么控制随机的三角形恰好两个就覆盖整个区域以至于放不下其它三角形呢?
卖水果的net 2018-06-08
  • 打赏
  • 举报
回复
看样子是 切割钢板,做零件的算法。
WJN92 2018-06-08
  • 打赏
  • 举报
回复
引用 11 楼 zhao4zhong1 的回复:
排料问题大牛:http://www2.stetson.edu/~efriedma/packing.html
看了一下里面好像都是一些规律的图形,但是我的三角形都是随机的呢
赵4老师 2018-06-07
  • 打赏
  • 举报
回复
schlafenhamster 2018-06-07
  • 打赏
  • 举报
回复
1 三角形 用 一线 一高 表示 2 按面积排序 3 从面积 最大的 开始放 置。
worldy 2018-06-07
  • 打赏
  • 举报
回复
lz的问题可以可以转换为将10000个三角形平铺在一个平面,不能重叠,怎么放置,才可以使得占用的平面最小?
WJN92 2018-06-07
  • 打赏
  • 举报
回复
引用 9 楼 worldy 的回复:
lz的问题可以可以转换为将10000个三角形平铺在一个平面,不能重叠,怎么放置,才可以使得占用的平面最小?
谢谢,有人回复了,不能修改了
WJN92 2018-06-07
  • 打赏
  • 举报
回复
引用 11 楼 zhao4zhong1 的回复:
排料问题大牛:http://www2.stetson.edu/~efriedma/packing.html
谢谢
WJN92 2018-06-07
  • 打赏
  • 举报
回复
引用 10 楼 schlafenhamster 的回复:
1 三角形 用 一线 一高 表示 2 按面积排序 3 从面积 最大的 开始放 置。
这样会有很多空位吧。
赵4老师 2018-06-05
  • 打赏
  • 举报
回复
Hash
WJN92 2018-06-05
  • 打赏
  • 举报
回复
引用 2 楼 schlafenhamster 的回复:
要求 pixel 格式?
可以这么说吧,这个应该叫voxelization(体素化)。 体素化不是难度。 难的是如何把它们放在同一个平面,使它们最紧凑
WJN92 2018-06-05
  • 打赏
  • 举报
回复
引用 1 楼 zgl7903 的回复:
每个三角形仅存储三个顶点坐标, 旋转之类的用算法实现,绘制用DirectX硬件加速
可能您没有清楚我想要什么。 我不是问如何绘制。 我是想问,N个三角形绘制出来如何使得空隙最小化,因为三角形形状大小不一
WJN92 2018-06-05
  • 打赏
  • 举报
回复
引用 1 楼 zgl7903 的回复:
每个三角形仅存储三个顶点坐标, 旋转之类的用算法实现,绘制用DirectX硬件加速
引用 2 楼 schlafenhamster 的回复:
要求 pixel 格式?
引用 4 楼 worldy 的回复:
每个三角形 保存3个点 P1、P2、P3,每个点为2个int,共6个int 10000点就是6万个int,也就是不到60K的数据量 旋转会比较麻烦,需要做正弦余弦运算,可能会比较耗时,你可以根据你的分辨率做个表格,保存0~90度的正弦及余弦值(即使你的分辨率为0.01度也就是9000个float或者double)
no no no, 我要的是把三角形映射到内存里面,即三角形里面的每一个点都对应到内存里面
schlafenhamster 2018-06-05
  • 打赏
  • 举报
回复
要求 pixel 格式?
加载更多回复(3)

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧