Веб - демо.
Использование:
1) Пишем свою функцию, она должна принимать один float аргумент (x) и возвращать float тип (y);
пример:
Синтаксис:
Используется csharp
float foo(float x){
return Math.Sin(x)*Matf.Cos(x);
}
return Math.Sin(x)*Matf.Cos(x);
}
2) Объявляем график:
Синтаксис:
Используется csharp
int width = 400; //ширина текстуры с графиком
int height = 300; //высота текстуры с графиком
Graph2D graph = new Graph2D(width,height);
int height = 300; //высота текстуры с графиком
Graph2D graph = new Graph2D(width,height);
3) Рисуем график в текстуру:
Синтаксис:
Используется csharp
Vector2 offset = Vector2.zero;
Vector2 scale = Vector2.one;
Vector2 gridStep = 10f;
int pixelDetail = 2;
Texture2D tex = graph.Draw(foo,offset,scale,Color.green,gridStep,pixelDetail);
Vector2 scale = Vector2.one;
Vector2 gridStep = 10f;
int pixelDetail = 2;
Texture2D tex = graph.Draw(foo,offset,scale,Color.green,gridStep,pixelDetail);
Аргументы:
offset - смещение начала координат графика относительно начала координат текстуры.
scale - масштабирование графика, не рекомендуются значения <= 0.
gridStep - шаг сетки по x и по y, дробные значения округляются до 0.5.
pixelDetail - детализация графика, сколько пикселей в длину будут отрезки из которых состоит график.
Если нужно нарисовать несколько графиков делаем следующим образом:
Синтаксис:
Используется csharp
Vector2 offset = Vector2.zero;
Vector2 scale = Vector2.one;
Vector2 gridStep = 10f;
int pixelDetail = 2;
GraphFunction[] gf = new GraphFunction[]{Mathf.Sin, Mathf.Cos}; //создаем массив указателей на функции
Color[] colors = new Color[]{Color.red, Color.green }; //создаем массив цветов для функций
Texture2D tex = graph.Draw(gf,offset,scale,colors,gridStep,pixelDetail);
Vector2 scale = Vector2.one;
Vector2 gridStep = 10f;
int pixelDetail = 2;
GraphFunction[] gf = new GraphFunction[]{Mathf.Sin, Mathf.Cos}; //создаем массив указателей на функции
Color[] colors = new Color[]{Color.red, Color.green }; //создаем массив цветов для функций
Texture2D tex = graph.Draw(gf,offset,scale,colors,gridStep,pixelDetail);
GraphFunction - это делегат который объявлен в скрипте Graph2D
UPD:
Чуть не забыл
Синтаксис:
Используется csharp
Graph2D graph = new Graph2D(width,height);
//устанавливать перед отрисовкой графика
graph.backgroundColor = Color.gray; //цвет фона
graph.gridColor = Color.blue; //цвет сетки
graph.colorX = Color.red; //цвет оси Х
graph.colorY = Color.green; //цвет оси Y
graph.fontColor = Color.black; //цвет шрифта
graph.fontScale = Vector2.one; //размер шрифта
Texture2D tex = graph.Draw(foo,offset,scale,Color.green,gridStep,pixelDetail);
//устанавливать перед отрисовкой графика
graph.backgroundColor = Color.gray; //цвет фона
graph.gridColor = Color.blue; //цвет сетки
graph.colorX = Color.red; //цвет оси Х
graph.colorY = Color.green; //цвет оси Y
graph.fontColor = Color.black; //цвет шрифта
graph.fontScale = Vector2.one; //размер шрифта
Texture2D tex = graph.Draw(foo,offset,scale,Color.green,gridStep,pixelDetail);