This is a C++ program to show the duality transformation of line and point. The transformation corresponds from line to point and point to line.

Here is source code of the C++ Program to Show the Duality Transformation of Line and Point. The C++ program is successfully compiled and run on a Linux system. The program output is also shown below.

`#include <iostream>`

`#include <time.h>`

`#include <stdlib.h>`

using namespace std;

void performLineTransformation(double a, double b)

`{`

cout << "X: " << (b / a) << ", Y: " << (b * -1);

`}`

void performPointTransformation(double x, double y)

`{`

cout << "y=" << (-1 * y / x) << "x +" << (-1 * y);

`}`

int main(int argc, char **argv)

`{`

`cout`

<< "Perform what transformation.\n1. Line Transformation\n2. Point Transformation";

int option;

cin >> option;

switch (option)

`{`

case 1:

cout << "Enter the coefficients of line <y=ax-b>";

double a, b;

cin >> a >> b;

performLineTransformation(a, b);

break;

case 2:

cout << "Enter the coordinate of point <x, y>";

double x, y;

cin >> x >> y;

performPointTransformation(x, y);

break;

default:

break;

`}`

`}`

Output:

$ g++ DualityTransformation.cpp $ a.out Perform what transformation. 1. Line Transformation 2. Point Transformation 1 Enter the coefficients of line <y=ax-b> 1 2 X: 2.0, Y: -2.0 Perform what transformation. 1. Line Transformation 2. Point Transformation 2 Enter the coordinate of point <x, y> 2 -2 y=1.0x +2.0 ------------------ (program exited with code: 0) Press return to continue

**Sanfoundry Global Education & Learning Series – 1000 C++ Programs.**

Here’s the list of Best Reference Books in C++ Programming, Data Structures and Algorithms.