{"id":20465089,"url":"https://github.com/sarahabuirmeileh/computergraphics","last_synced_at":"2026-04-20T13:38:03.990Z","repository":{"id":243253455,"uuid":"769654932","full_name":"SarahAbuirmeileh/ComputerGraphics","owner":"SarahAbuirmeileh","description":"Versatile rendering widget implemented in C++ using the Qt framework and is built using CMake and use it to draw elementary shapes and functionality","archived":false,"fork":false,"pushed_at":"2024-03-30T17:23:22.000Z","size":34,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-16T01:15:02.053Z","etag":null,"topics":["arc-drawing-algorithm","bresenham-algorithm","bresenham-line-drawing-algorithm","circle-drawing-algorithm","clipping","clipping-algorithm","cmake","cmakelists","cohen-sutherland","cohen-sutherland-algorithm","computer-graphics","computergraphics","cplusplus","ellipse-drawing-algorithm","filling-algorithms","line-drawing-algorithm","qt"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SarahAbuirmeileh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-09T17:25:03.000Z","updated_at":"2024-06-07T14:03:56.000Z","dependencies_parsed_at":"2024-06-07T16:46:18.003Z","dependency_job_id":null,"html_url":"https://github.com/SarahAbuirmeileh/ComputerGraphics","commit_stats":null,"previous_names":["sarahabuirmeileh/computergraphics"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SarahAbuirmeileh%2FComputerGraphics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SarahAbuirmeileh%2FComputerGraphics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SarahAbuirmeileh%2FComputerGraphics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SarahAbuirmeileh%2FComputerGraphics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SarahAbuirmeileh","download_url":"https://codeload.github.com/SarahAbuirmeileh/ComputerGraphics/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242024696,"owners_count":20059571,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arc-drawing-algorithm","bresenham-algorithm","bresenham-line-drawing-algorithm","circle-drawing-algorithm","clipping","clipping-algorithm","cmake","cmakelists","cohen-sutherland","cohen-sutherland-algorithm","computer-graphics","computergraphics","cplusplus","ellipse-drawing-algorithm","filling-algorithms","line-drawing-algorithm","qt"],"created_at":"2024-11-15T13:17:15.709Z","updated_at":"2025-10-14T10:20:17.117Z","avatar_url":"https://github.com/SarahAbuirmeileh.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Computer Graphics 💡\n\n## Overview\nWelcome to the Table Lamp project, developed at Palestine Polytechnic University. This project provides a versatile rendering widget implemented in C++ using the Qt framework and is built using CMake. The widget is designed to facilitate the drawing of various geometric shapes, including lines, circles, ellipses, and arcs. Using these basic shapes I used them to draw a simple Lamp.\n\nWhether you're a student exploring computer graphics or a developer seeking a lightweight graphics rendering tool, RenderWidget aims to meet your needs and goals. 🎯🔥\n\n\u003cbr\u003e\u003cbr\u003e\n\n## Features 💻\n1. Drawing Lines 📈 \u003cbr\u003e\nThe Render Widget supports two efficient functions for drawing lines - the Bresenham algorithm (draw Line) implementing in two ways , providing flexibility in line rendering.\n\n2. Drawing Circles ⚪️\u003cbr\u003e\nEfficiently draw circles using the incremental method.\n\n3. Drawing Arcs 🌈\u003cbr\u003e\nSpecify the center, start angle, end angle, and radius to draw precise arcs using the drawArc method.\n \n4. Drawing Ellipses 🥚\u003cbr\u003e\nCreate ellipses by specifying the center and major and minor axes with the drawEllipse method.\n\n5. Clipping Lines 📏\u003cbr\u003e\n   Added functionality for clipping lines using the Cohen-Sutherland algorithm\n   \n6. Filling Convex Polygons  🎨🖌\u003cbr\u003e\nFilling convex and H-convex polygons using scanline filling technique.\n\n\n\u003cbr\u003e\u003cbr\u003e\n\n## Drawing a Table Lamp 💡🛋️\nThe following picture show the table lamp that we draw using the simple functionality provided above.\n\n\u003cimg src=\"https://github.com/SarahAbuirmeileh/SarahAbuirmeileh/assets/127017088/7da39e92-afcf-4da3-a87e-d39789a68c8f\" width=\"550\" height=\"550\"\u003e\n\n\n\u003cbr\u003e\u003cbr\u003e\n\n## Drawing a Car 🚗✨\nThe following picture show the car that we draw using the simple functionality provided above.\n\n\u003cimg src=\"https://github.com/SarahAbuirmeileh/SarahAbuirmeileh/assets/127017088/40b5448a-5dea-4e94-a95e-ff7a7b838f61\" width=\"550\" height=\"550\"\u003e\n\n\n\u003cbr\u003e\u003cbr\u003e\n\n## Note 📝\nDimensions of the level in which the drawing is made are like this: \n\n\u003cimg src=\"https://github.com/SarahAbuirmeileh/SarahAbuirmeileh/assets/127017088/6f8a4838-76ec-4501-b011-146ef2787188\" width=\"550\" height=\"550\"\u003e\n\n\u003cbr\u003e \n\nBut if you want to use this dimension ⬇️ you can call the functinn mapPoint(x,y) to map it to the original dimension\n\n\u003cimg src=\"https://github.com/SarahAbuirmeileh/SarahAbuirmeileh/assets/127017088/e0e124c1-fd53-4450-a904-a0bc15906a5b\" width=\"550\" height=\"550\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsarahabuirmeileh%2Fcomputergraphics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsarahabuirmeileh%2Fcomputergraphics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsarahabuirmeileh%2Fcomputergraphics/lists"}