如何在 Java 中使点同质化?

javaobject oriented programmingprogramming

在本文中,我们将了解如何使点同质化。射影平面上的任何点都由三元组(X,Y,Z)表示,称为点的齐次坐标或射影坐标,其中X,Y和Z不全为0。如果坐标乘以一个共同因子,则给定一组齐次坐标所表示的点保持不变。

根据问题陈述,我们必须通过取任何共同因子并将其与给定点相乘来使点同质化。

让我们开始吧!

向您展示一些实例

实例-1

假设点为(10,20,25)

那么这些点的共同因子为5,10。

假设我们取最大共同因子即10来使给定点同质化。

然后对点进行同质化后,结果将是 −

同质点为:(100, 200, 250)

实例-2

假设点为 (8, 16, 12)

那么这些点的共同因子为 2, 4。

假设我们取最大共同因子,即 4,以使给定的点同质化。

那么在对点进行同质化之后,结果将是

同质点为:(32, 64, 48)

实例-3

假设点为 (12, 16, 20)

那么这些点的共同因子为 2, 4。

假设我们取最大共同因子,即4 使给定的点均质化。

然后,在使点均质化之后,结果将是

均质点为:(48、64、80)

算法

步骤 1 - 声明并初始化变量。

步骤 2 - 声明共同因子。

步骤 3 - 声明点。

步骤 4 - 通过乘以共同因子找到均质点。

步骤 5 - 打印结果。

多种方法

我们提供了不同方法的解决方案。

  • 通过使用静态输入

  • 使用用户定义方法

让我们逐一查看程序及其输出。

方法 1:使用静态输入

在此方法中,我们将声明点和公因数,然后通过乘以公因数来找到同质点。

示例

public class Main{
   
   //main 方法
   public static void main(String[] args){

      //初始化变量
      int x, y, z;
      
      //declaring the common factor
      int a = 10;

      //declaring the points
      int a1 = 10, a2 = 20, a3 = 25;
      
      //finding the homogeneous points
      x = a * a1;
      y = a * a2;
      z = a * a3;
      
      //打印结果
      System.out.println("Homogeneous points: (" + x + ", " + y + ", " + z + ")");
   }
}

输出

Homogeneous points: (100, 200, 250)

方法 2:使用用户定义方法

在此方法中,我们将声明点和公因数,然后通过使用用户定义方法乘以公因数来找到同质点。

示例

public class Main{
   
   //main 方法
   public static void main(String[] args){

      //declaring the points
      int a1 = 8, a2 = 16, a3 = 12;

      //调用用户定义的方法
      func(a1, a2, a3);
   }

   //用户定义的方法
   static void func(int a1, int a2, int a3){

      //初始化变量
      int x, y, z;
      //declaring the commom factor
      int a = 4;

      //finding the homogeneous points
      x = a * a1;
      y = a * a2;
      z = a * a3;

      //打印结果
      System.out.println("Homogeneous points: (" + x + ", " + y + ", " + z + ")");
   }
}

输出

Homogeneous points: (32, 64, 48)

在本文中,我们探讨了如何使用 Java 编程语言对点进行同质化。


相关文章