首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >看起来像是一个简单的绘图问题

看起来像是一个简单的绘图问题
EN

Stack Overflow用户
提问于 2009-06-24 19:28:14
回答 4查看 427关注 0票数 3

目前,我有一个控件,需要添加工具以应用各种敏锐度(或敏感度)。这个问题最好用一幅图来说明:

Graph http://img87.imageshack.us/img87/7886/control.png

正如您所看到的,我的X和Y轴都有100的任意限制-这应该足以解释这种解释。目前,我的控件是红线(线性行为),但我想为其他3条曲线(或更多曲线)添加功能,即如果控件更敏感,则设置将忽略线性设置,并选择三条线中的一条。起点始终为0,终点始终为100。

我知道指数太陡峭了,但似乎找不到前进的方向。有什么建议吗?

EN

回答 4

Stack Overflow用户

发布于 2009-06-24 20:37:53

我提出了一个简单的公式,它(我相信)能满足您的需求。为了得到一个完整的“四分之一圆”,这是您的极端情况,您可以使用(1-cos((x*pi)/(2*100)))*100

我建议你取y=x和y=之间的加权平均值(1-cos((x*pi)/(2*100)*100。例如,要使其非常接近线性(99%线性),请采用:

代码语言:javascript
运行
复制
y = 0.99*x + 0.01*[(1-cos((x*pi)/(2*100)))*100]

或者更一般地说,假设线性水平是L,它在区间0,1内,你的公式是:

代码语言:javascript
运行
复制
y = L*x + (1-L)*[(1-cos((x*pi)/(2*100)))*100]

编辑:我将cos(x/100)更改为cos((x*pi)/(2*100)),因为对于cos结果在1,0的范围内,X应该在0,pi/2的范围内,而不是0,1,抱歉最初的错误。

票数 1
EN

Stack Overflow用户

发布于 2009-06-24 19:32:29

您可能正在寻找像polynomial interpolation这样的东西。二次/三次/四次插值应该给出你在问题中显示的曲线类型。您显示的三条曲线之间的差异可能只需通过调整系数(间接确定陡度)即可实现。

票数 0
EN

Stack Overflow用户

发布于 2009-06-24 19:43:34

从0到1的xy = x^p图将执行您想要的操作,因为p从1向上变化(这将显示红线)。随着p的增加,曲线将被越来越多地“推入”。p不必是整数。

(你必须进行缩放才能得到0到100,但我相信你可以做到)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1040437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档