C++开发绘制正弦曲线的方法

本文实例为大家分享了C++绘制正弦曲线的具体代码,供大家参考,具体内容如下

通过OnDraw函数绘制图形

过程为先绘制两个坐标轴,再绘制正弦曲线的方法。其中将曲线分解为660个像素点,让其看起来更像“曲线”

void CMFCApplication3View::OnDraw(CDC* pDC)
{
 CMFCApplication3Doc* pDoc = GetDocument();
 ASSERT_VALID(pDoc);
 if (!pDoc)
 return;
 CPen cpen, pen;
 pen.CreatePen(PS_DASH, 4, RGB(0, 0, 0));  //建立画笔
 cpen.CreatePen(PS_DASH, 2, RGB(0, 0, 255));
 pDC->SelectObject(&cpen);
 pDC->SetViewportOrg(200, 345);  //指定原点
 pDC->SetTextColor(RGB(255, 0, 0));
 CString sPITEX[] = { "-1/2π","","1/2π","π","3/2π","2π","5/2π","3π","7/2π","4π","9/2π","5π" };
 for (int n = -1, nTmp = 0; nTmp < 660; n++, nTmp += 60) {
 pDC->LineTo(60 * n, 0);
 pDC->LineTo(60 * n, -5);
 pDC->MoveTo(60 * n, 0);
 pDC->TextOutA(60 * n - sPITEX[n + 1].GetLength() * 3, 16, sPITEX[n + 1]);
 }
 pDC->MoveTo(0, 0);
 CString sTmp;
 for (int n = -4, nTmp = 0; nTmp <= 180; n++, nTmp = 60 * n) {
 pDC->LineTo(0, 60 * n);
 pDC->LineTo(5, 60 * n);
 pDC->MoveTo(0, 60 * n);
 sTmp.Format("%d", -n);
 pDC->TextOutA(10, 60 * n, sTmp);
 }
 double y, radian;
 pDC->SelectObject(&pen);
 for (int x = -60; x < 600; x++) {
 radian = x / ((double)60 * 2)*3.1415;
 y = sin(radian) * 2 * 60;
 pDC->MoveTo((int)x, (int)y);
 pDC->LineTo((int)x, (int)y);
 }
 cpen.DeleteObject();
 pen.DeleteObject();
 // TODO: 在此处为本机数据添加绘制代码
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C语言控制台绘制曲线的实现代码

    本文实例为大家分享了C语言控制台绘制曲线的具体代码,供大家参考,具体内容如下 首先我们应该要知道曲线的方程,这里以直角坐标为例 设我们曲线方程为 y = f(x) 然后我们把它化成 y - f(x) = 0的形式 在程序中,我们检测每一个(x, y)位置,只要满足 y - f(x) = 0我们就画出这个点,反之就用空格填充 而在实际中为了减小误差,只要 | y - f(x) | < exp, 其中exp是一个误差范围,取10^-5就可以了 但是还是因为误差,只画曲线的轮廓的话,看起来就不太连续,

  • C++开发绘制正弦曲线的方法

    本文实例为大家分享了C++绘制正弦曲线的具体代码,供大家参考,具体内容如下 通过OnDraw函数绘制图形 过程为先绘制两个坐标轴,再绘制正弦曲线的方法.其中将曲线分解为660个像素点,让其看起来更像"曲线" void CMFCApplication3View::OnDraw(CDC* pDC) { CMFCApplication3Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; CPen cpen, pe

  • Python图形绘制操作之正弦曲线实现方法分析

    本文实例讲述了Python图形绘制操作之正弦曲线实现方法.分享给大家供大家参考,具体如下: 要画正弦曲线先设定一下x的取值范围,从0到2π.要用到numpy模块. numpy.pi 表示π numpy.arange( 0 , 2π ,0.01)  从0到2π,以0.01步进. 令 x=numpy.arange( 0, 2*numpy.pi, 0.01) y=numpy.sin(x) 画图要用到matplotlib.pyplot模块中plot方法. plot(x,y) pyplot.plot.sh

  • php绘制圆形的方法

    本文实例讲述了php绘制圆形的方法.分享给大家供大家参考.具体实现方法如下: php绘图的基本步骤,有四步(php.ini里的 extension = php_gb2.dll 组件首先需要启用) 1.创建画布: 2.画出所需要的图像(圆.直线.矩形.扇形.弧线.......): 3.输出到网页,或者另存: 4.销毁图片(目的是释放图像所占用的内存). 网站开发最常用的三种图像格式:gif.jpg/jpeg.png (1)gif格式:压缩率最高,但只能显示256色,可能造成色彩的丢失.优势:可能显

  • Android开发之动画实现方法

    本文实例讲述了Android开发之动画实现方法.分享给大家供大家参考.具体分析如下: 动画分为三种: 逐帧动画.布局动画和控件动画 控件动画实现 通过重写Animation的 applyTransformation (float interpolatedTime, Transformation t)函数来实现自定义动画效果,另外一般也会实现 initialize (int width, int height, int parentWidth, int parentHeight)函数,这是一个回调

  • Android编程绘制抛物线的方法示例

    本文实例讲述了Android编程绘制抛物线的方法.分享给大家供大家参考,具体如下: package com.yarin.android.Examples_05_04; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Set; import android.content.Context; import

  • Android实现给TableLayou绘制边框的方法

    本文实例讲述了Android实现给TableLayou绘制边框的方法.分享给大家供大家参考,具体如下: 效果如下: 思路:使用share作为背景显示边框 步骤: 1.在res/drawable文件夹下建立table_frame_gray.xml文件: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res

  • 使用 OpenCV 开发虚拟键盘的方法

    目录 介绍 使用 OpenCV 实现虚拟键盘 使用 OpenCV 为虚拟键盘导入库 定义绘制函数 使用 OpenCV 的虚拟键盘主程序 自定义键盘 使用 OpenCV 的虚拟键盘的完整代码 结论 介绍 OpenCV 是最流行的计算机视觉任务库,它是用于机器学习.图像处理等的跨平台开源库,用于开发实时计算机视觉应用程序. CVzone 是一个计算机视觉包,它使用 OpenCV 和 Media Pipe 库作为其核心,使我们易于运行,例如手部跟踪.人脸检测.面部标志检测.姿势估计等,以及图像处理和其

  • 解决IOS开发空字符串的方法

    解决IOS开发空字符串的方法 实例代码: -(Boolean) isEmptyOrNull:(NSString *) str { if (!str) { // null object return true; }else if(str == Null){ return true; }else if([str isKindOfClass:[NSNull class]]){ return true; }else { NSString *trimedString = [str stringByTrim

  • python利用matplotlib库绘制饼图的方法示例

    介绍 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备,并且 Gallery页面 中有上百幅缩略图,打开之后都有源程序.因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定. matplotlib的安装方法可以点击这里 这篇文章给大家主要介绍了python用matplotlib绘制饼图的方法,话不多说,下面来看代码

  • python使用wxpython开发简单记事本的方法

    本文实例讲述了python使用wxpython开发简单记事本的方法.分享给大家供大家参考.具体分析如下: wxPython是Python编程语言的一个GUI工具箱.他使得Python程序员能够轻松的创建具有健壮.功能强大的图形用户界面的程序.它是Python语言对流行的wxWidgets跨平台GUI工具库的绑定.而wxWidgets是用C++语言写成的. 和Python语言与wxWidgetsGUI工具库一样,wxPython是开源软件.这意味着任何人都可以免费地使用它并且可以查看和修改它的源代

随机推荐