c#算法(10)——求点到直线的距离

前言
在上位机软件开发领域,特别是机器视觉领域,经常会遇到尺寸测量的场景,比如让我们求一个点到一条直线的距离,我们已知了直线上的两个点的坐标,然后又已知了直线外的一个点的坐标,那么如何求出该直线外的一点到直线的距离呢?本文就是来讲解如何求点到直线的距离的,详细内容如下:
1、点到直线距离求解分析
已知点O和点A为直线上的两个点,点B为经过OA两点所在直线外的一点,如果我们想求出B到OA的距离,那么过点B做一个垂线垂直于OA,交点为H,也就是说求点B到OA之间的距离,就是求BH的距离,并且BH的距离等于OB*sin(角BOA),由于点O和点B的坐标都是已知的,所以OB的长度就是已知的,所以只需要求出角BOA即可,又因为OB和OA都可以组成一个向量,并且点O、B、A坐标都是已知的,所以向量OB、OA都是已知的,所以就可以通过向量OA、OB求出这两个向量的夹角即可,关于如何求两个向量的夹角参考我的这篇博文求两个向量的夹角。
2 、点到直线距离C#源码实现
假设点O坐标为(0,0)
点A坐标为(2,2)
点B坐标为(0,2)
则到B到直线OA的距离等于1.4142,如下图;
相关文章:
c#算法(10)——求点到直线的距离
前言 在上位机软件开发领域,特别是机器视觉领域,经常会遇到尺寸测量的场景,比如让我们求一个点到一条直线的距离,我们已知了直线上的两个点的坐标,然后又已知了直线外的一个点的坐标,那么如何求出该直线外的一点到直线的距离呢?本文就是来讲解如何求点到直线的距离的,…...
[小脚本] maya 命令行常用操作
其实这些代码大部分是从 chatgpt 中生成的。 骨骼命名 import maya.cmds as cmdsdef rename_bones():selected_bones cmds.ls(type"joint") # 获取选中的骨骼for bone in selected_bones:if "_" in bone:new_name bone.split("_")[0] # 获…...
数据结构·单链表
不可否认的是,前几节我们讲解的顺序表存在一下几点问题: 1. 中间、头部的插入和删除,需要移动一整串数据,时间复杂度O(N) 2. 增容需要申请新空间,拷贝数据,释放旧空间。会有不小的消耗 3. 增容一般是2倍的增…...
Redis(秒杀活动、持久化之RDB、AOF)
目录 秒杀活动 一、测压工具jmete的使用 二、java实现秒杀活动 1、myseckillcontroller 2、先启动pos请求添加商品,再启动jmeter进行压测 Redis持久化 一 、Redis持久化之RDB 1.RDB是什么 2. 备份是如何执行的 3.Fork 4. RDB持久化流程 5. dump.rdb文件 6…...
Window安装Python和开发Pycharm
准备: 1:安装Python环境 https://www.python.org/downloads/windows/ 2: 下载Pycharm https://www.jetbrains.com/pycharm/download/other.html...
技术驱动宠物健康:宠物在线问诊系统的高效搭建手册
在数字化时代,技术正在催生出许多创新的医疗服务,而宠物在线问诊系统便是其中一项引领潮流的创举。本文将为你提供一份高效搭建宠物在线问诊系统的手册,通过技术代码示例,让你轻松打造一套技术驱动的宠物健康管理系统。 1. 架构…...
玩转k8s:yaml介绍
一.Yaml文件详解 1.Yaml文件格式 (1)Kubernetes 支持 YAML 和 JSON 格式管理资源对象 (2)JSON 格式:主要用于 api 接口之间消息的传递 (3)YAML 格式:用于配置和管理,…...
【spdk】spdk compressdev测试
spdk-23.09\go\rpc\README.md go client 启应用 启哪个应用? ./build/bin/iscsi_tgt --wait-for-rpc & /usr/local/daos-2.4/prereq/release/spdk/share/spdk/scripts/rpc.py bdev_malloc_create -b Malloc0 1024 4096 #1G bs4k /usr/local/daos-2.4/prereq…...
Linux中并发程序设计(进程的创建和回收、exec函数使用)
进程的创建和回收 进程概念 概念 程序 存放在磁盘上的指令和数据的有序集合(文件) 静态的 进程 执行一个程序所分配的资源的总称 动态的进程和程序比较 注:进程是存在RAM中,程序是存放在ROM(flash)中的进程内容 BSS段ÿ…...
2023年DevOps国际峰会暨 BizDevOps 企业峰会(DOIS北京站):核心内容与学习收获(附大会核心PPT下载)
随着科技的飞速发展,软件开发的模式和流程也在不断地演变。在众多软件开发方法中,DevOps已成为当下热门的软件开发运维一体化模式。特别是在中国,随着越来越多的企业开始认识到DevOps的价值,这一领域的研究与实践活动日益活跃。本…...
pdf 转html 在线预览和查询
方案一:pdf2htmlex package com.realize.controller;import cn.hutool.http.HttpUtil; import com.alibaba.fastjson2.JSONObject; import com.realize.util.MsgUtil; import com.realize.util.OssUtil; import com.realize.util.PdfConvertUtil; import com.reali…...
docker 体验怀旧游戏(魂斗罗等)
docker run --restart always -p 8081:80 --name fc-games -d registry.cn-hangzhou.aliyuncs.com/bystart/fc-games:latest ip:8081访问 jsnes: js制作了一个网页版的NES模拟,可以在网页上玩fc游戏 (gitee.com)...
JS中判断数据类型总结以及方法封装
判断数据类型封装方法: 1)type返回字符串类型 2)is开头返回Boolean类型 测试实例: JavaScript 判断数据类型的方式共有四种 typeofinstanceofconstructorObject.prototype.toString typeof typeof 操作符返回一个字符串,表示操…...
【Midjourney】绘画风格关键词
1.松散素描(Loose Sketch) "Loose sketch"(松散素描)通常指的是一种艺术或设计中的手绘风格,其特点是线条和形状的表现相对宽松、自由,没有过多的细节和精确度。这样的素描通常用于表达创意、捕捉概念或者作为设计的初步…...
教你如何低成本自建「幻兽帕鲁」服务器,快速一键部署
创建幻兽帕鲁服务器1分钟部署教程,阿里云和腾讯云均推出幻兽帕鲁服务器服务器和部署教程,4核16G和4核32G配置可选,阿腾云atengyun.com分享1分钟自建幻兽帕鲁Palworld服务器教程: 幻兽帕鲁服务器创建教程 幻兽帕鲁服务器官方推荐…...
拥抱社交电商浪潮:微信小程序商城崛起引领电商新风向-亿发
在经过多年的发展后,各大传统电商平台的流量增速基本上已经见顶。同时,新兴的带有社交性质的电商平台,如抖音、小红书和微信商城(小程序商城)等,使得传统中心化平台的流量关注度逐渐分散。由于中心化平台需…...
一个使用pyqt的word文档查重工具
一个使用pyqt的word文档查重工具 使用场景代码使用截图打包好的软件下载链接结尾 使用场景 有时我们在借鉴一篇文档之后还不想有太多重复,这个时候可以使用这个工具对两个word文档进行对比 代码 import sys from PyQt5.QtWidgets import QApplication, QMainWind…...
SpringCloud Alibaba Sentinel 与 SpringCloud Gateway 的限流有什么差别?(三种限流算法原理分析)
目录 一、Sentinel 与 Gateway 的限流有什么差别? 1.1、前置知识 - 四种常见的限流算法 1.1.1、Tips 1.1.2、计数器算法 1)固定窗口计数器算法 2)滑动窗口计数器算法 1.1.3、令牌桶算法 1.1.4、漏桶算法 1.2、解决问题 一、Sentinel…...
邦芒忠告:职场新人最需要避开的十大雷坑
职场人最害怕的就是踩雷进坑,很多新入职场的小白都会战战兢兢,生怕哪里不对,冒犯了哪一位,或者触犯了哪一条潜规则。害怕自己踩到雷,没有走好职场第一步。最近,单位进了几个新人,看到他们就想起…...
MySQL-进阶-索引
一、索引概述 1、介绍 2、有误索引搜索效率演示 3、优缺点 二、索引结构 1、B-Tree(多路平衡查找树) 2、BTree 3、Hash 三、索引分类 四、索引语法 1、语法 2、案例 五、SQL性能分析 1、查看执行频次 2、慢查询日志 3、show-profile 4、explain...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
Windows 下端口占用排查与释放全攻略
Windows 下端口占用排查与释放全攻略 在开发和运维过程中,经常会遇到端口被占用的问题(如 8080、3306 等常用端口)。本文将详细介绍如何通过命令行和图形化界面快速定位并释放被占用的端口,帮助你高效解决此类问题。 一、准…...
深入解析光敏传感技术:嵌入式仿真平台如何重塑电子工程教学
一、光敏传感技术的物理本质与系统级实现挑战 光敏电阻作为经典的光电传感器件,其工作原理根植于半导体材料的光电导效应。当入射光子能量超过材料带隙宽度时,价带电子受激发跃迁至导带,形成电子-空穴对,导致材料电导率显著提升。…...
