- 浏览: 115711 次
- 性别:
- 来自: 广州
最新评论
-
my251394667:
请问用你这个函数如何绘制图啊
穿过已知点画平滑曲线(3次贝塞尔曲线) -
nima123321:
网上的人,发发代码就算了,但是最起码标明一个该代码是否能用嘛. ...
C++版socket -
westice:
JiangNanDeXue 写道你说这段代码是再国外网站上挡下 ...
OpenCV笔记: 查找轮廓 -
JiangNanDeXue:
你说这段代码是再国外网站上挡下来的,请问是哪个网站?谢谢。还望 ...
OpenCV笔记: 查找轮廓 -
fg5823820:
C++ 能这样创建数组么
穿过已知点画平滑曲线(3次贝塞尔曲线)
文章列表
木有操作系统的电脑要靠简单的bios中断程序操作计算机设备
调用中断程序的一般方法为先查手册设置好相关寄存器的值,然后调用中断指令。
13h中断为磁盘操作。
ah = 3 写磁盘
ah = 2 读磁盘#include <dos.h> //dos接口
驱动器号送入dl
磁头号送入dh
磁道号送入ch
扇区号送入cl
扇区数送入al
es内存段地址
bx内存偏移地址
比如我需要把一个512字节的启动二进制代码写入软盘的启动扇区:
union ...
python中struct方便对底层数据进行操作,比如把一个数 i = 65536保存为一个4B的int型数据
s0 = struct.pack("<I",i)
s0为一个字符串,长度为4,即占四个字节,这样方便传输与保存二进制数据。
"<I",意思是按小端保存,>为大端,I为无符号整型。
还有其它类型参数:
c:char b:signed byte B:unsigned byte
h:short H:unsigned shor ...
python开发效率高,实际项目时python搭建整个项目框架,关键模块用c编写,是个不错的办法!
c函数对python的接口要按规则写。
比如一个阶乘c函数的头文件定义:
dll.h:
#ifndef LIB_H
#define LIB_H
extern "C" long __declspec(dllexport)factorial(int n); //接口定义
#endif
dllmain.c:
#include "dll.h"
long factorial(int n ...
这个游戏很简单,可以操纵的飞机不断发子弹,前面不断有敌机来袭,子弹打中敌机然后敌机和子弹消失,最后实现了网络互联功能,允许两个人在局域网中不同机器上操作各自的飞机,平且两个游戏界面是同步的。
我这样设计的:自己维护一个飞机,子弹队列,敌机队列,将网络来的数据打包成另一个飞机,子弹队列,敌机队列,所以这里面传送的数据有自己飞机数据,子弹队列,敌机队列,这些数据通过TCP在服务器和客户端之间不断更新,传递。
图形用opengl渲染,由于python不能直接访问指针,通过网络只能传递字符串型,所以传送二进制数据有点问题,自己写了对函数,用于字符串和二进制数的转换,每个数由 ...
贪食蛇不是fps,没有那么高的效率,不可能更新窗口里面的全部内容,这样就需要一个算法来处理这个问题,
算法:假设小蛇由一个蛇头,n个蛇身组成,整个蛇的前进由蛇头控制,方向由用户控制。
每次刷新时,从蛇尾开始遍历,把(n-1)方块的位置赋给n方块,直到n为1,最后将蛇头的位置赋给0方块。
显示时不需更新窗口中每一个图片,如果蛇总共(n+1)个方块,则只需更新(n+2)个方块,(n+1)个蛇方块当然更新,还有一个就是这一次蛇腾出来的空间(即上一次蛇尾的位置)用土地本来的图片替换,这样整个蛇就会跟着蛇头跑不会留下痕迹。
实现了一个基本功能版,靠(wasd)控制方向,里面会随机出现蛋 ...
开始实习啦!要用python,
第一个练手项目,用wxpython写界面,实现了连连看的1连通,2连通,3连通
算法:1,如果相邻肯定连通,判断两个格子是否在同行同列且之间是否空白,如果空白则连通
2,1连通不满足,判断两个格子能否构成一个直角,通过两个选中格子p1p2生成另两个对角点p3p4(四个点构成一个矩形),判断p3能否和p1p2够成1连通,或者p4能否和p1p2构成1连通,满足一个条件即可
3,2连通也不满足,从p1周围(同行同列)找一个和p1构成1连通的p5,判断p5是否能和p2构成2连通,如果满足则属于3连通
...
正在恶补数据结构,今天看到了二叉树,huffman编码,发现压缩程序很有意思,就按照huffman的编码思想实现了一个,没有经过算法改进,但是没有用第三方库,还能压缩一点空间,花了一天写完的。编码效率还是很菜。
只要调用compress 和decompress就可以压缩,解压,当然不是zip和rar,离他们还差十万八千里啊!
#include <iostream>
#define LEFT 0
#define RIGHT 1
using namespace std;
typedef struct huffmanTreetype{
...
c++面对对象的精髓-动态多态。
有动态就有静态,静态是在编译期完成的,如一个类里面有相同名字,返回值的函数,通过不同的参数来区分。(overload)
动态多态,函数用virtual修饰。在子类中override父类的函数funcA,然后再调用这个子类对象的funcA,那当然是调用这个子类对象的funcA,但是如果用父类指针指向这个子类呢? 如:father *fa_pointer = &son;fa_pointer->funcA(),这样就是调用父类中的funcA,如果funcA加了virtual修饰呢?奇迹就发生了,将调用子类中的funcA,这就是动态多态,在 ...
经过2个多月断断续续的开发,半个月的审核,第一款iphone平台的应用dreamspace终于上线了!
玩法是输入一个关键字从google解析图片url,然后下载图片,对图片进行处理(基于opencv,在iphone上用这个花了不少功夫),处理后进行图片渲染(opengl-es,和opengl有点区别),从而模拟人梦境的飘忽不定。每幅图片处理十几秒,完了后慢慢过渡到下一张,图像处理和下载是分开的(可以连续不断的下载,不出网络问题可以一直运行下去)。除了这些还可以用手指绘画,可画点,圈圈,擦除。在这里打个广告让javaeye的兄弟们指教指教啊,目前定价1.99美金,还有免费的示例。
接 ...
为了把一串点连成光滑的曲线,先研究贝塞尔曲线,又搞B样条插值。。。。都没有成功(数学没那么强)。
后来在
“[翻译] AGG 之贝塞尔插值”http://liyiwen.iteye.com/blog/705489 。看到一种比较好的方法:
运用贝塞尔曲线的光滑性来穿过这些点。
大致思路就是 先算出相邻原始点的中点,在把相邻中点连成的线段平移到对应的原始点,以平移后的中点作为控制点,相邻原始点为起始点画贝塞尔曲线,这样就保证了连接处的光滑。而贝塞尔曲线本身是光滑的,所以就把这些原始点用光滑曲线连起来了。
我封装了一个函数,留着以后用。
(c++版,其它语言只要把数组和可变数组稍微 ...
从网上搜集来的两控制点贝塞尔曲线生成法:
int n=controlPoint.size()-1; // vector<POINT>存储控制点
int i,r;
float u;
CvPoint *p=new CvPoint[n+1];
BezierPoint.clear();
//u的步长决定了曲线点的精度
for(u=0;u<=1;u+=0.01){
for(i=0;i& ...
由于要用到多线程技术,之前用过windows API,但那是windows平台的。想试一下跨平台的,网上说boost有线程库,但那是个庞然大物,编译麻烦。无意中看见Zthread,这个小巧玲珑, sourceforge就有源码下载。第一次运行就成功了,好神奇啊!
小例子:
#include <iostream>
#include <zthread/Runnable.h>
#include <zthread/Thread.h>
using namespace std;
using namespace ZThread; // Zth ...
OpenCV笔记:
查找轮廓
主要函数是 cvFindContours(tour_buf,storage,&contour,sizeof(CvContour),
CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE);
tour_buf 是需要查找轮廓的单通道灰度图像 ,storage 是临时存储区 ,
contour是存储轮廓点的CvSeq实例,
CV_RECT_EXTERNAL 只查找外围轮廓,还有CV_RECT_TREE
...
一直对编辑器里字符串查找功能感觉很神奇,今天脑子转了一转,用自己的想法简单实现了。
我受数字电路课里画状态图的习题的启发,比如一个字符串“hello”,设置一个状态变量state为0,没有查找到h时state为0,查到h时变为1 ...
发现xml存储,查看方便。所以想用用它,但是解析它不太容易。我用C++自带的string类 勉强实现了这一功能。
我生成了这样一串xml:(carinfo.xml)
<carnode><id>0</id><time>11:32</time><event>这家伙违章了!</event></carnode><carnode><id>1</id><time>11:32</time><event>这家伙违章了!</event&g ...