Added get coordinates function to generate sin values.
This commit is contained in:
1 parent
88f34f0353
commit
0e327b284f
2 files changed
+35
-1
No files matched your search
@@ -42,4 +42,32 @@ void setColor(volatile unsigned char* fb, colour_t pixel, long x, long y, long p
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Takes a computed sin value and finds what pixel it cooresponds to
|
||||||
|
int scale_to_y_pixel(double y)
|
||||||
|
{
|
||||||
|
return (int) ((SCREEN_HEIGHT / 2) * (1 - y));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Takes a horizontal pixel location and finds where it would be in a normal graph 0 < t < 2pi
|
||||||
|
double scale_to_x_origin(int x)
|
||||||
|
{
|
||||||
|
return x * 2 * M_PI / SCREEN_WIDTH;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Returns the coordinates of the sin function. sin[x] = y coordinate on the horizontal pixel x.
|
||||||
|
int *getCoordinates()
|
||||||
|
{
|
||||||
|
int x = 0;
|
||||||
|
int *yCords = (int*) malloc(sizeof(int) * SCREEN_WIDTH);
|
||||||
|
memset(yCords, 0, SCREEN_WIDTH);
|
||||||
|
for (x = 0; x < SCREEN_WIDTH; ++x)
|
||||||
|
{
|
||||||
|
double float_x = scale_to_x_origin(x);
|
||||||
|
yCords[x] = scale_to_y_pixel(sin(float_x));
|
||||||
|
}
|
||||||
|
|
||||||
|
return yCords;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -12,6 +12,8 @@ arm-016-util.h
|
|||||||
|
|
||||||
#define COLOUR_DELTA 0.05 /* Float from 0 to 1 incremented by this amount */
|
#define COLOUR_DELTA 0.05 /* Float from 0 to 1 incremented by this amount */
|
||||||
|
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
float r;
|
float r;
|
||||||
float g;
|
float g;
|
||||||
@@ -22,4 +24,8 @@ typedef struct {
|
|||||||
|
|
||||||
extern void setColor(volatile unsigned char* fb, colour_t pixel, long x, long y, long pitch);
|
extern void setColor(volatile unsigned char* fb, colour_t pixel, long x, long y, long pitch);
|
||||||
|
|
||||||
#endif
|
int * getCoordinates();
|
||||||
|
double scale_to_x_origin(int);
|
||||||
|
int scale_to_y_pixel(double);
|
||||||
|
|
||||||
|
#endif
|
||||||
Reference in new issue
Block a user