绘制余弦图形
Posted perseverance52
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了绘制余弦图形相关的知识,希望对你有一定的参考价值。
//使用mircoOLED绘制余弦图形
#include "U8glib.h"
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11)
#define u8g_logo_width 40
#define u8g_logo_height 24
void draw_rect(void)//绘制一个十字形,水平线居中,竖线靠左
{
//将坐标的原点定在屏幕的中央,为了方便看见,Y轴定在X=10位置上
//坐标的原点为(10,32)
u8g.drawLine(0,32,128,32);//描绘坐标系X轴
u8g.drawLine(10,0,10,64);//描绘坐标系Y轴
//Y轴小箭头从(10,0)开始画线,X轴小箭头从(128,32)开始画线
u8g.drawLine(10,0,7,4);//描绘小箭头
u8g.drawLine(10,0,13,4);
u8g.drawLine(128,32,124,28);//另一个小箭头
u8g.drawLine(128,32,124,36);
}
void aa(void) //描绘余弦函数图形,用点函数
{
for (u8g_uint_t x=0;x<128;x++)
{
u8g_uint_t y;
y=32-31*cos(x*3.14/28);
//余弦波显示
u8g.drawPixel(x+10,y);//点的坐标X值+10这样起点就正好到了坐标的交叉点
}
}
void bb(void) //描绘正弦函数图形,用点函数
{
for (u8g_uint_t x=0;x<128;x++)
{
u8g_uint_t y;
y=32-31*sin(x*3.14/28);
//正弦波显示
u8g.drawPixel(x+10,y);
}
}
void draw(void) {
draw_rect();//绘制坐标系----十字型
// aa();//余弦图形
bb();
}
void setup(void) {
}
void loop(void) {
// picture loop
u8g.firstPage();
do {
draw();
}
while( u8g.nextPage() );
// rebuild the picture after some delay
delay(500);
}
以上是关于绘制余弦图形的主要内容,如果未能解决你的问题,请参考以下文章
【Matlab的图形绘制和频谱计算】+和+【基本信号的表达式】