当前位置:网站首页>matlab练习程序(多线段交点)
matlab练习程序(多线段交点)
2022-08-04 09:44:00 【全栈程序员站长】
大家好,又见面了,我是你们的朋友全栈君。
很简单的算法,这里是把每对线段都进行比较了。
还有一种似乎先通过x和y排序再进行交点判断的,不过那种方法我还没看太明白。
这里的方法如下:
1.根据线段的端点求两条直线的交点。
2.判断直线的交点是否在两条线段上。
结果如下:
matlab代码如下:
clear all;close all;clc;
n=20;
p=rand(n,4); %(x1,y1,x2,y2)线段两端点
for i=1:n
pbar=p(i,:);
pbar=reshape(pbar,[2,2]);
line(pbar(1,:),pbar(2,:));
end
hold on;
for i=1:n-1
p1=p(i,:);
k1=(p1(2)-p1(4))/(p1(1)-p1(3));
b1=p1(2)-k1*p1(1);
for j=i+1:n
p2=p(j,:);
k2=(p2(2)-p2(4))/(p2(1)-p2(3));
b2=p2(2)-k2*p2(1);
x=-(b1-b2)/(k1-k2); %求两直线交点
y=-(-b2*k1+b1*k2)/(k1-k2);
%判断交点是否在两线段上
if min(p1(1),p1(3))<=x && x<=max(p1(1),p1(3)) && ...
min(p1(2),p1(4))<=y && y<=max(p1(2),p1(4)) && ...
min(p2(1),p2(3))<=x && x<=max(p2(1),p2(3)) && ...
min(p2(2),p2(4))<=y && y<=max(p2(2),p2(4))
plot(x,y,'.');
end
end
end
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/107099.html原文链接:https://javaforall.cn
边栏推荐
- IDEA 自动导入的配置(Auto import)
- rk3399-339 usb设备复合 总体流程
- After four years of outsourcing, the autumn recruits finally landed
- [Punctuality Atom STM32 Serial] Chapter 4 STM32 First Experience Excerpted from [Punctual Atom] MiniPro STM32H750 Development Guide_V1.1
- 函数防抖与函数节流
- LeetCode中等题之旋转图像
- 各位大佬,请问mysql数据的cdc,能指定存量数据同步的zone为utc 吗
- Win11文件资源管理器找不到选项卡怎么办?
- leetcode动态规划经典例题——53.最大子数组和
- 华为od项目
猜你喜欢
OAK-FFC-4P全网首次测试
Anton Paar安东帕密度计比重计维修DMA35性能参数
冰蝎工具开发实现动态二进制加密WebShell
下午14:00面试,14:08低着头出来了 ,问的实在是太...
Acwing 3208. Z字形扫描 偏移量+扩展图
Techwiz OLED:OLED器件的发光效率
已解决No module named ‘flask_misaka‘【BUG解决】
MindSpore:mirrorpad算子速度过慢的问题
Detailed explanation of switch link aggregation [Huawei eNSP]
sync-diff-inspector 使用实践
随机推荐
[Punctuality Atom STM32 Serial] Chapter 3 Development Environment Construction Excerpted from [Punctual Atom] MiniPro STM32H750 Development Guide_V1.1
我和 TiDB 的故事 | 缘份在,那就终是能相遇的
双指针方法
MindSpore:【AIR模型导出】导出时提示源码中select_op参数类型转换失败
redis解决分布式session问题
他97年的,我既然卷不过他...
云函数实现网站自动化签到配置详解【Web函数/Nodejs/cookie】
参数优化。
【COS 加码福利】COS 用户实践有奖征文,等你来投稿!
LeetCode中等题之设计循环队列
请问同一个oracle cdc表,如果flink job重新提交,是会全量读取一遍源数据还是增量呢?
优炫数据库只有数据文件如何恢复
leetcode动态规划经典例题——53.最大子数组和
tcp连接的细节
数据万象内容审核 — 共建安全互联网,专项开展“清朗”直播整治行动
Anton Paar安东帕密度计比重计维修DMA35性能参数
bash shell数组详解
什么是元宇宙?
Apache APISIX 2.15 版本发布,为插件增加更多灵活性
LVGL's multi-language conversion tool -- a good assistant for font settings