图形与图像编程(三)-特殊曲线
来源:互联网 发布:linux 启动挂载 编辑:程序博客网 时间:2024/06/04 00:31
一、绘制蜗牛线
//绘制蜗牛线void CCavsSampleView::OnMenuitemWoniuline() {float pi = 3.1415926f;CRect rect;GetClientRect(&rect);UINT width = rect.Width();UINT height = rect.Height();CDC* pDC = GetDC();for (float x = 0;x < 10*pi; x+= pi/width){if (x == 0) pDC->SetPixel(width/2, 0, RGB(255,0,0));else pDC->SetPixel((int)(width*sin(x)/x*cos(x)+width/2), (int)(width*sin(x)/x*sin(x)),RGB(255,0,0));}}
二、绘制贝塞尔曲线
每条贝塞尔曲线由四个结点组成,一个起点、两个控制点和一个结束点,当调整两个控制点时会改变贝塞尔曲线的形状。BOOL PolyBezier(
const POINT* lpPoints,//结束点和曲线的控制点的POINT数据结构的数组
int nCount);//指定lpPoints数组中点的个数。此值必须是要画的曲线的数目的3倍加1.
// 绘制贝塞尔曲线void CCavsSampleView::OnMenuitemDrawbezier() {CDC* pDC = GetDC();CPoint pt[] = { CPoint(40, 72),CPoint(107, 302), CPoint(329, 292), CPoint(79, 148), CPoint(498, 29), CPoint(322, 201), CPoint(176, 137) };pDC->PolyBezier(pt, sizeof(pt)/sizeof(pt[0]));}
三、绘制正弦曲线
y=Asin(x)使用DrawLine()函数在屏幕的中心绘制一条蓝色的中心线,在for循环中以x坐标,即横坐标为计算变量,从0到屏幕宽。并通过正炫值和振幅计算显示的y值后,
使用DrawLine函数绘制红色正炫曲线。
//绘制正弦曲线void CCavsSampleView::OnMenuitemSinline() {float pi = 3.1415926f;Status status = GenericError;Graphics graphics(m_hWnd);status = graphics.GetLastStatus();if (status != Ok) return;CRect rect;GetClientRect(&rect);UINT width = rect.Width();UINT height = rect.Height();Pen bluePen(Color(255, 0, 0, 255), 1);//绘制中心线graphics.DrawLine(&bluePen, 0, height/2, width, height/2);Pen redPen(Color(255, 255, 0, 0), 2);//绘制正弦曲线float oldX = 0.0f;float oldY=(float)(width/2);for (float x = 0;x < width;x++){float radian = x/width*10*pi;float y = (float)sin(radian);y = (1-y)*height/2;graphics.DrawLine(&redPen, oldX, oldY, x, y);oldX = x;oldY = y;}}
阅读全文
0 0
- 图形与图像编程(三)-特殊曲线
- 图形与图像编程(一)-图形编程
- 图形与图像编程(四)-图像特效
- 图形与图像编程(五)-图像控制
- 图形与图像编程(二)-基础图像技术
- 图形与图像处理
- 图形与图像处理
- 图形与图像
- 图形与图像处理
- 图形与图像处理
- OpenGL基础图形编程 - 特殊光处理
- OpenGL基础图形编程 - 特殊光处理
- 图形与图像的区别
- 图形与图像的区别
- 图形与图像的区别
- 图形与图像的处理
- Android的图形与图像处理之三 逐帧动画(Frame)
- OpenGL基础图形编程 - 位图和图像
- 知识点--实际开发中软引用或弱引用的使用场景
- iOS view截屏
- Usage of CURL
- kolla(1)
- Day22--任务三总结
- 图形与图像编程(三)-特殊曲线
- IText 导出PDF 中文问题解决
- comma.ai自动驾驶代码浅析及实践
- Android单元测试之 Robolectric3.0+
- Gossip算法
- JavaScript之浅拷贝和深拷贝
- jqurey实现步骤进度条
- 区块链解读-隔离见证
- Xcode 命令行参数