资源简介
坐标轴刻度取值算法完整代码,生成比较优雅和人性化的刻度。
代码片段和文件信息
using System;
namespace MathLib.Algorithm.Image
{
///
/// 刻度生成
///
public class DegreeScale
{
///
/// 计算刻度
/// 起始值必须小于结束值
///
/// 起始值
/// 结束值
/// 期望刻度数量,实际数接近此数
/// 刻度起始值,须乘以间隔使用
/// 刻度结束值,须乘以间隔使用
/// 刻度间隔
public static void CalcDegreeScale(double start double end int expect_num out int degree_start out int degree_end out double degree_gap)
{
if (start >= end)
{
throw new Exception(“起始值必须小于结束值“);
}
double differ = end - start;
double differ_gap = differ / (expect_num - 1);//35 4.6 0.27
double exponent = Math.Log10(differ_gap) - 1;//0.54 -0.34 -1.57
int _exponent = (int)exponent;//0 0=>-1 -1=>-2
if (exponent < 0 && Math.Abs(exponent) > 1e-8)
{
_exponent--;
}
int step = (int)(differ_gap / Math.Pow(10 _exponent));//35 46 27
int[] fix_steps = new int[] { 10 20 25 50 100 };
int fix_step = 10;//25 50 25
for (int i = fix_steps.Length - 1; i >= 1; i--)
{
if (step > (fix_steps[i] + fix_steps[i - 1]) / 2)
- 上一篇:WPF之DataGrid基础学习代码(新)
- 下一篇:C# 蓝牙 文件传输 DEMO
相关资源
- kmeans聚类算法——C#实现
- 蚁群算法c#实现
- C#实现银行贷款利息算法
- 模拟退火算法C#源码+
- 实现的gjk算法,同时计算了epa穿插距
- C#写的LCS算法
- c# 遗传算法 最短路径
- C#蚁群算法求解TSP问题
- 道格拉斯算法
- LSB数字水印算法
- TEA加密解密器C#开发
- Viterbi算法实现
- Warshall算法C#
- C#实现刻度尺包含像素和毫米
- c# ID3算法的实现 非遍历树
- C# Apriori算法的实现
- C# ZedGraph刻度不等分、自定义的实现
- 经典聚类算法——K-Means算法实现C#,
- C#编写的决策树算法
- Normal (aka Gaussian) distribution 正态分
- C#模拟实现正态分布,计算及绘画源码
- 常用的7种 C# 遗传算法源码集
- 基于C#的朴素贝叶斯算法
- C#实现4种经典迷宫生成算法和迷宫寻
- c#银行家算法 有界面
- C#基于径向灰度算法的表盘指针识别
- C#实现 CRC16 MODBUS算法
- 邮局选址问题
- Delaunay三角剖分源码C#版本和算法的具
- 遗传算法最短路径c#实现
评论
共有 条评论