C++程序演示直线与点的对偶变换


这是一个C++程序,用于演示直线与点的对偶变换。它包含两种情况:

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

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

函数和伪代码

函数 LineTransformation(double c, double d)

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

函数 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

更新于:2019年7月30日

167 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.