📄 scale.java
字号:
package net.turbochen.graph;
/**
* 比例尺,用来实现屏幕坐标与实际值之间的转换.
* @author Turbo Chen
*/
public abstract class Scale
{
protected double min;
protected double max;
protected int screenMin;
protected int screenMax;
/**
* 将实际值转换成屏幕坐标.
* @param value 实际值.
* @return int 屏幕坐标.
*/
public abstract int getScreenCoordinate(double value);
/**
* 将屏幕坐标转换成实际值.
* @param value 屏幕坐标.
* @return double 实际值.
*/
public double getActualValue(int value)
{
double vrange = max - min;
if(min < 0.0 && max < 0.0)
vrange = (min - max) * -1.0;
double i = screenMax - screenMin;
i = ((double)(value - screenMin) * vrange) / i;
i += min;
return i;
}
/**
* 设置比例尺的最大值..
* @param max
*/
public void setMax(double max)
{
this.max = max;
}
/**
* 设置比例尺的最小值..
* @param min
*/
public void setMin(double min)
{
this.min = min;
}
/**
* 取得比例尺的最大值.
* @return double
*/
public double getMax()
{
return max;
}
/**
* 取得比例尺的最小值.
* @return double
*/
public double getMin()
{
return min;
}
/**
* 取得屏幕上的最大值.
* @return double
*/
public int getScreenMax()
{
return screenMax;
}
/**
* 取得屏幕上的最小值.
* @return double
*/
public int getScreenMin()
{
return screenMin;
}
/**
* 设置屏幕上的最大值.
* @param screenMax
*/
public void setScreenMax(int screenMax)
{
this.screenMax = screenMax;
}
/**
* 设置屏幕上的最小值.
* @param screenMin
*/
public void setScreenMin(int screenMin)
{
this.screenMin = screenMin;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -