• 算法:怎样得到两点连成的直线上的所有点(怎样判断一点是否在直线上)


    看雪论坛上有人问。于是顺便写出了这段代码。

      Q:现在在写代码时碰到这样一个问题,设点A(100,100),点B(200,200)这两点连成一条直线,怎样得到A,B两点连成的直线上的所有点,那位兄弟能给个公式,先谢了
    A:可以用向量共线得到,中学时就学过:
    若有三点A(x1,y1) B(x2,y2) C(x3,y3)共线,则必有向量ab cb共线。即(x1*y2-x2*y1)=(x1*y3-x3*y1)
    以下是C语言代码。在tc2.1下编译通过。

    #include <stdio.h>
    main()
    {
    int i;
    /*a(arr[0][0],arr[1][0])b(arr[0][1],arr[1][1])*/
    int arr[2][2]={{100,200},{100,200}};
    /* c(arrin[0][0],arrin[1][0]))*/
    int arrin[2][1];
    clrscr();
    for (i=0;i<3;i++){
       printf(
    "please input two interget.\n");
    /* input c  */
       scanf(
    "%d%d",&arrin[0][0],&arrin[1][0]);
       
    if ((arr[0][0]*arrin[1][0]-arrin[0][0]*arr[1][0])==(arr[0][0]*arr[1][1]-arr[0][1]*arr[1]

    [
    0]))
          printf(
    "the point c(%d %d) is on the line!\n",arrin[0][0],arrin[1][0]);
       
    else
          printf(
    "the point c(%d %d) is not on the line!\n",arrin[0][0],arrin[1][0]);
       }
    }
    

    范晨鹏
    ------------------
    软件是一种态度
    成功是一种习惯


  • 相关阅读:
    TypeScript 类型学习2
    TypeScript 类型学习4
    获取当前月份的前12个月份,获取上个月,获取本年度
    TypeScript 类型学习3
    TypeScript 类型学习1
    获取url的参数
    prettier 通用配置
    处理数字的保留位数
    echart React使用折线图
    antd tree渲染
  • 原文地址:https://www.cnblogs.com/diylab/p/554901.html
Copyright © 2020-2023  润新知