一个小算法。 可以现金酬谢
一个线段, 如(0, 100), 上面有均匀的点1,2,3,4.。。。
要重新映射到如(0, 50)或者(0, 300)上。
特殊要求:
1、上面的个别的距离再重新映射后,距离最好不能小于某个值。
如 原(2-3)重映射后不小于5, (10-15)不小于50等。
2、尽量保持比率
很简单的, 只是我的数学实在不好:)
有什么建议可以跟我联系
msn: xt_jat@hotmail.com
QQ: 9930597
[解决办法]
语文比较差,没看懂。
[解决办法]
LZ说的确实不太容易懂,能换为计算机方面的语言吗?或者你把例子再详细说明下
[解决办法]
意思还是有点朦胧。。。
[解决办法]
可以直接拉伸啊,
如:点 10,15.5,20.6三点本在0-100的线上,需要到0-50上
则各点分别为5,7.25,20.3
得到各个点后,就可以进行不断的循环,将点与点之间的间距不符合要求的点去除,就应该可以了啊
[解决办法]
面壁,复习语文……
[解决办法]
线段是固定的吧!你换算一下就可以了阿
x/100
[解决办法]
这个你只要这么算就好了
x=待显示的数值;如10
xmax=待显示的数值最大值;如100
y=显示的数值
ymax=显示的数值最大值;如200
/比例关系
x/xmax=y/ymax
已知x=10,xmax=100,ymax=200
y=(x/xmax)*ymax;//用这个公式就可以了
y=(10/100)*200=20;
[解决办法]
先把要限定长度的区域拿出来,计算此类的总长度
用拉伸后的长度减去上面的长度,剩余的长度/剩余的点数=正常亮点之间的宽度
按顺序插入
[解决办法]
这个按(x1,y1)映射到(a1,b1),(x2,y2)影射到(a2,b2)..(xn,yn)影射到(an,bn)上算
让整体保持比例关键就是(y1-x1)+(y2-x2)+...+(yn-xn)尽量==(b1-a1)+(b2-a2)+...+(bn-an)
具体方法就是把影射分成放大跟缩小的,最后左边大就增大放大的影射的系数,右边大就增加缩小的系数,取左右差绝对值最小时,记录各段的放大比例系数分别为k1,k2...kn
求一点x,新坐标z则先看比x小有多少个特别照顾的段落,比如y2 <x <y3时
[x-(y1-x1)-(y2-x2)]*k+(b1-a1)+(b2-a2)就是所求坐标,其中k是第2条线段跟第一条长之比