C++ 程序展示线和点的对偶变换

c++server side programmingprogramming更新于 2024/11/4 5:51:00

这是一个 C++ 程序,用于展示线和点的对偶变换。因此它可以有两种情况 −

情况 1: 点 (a, b) 变换为线 (y = ax − b)。

情况 2: 线 D(y = cx + d) 变换为点 D’(c, −d)。

函数和伪代码

Function LineTransformation(double c, double d)

Print C: (d / c)
D: (d * -1)

Function PointTransformation(double x, double y)

Print a = (-1 * y / x)
b = (-1 * y)

示例

#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
void LineTransformation(double c, double d) {
   cout << "C: " << (d / c) << ", D: " << (d * -1);
}
void PointTransformation(double x, double y) {
   cout << "y=" << (-1 * y / x) << "x +" << (-1 * y);
}
int main(int argc, char **argv) {
   cout << "\n1. Line Transformation\n2. Point Transformation";
   int c;
   cin >> c;
   switch (c) {
      case 1:
         cout << "Enter the coefficients of line y=ax-b:";
         double a, b;
         cin >> a >> b;
         LineTransformation(a, b);
         break;
      case 2:
         cout << "Enter the coordinate of point <a, b>";
         double x, y;
         cin >> x >> y;
         PointTransformation(x, y);
         break;
      default:
         break;
   }
}

输出

1. Line Transformation
2. Point Transformation
1
Enter the coefficients of line y=ax-b:
1
2
C: 2, D: -2

1. Line Transformation
2. Point Transformation
2
Enter the coordinate of point <a, b>
1
2
y=-2x +-2

相关文章