Advertisement
Guest User

Untitled

a guest
Sep 21st, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.33 KB | None | 0 0
  1. //
  2. //  main.cpp
  3. //  MidPointCircleAlgorithm
  4. //
  5. //  Created by Daniel Olamide on 20/09/2019.
  6. //  Copyright © 2019 Daniel Olamide. All rights reserved.
  7. //
  8.  
  9. #include<iostream>
  10. using namespace std;
  11.  
  12. void transformer(int x, int y, int y_center, int x_center){
  13.     int choice =0;
  14.     while (choice < 8) {
  15.         switch (choice) {
  16.             case 0:
  17.                 x = x + x_center;
  18.                 y = y + y_center;
  19.                 break;
  20.             case 1:
  21.                 y = x + x_center;
  22.                 x  = y + y_center;
  23.                 break;
  24.             case 2:
  25.                 x = -(y + y_center);
  26.                 y = x + x_center;
  27.                 break;
  28.             case 3:
  29.                 x = -(x + x_center);
  30.                 y = y + y_center;
  31.                 break;
  32.             case 4:
  33.                 x = -(x + x_center);
  34.                 y = -(y + y_center);
  35.                 break;
  36.             case 5:
  37.                 x = -(y + y_center);
  38.                 y = -(x + x_center);
  39.                 break;
  40.             case 6:
  41.                 x = y + y_center;
  42.                 y = -(x + x_center);
  43.                 break;
  44.             case 7:
  45.                 x = x + x_center;
  46.                 y = -(y + y_center);
  47.             default:
  48.                 break;
  49.         }
  50.         choice++;
  51.         cout << "X : "<<x<<" Y : "<<y<<endl;
  52. //        cout << "X_Node: "<<x<<" Y_Node: "<<y<<endl;
  53.         cout<<endl;
  54.  
  55.     }
  56. }
  57.  
  58. void midPointCircle(int x_center,int y_center,int radius){
  59.     //Initialize decision
  60.     int p  = 1 - radius;
  61. //    int x_plots, y_plots;
  62.     int x = 0;
  63.     int y = radius;
  64.     int iterations = 0;
  65.    
  66.     cout<< "Iteration : "<<iterations<<endl;
  67.     cout << "P :"<<p<<endl;
  68.     if(p < 0){
  69.         p = p + 2*x + 3;
  70.         x++;
  71.     }
  72.     else{
  73.         p = p + (2*x) - (2*y) + 5;
  74.         y--;
  75.         x++;
  76.     }
  77.     transformer(x, y, y_center, x_center);
  78.     iterations++;
  79.    
  80.     while(x < y){
  81.         cout<< "Iteration : "<<iterations<<endl;
  82.         cout << "P :"<<p<<endl;
  83.  
  84.         if(p < 0){
  85.             p = p + 2*x + 3;
  86.             x++;
  87.         }
  88.         else{
  89.             p = p + (2*x) - (2*y) + 5;
  90.             y--;
  91.             x++;
  92.         }
  93.         iterations++;
  94.         transformer(x, y, y_center, x_center);
  95.     }
  96. }
  97.  
  98. int main(){
  99.     midPointCircle(6, 4, 10);
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement