文档章节

基于TouchVG和muParser实现了函数图像绘图

云贵高原
 云贵高原
发布于 2014/09/24 14:44
字数 153
阅读 302
收藏 2

用了三天基于TouchVG和muParser实现了iOS上的函数图像绘图,绘图代码(跨平台)如下:

static bool setExpr(MgShape *sp, const char* expr, float mint, float maxt, float step) {
    return ((MgFuncShape*)sp->shape())->setExpr(expr, mint, maxt, step);
}

static void createFuncShapes(MgView *view) {
    MgShape *sp = view->createShapeCtx(MgFuncShape::Type());
    setExpr(sp, "10*t,10*ln(t*t+1)*sin(t)", -6, 6, 0.1f);
    view->shapes()->addShapeDirect(sp);
    
    sp = view->createShapeCtx(MgFuncShape::Type());
    setExpr(sp, "10*t,10*exp(t)-t*sin(t)*cos(t)", -6, 6, 0.1f);
    view->shapes()->addShapeDirect(sp);
    
    view->setCommand("line", "{'points':[-70,0,70,0,0,-40,0,40]}");
}

绘图效果:

func

公式来源

心形图:20*(sqrt(cos(t))*cos(200*t)+sqrt(abs(t))-0.7)*(4-t*t)^0.01,20*t

© 著作权归作者所有

云贵高原

云贵高原

粉丝 83
博文 38
码字总数 21429
作品 12
海淀
技术主管
私信 提问
TouchVG 1.1.0 支持Undo/redo,增加高性能绘图视图

TouchVG发布一个大版本,新增下列功能: 1、无限步Undo/redo操作。自动监控图形的改变情况,异步增量记录改变数据,不影响绘图命令。 2、在Android上增加双层SurfaceView,即使在高清屏低配平...

云贵高原
2014/01/31
1K
1
TouchVG 1.0.4 支持矢量动画了

TouchVG 1.0.4 在iOS和Android上支持矢量图形的动画显示效果了,目前已完成动画原型,还有更多好玩的要做,欢迎讨论。 TouchVG 是一个通用的轻量级二维矢量图形框架,可用于开发交互式矢量绘...

云贵高原
2013/11/04
1K
6
快速的数学表达式解析器 —— muParser

muParser 是一个快速的数学表达式的解析器,可将数学表达式转成字节码并预先计算常数表达式的部分。 muParser 采用纯 C++ 编写,提供了静态库和 dll 版本,目前已经在 MS VC++ V7.1 和 GCC ...

红薯
2012/03/04
1K
2
iOS绘图例1:使用StoryBoard

使用 Single View Wizard 等向导创建工程 在 Podfile 文件中导入TouchVG: 然后运行下载TouchVG代码。后续可运行 加快下载速度,不用每次检查最新版本。 然后打开 *.xcworkspace 进入 Xcode。...

云贵高原
2014/09/25
175
0
为1900个JNI函数添加日志

Android Native库的调试一直是个复杂的事,通常调试方法有输出日志和使用ADT等插件方法,前者较简单,TouchVG就使用日志输出方式来调试定位: 在CPP文件中 ,在要调试的函数中调用 2. 在 Ec...

云贵高原
2014/05/20
318
0

没有更多内容

加载失败,请刷新页面

加载更多

thinkphp5.1学习过程四——trait

<?php /** *trait实现了代码的复用 *并且突破了单继承的限制 *trait是类不是类,不能实例化 */ trait Demo1 { public function hello1() { return __METHOD__; } } trait Demo2 { public fu......

大海yht
29分钟前
6
0
DB2 sequence 操作

操作DB2 下 sequence seqName db2数据库一般seq还是比较大的,但是程序在调用的时候还是不可避免的有一些bug, 下面是对于seq一些简单的操作,也作为工作的一些记录 1、命令行取sequence se...

飞雪无痕
37分钟前
6
0
《吊打面试官》系列-秒杀系统设计

你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图和个人联系方式,欢迎Star和指教 絮叨 之前写了很多Redis相关的知识...

敖丙
43分钟前
12
0
Qt编写气体安全管理系统11-数据打印

一、前言 在各种软件系统中,数据打印也是常用的功能之一,一般来说会对查询的数据结果导出到excel,还会对查询的数据结果直接打印,在Qt中提供了打印机类QPrinter,在printsupport组件中,可...

飞扬青云
49分钟前
5
0
初级阶段

#include <stdio.h> #include <stdlib.h> int main(){ int a; int Sn = 0; int i; int tmp = 0; scanf_s("%d", &a); for (i = 1; i <= 5; i++) { tmp = tmp * 10 + a; Sn += tmp; } printf("......

Lxxxxx256
50分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部