我需要绘制一张代表高度轮廓的图片,以一种机器人快速绘制图像的方式。这是一个高度为50.000或甚至更高的高度剖面。我正在使用AChartEngine,但是对于这个庞大的线条而言,绘制和缩放的速度并不是很快。有没有适合该提议的其他lib?你认为.svg绘图会更好吗?
感谢您的建议。
答案 0 :(得分:0)
我不知道任何现有的libs正在做你想要的。如果你想自己编码,这是我的想法。困难主要在于缩放,否则你可以预先计算整个图像。我想最好的方法是分层预计算。例如,您可以预先计算:
pre-compute(region r)
l = the list of lines intersecting with r
if l has less than T1 number of lines:
pre-compute the image in r with l;
else
divide r evenly into four subregions r1,r2,r3,r4
pre-compute(r1)
pre-compute(r2)
pre-compute(r3)
pre-compute(r4)
也可以缓存与任何区域相交的行列表。您可以在四叉树中缓存预先计算的图像和线列表。如果添加/删除行,也可以在树中逐步执行。然后在绘制时,使用以下算法:
draw(region r):
if r is a subset of a pre-computed region:
draw r using the pre-computed image
else
if r is smaller than T2:
l = the list of lines intersecting with r
if l has less than T1 number of lines:
draw r with l
return
divide r evenly into four regions r1, r2, r3, r4
draw(r1)
draw(r2)
draw(r3)
draw(r4)
此算法中的怪癖可能是选择正确的阈值T1,T2,您可以通过使算法缓存无关而避免。如果您有任何其他问题,请告诉我。