读书人

一个小算法。 可以现金酬谢,该怎么解决

发布时间: 2012-03-20 14:01:11 作者: rapoo

一个小算法。 可以现金酬谢
一个线段, 如(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条线段跟第一条长之比

读书人网 >VC/MFC

热点推荐