From e11f2c662e9d82f3eb0f31f34c986745bd8b05f1 Mon Sep 17 00:00:00 2001 From: garrett Date: Sat, 7 Sep 2024 19:39:42 -0400 Subject: [PATCH] Added HW3B Assign and started function generation --- .vscode/c_cpp_properties.json | 16 ++++++ Research/a.out | Bin 0 -> 16608 bytes Research/test.c | 101 ++++++++++++++++++++++++++++++++++ csci218/Assignments/a.out | Bin 0 -> 16096 bytes csci218/Assignments/ohmsLaw.c | 32 +++++++++++ 5 files changed, 149 insertions(+) create mode 100644 .vscode/c_cpp_properties.json create mode 100755 Research/a.out create mode 100644 Research/test.c create mode 100755 csci218/Assignments/a.out create mode 100644 csci218/Assignments/ohmsLaw.c diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..4039bef --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,16 @@ +{ + "configurations": [ + { + "name": "Linux", + "includePath": [ + "${workspaceFolder}/**" + ], + "defines": [], + "compilerPath": "/usr/bin/gcc", + "cStandard": "c17", + "cppStandard": "gnu++17", + "intelliSenseMode": "linux-gcc-x64" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/Research/a.out b/Research/a.out new file mode 100755 index 0000000000000000000000000000000000000000..97add8d59a117f69f9deee6324850508e625ff02 GIT binary patch literal 16608 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 literal 0 HcmV?d00001 diff --git a/Research/test.c b/Research/test.c new file mode 100644 index 0000000..120931a --- /dev/null +++ b/Research/test.c @@ -0,0 +1,101 @@ +#include +#include +#include +#include + +#define WIDTH 800 // Width of the window +#define HEIGHT 600 // Height of the window +#define SCALE_X 50 // Scale factor for x-axis +#define SCALE_Y 100 // Scale factor for y-axis +#define OFFSET_X 100 // Horizontal offset +#define OFFSET_Y 300 // Vertical offset (middle of the window) +#define GRID_SPACING_X 50 // Grid spacing for x-axis +#define GRID_SPACING_Y 50 // Grid spacing for y-axis + +void draw_grid(Display *display, Window window, GC gc) { + int x, y; + + // Set color for grid lines (light gray) + XSetForeground(display, gc, 0xcccccc); + + // Draw vertical grid lines + for (x = OFFSET_X; x < WIDTH; x += GRID_SPACING_X) { + XDrawLine(display, window, gc, x, 0, x, HEIGHT); + } + + // Draw horizontal grid lines + for (y = 0; y < HEIGHT; y += GRID_SPACING_Y) { + XDrawLine(display, window, gc, OFFSET_X, y, WIDTH, y); + } +} + +void draw_sine_wave(Display *display, Window window, GC gc) { + double x; + int prev_x = OFFSET_X; + int prev_y = OFFSET_Y; + + // Set color for sine wave (black) + XSetForeground(display, gc, BlackPixel(display, DefaultScreen(display))); + + for (x = 0; x < 2 * M_PI * 4; x += 0.01) { + // Compute screen coordinates for the sine wave + int screen_x = OFFSET_X + (int)(x * SCALE_X); + int screen_y = OFFSET_Y - (int)(sin(x) * SCALE_Y); + + // Draw a line from the previous point to the current point + XDrawLine(display, window, gc, prev_x, prev_y, screen_x, screen_y); + + // Update previous coordinates + prev_x = screen_x; + prev_y = screen_y; + } +} + +int main(void) { + Display *display; + Window window; + int screen; + GC gc; + + // Open connection to X server + display = XOpenDisplay(NULL); + if (display == NULL) { + fprintf(stderr, "Unable to open X display\n"); + exit(1); + } + + screen = DefaultScreen(display); + + // Create a simple window + window = XCreateSimpleWindow(display, RootWindow(display, screen), 10, 10, WIDTH, HEIGHT, 1, + BlackPixel(display, screen), WhitePixel(display, screen)); + + // Set window properties and show it + XSelectInput(display, window, ExposureMask | KeyPressMask); + XMapWindow(display, window); + + // Create graphics context + gc = XCreateGC(display, window, 0, NULL); + + // Event loop + XEvent event; + while (1) { + XNextEvent(display, &event); + + if (event.type == Expose) { + // When the window is exposed, first draw the grid, then the sine wave + draw_grid(display, window, gc); + draw_sine_wave(display, window, gc); + } + + if (event.type == KeyPress) + break; // Exit the loop on any keypress + } + + // Clean up + XFreeGC(display, gc); + XDestroyWindow(display, window); + XCloseDisplay(display); + + return 0; +} diff --git a/csci218/Assignments/a.out b/csci218/Assignments/a.out new file mode 100755 index 0000000000000000000000000000000000000000..3de21a5ec9c04902be6213d636e0583fda047105 GIT binary patch literal 16096 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 Ne{4{e`y70t_y>3#=G6cI literal 0 HcmV?d00001 diff --git a/csci218/Assignments/ohmsLaw.c b/csci218/Assignments/ohmsLaw.c new file mode 100644 index 0000000..34784af --- /dev/null +++ b/csci218/Assignments/ohmsLaw.c @@ -0,0 +1,32 @@ +/* Name: Garrett Haldrup +ohmsLaw.c +Problem: Take an input of Voltage and Resistance and calculate Current. +Certification of Authenticity: +I certify that this assignment is entirely my own work. +*/ +#include + +int main(void){ + // Program purpose output + printf("This program will take in Voltage(V) and Resistance(Ω) to calculate the Current(A)\n"); + + // Declare voltage and current as double, and resistance as int + double voltage, current; + int resistance; + + // Scan in voltage and resistance from user + printf("Input the Voltage in Volts(V): "); + scanf("%lf", &voltage); + + printf("Input the Resistance in Ohms(Ω): "); + scanf("%d", &resistance); + + // Perform Ohms Law Clalculation I = V / R + current = voltage / resistance; + + // Output Current from calculation + printf("Based off the Voltage(V) of %.1lfV and Resistance(Ω) of %dΩ\n", voltage, resistance); + printf("The Current(A) is: %.3lfA\n", current); + + return 0; +} \ No newline at end of file