博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Processing]点到线段的最小距离
阅读量:6451 次
发布时间:2019-06-23

本文共 1049 字,大约阅读时间需要 3 分钟。

1 PVector p1,p2,n; 2 float d = 0; 3  4 void setup() 5 { 6   size(600,600); 7    8   p1 = new PVector(150,30);//线段第一个端点 9   p2 = new PVector(-25,-100);//线段第二个端点10   11   PVector vec = PVector.sub(p1,p2);12   vec.normalize();13   n = new PVector(-vec.y,vec.x);//与线段垂直的向量14   d = n.dot(p1);15 }16 17 void draw()18 {19   background(#CCCCCC);20   translate(300,300);//重置坐标原点21   strokeWeight(1);22   stroke(#000000);23   line(-300,0, 300,0);//画横纵轴24   line(0,-300, 0,300);25   26   drawLine(p1,p2);27   drawVector(n);28   29   PVector q = new PVector(mouseX-300,mouseY-300);30   strokeWeight(8);31   stroke(#EEEE00);//yellow32   point(q.x,q.y);33   34   float temp = d - q.dot(n);35   PVector nearestPnt = new PVector(n.x,n.y);36   nearestPnt.mult(temp);37   nearestPnt.add(q);38   39   PVector delV1,delV2;//线段上的 最近点 到两端点的向量40   delV1 = PVector.sub(nearestPnt,p1);41   delV2 = PVector.sub(nearestPnt,p2);42   if(PVector.dot(delV1,delV2)>0)//如果两个向量的点积大于0,则最近点在线段外43   {44     nearestPnt = module(delV1)

 

转载于:https://www.cnblogs.com/Yukisora/p/9270068.html

你可能感兴趣的文章
贪吃蛇java程序简化版_JAVA简版贪吃蛇
查看>>
poi java web_WebPOI JavaWeb 项目 导出excel表格(.xls) Develop 238万源代码下载- www.pudn.com...
查看>>
java 顶点着色_金属顶点着色器绘制纹理点
查看>>
php扩展有哪些G11,php 几个扩展(extension)的安装笔记
查看>>
ajax长连接 php,ajax怎么实现服务器与浏览器长连接
查看>>
oracle报1405,【案例】Oracle报错ORA-15054 asm diskgroup无法mount的解决办法
查看>>
php 5.4.24 win32,PHP 5.4.14 和 PHP 5.3.24 发布
查看>>
oracle top pid,Linux Top 命令解析 比较详细
查看>>
grub如何进入linux系统,Linux操作系统启动管理器-GRUB
查看>>
linux pbs 用户时间,【Linux】单计算机安装PBS系统(Torque)与运维
查看>>
linux系统可用内存减少,在Linux中检查可用内存的5种方法
查看>>
linux 脚本map,Linux Shell Map的用法详解
查看>>
如何在linux系统下配置共享文件夹,如何在windows和Linux系统之间共享文件夹.doc
查看>>
thinkpad装linux无线网卡驱动,ThinkPad E530 Fedora 20 下无线网卡驱动的安装
查看>>
linux操作系统加固软件,系统安全:教你Linux操作系统的安全加固
查看>>
linux中yum源安装dhcp,24.Linux系统下动态网络源部署方法(dhcpd)
查看>>
linux屏幕复制显示出来的,linux – stdout到gnu屏幕复制缓冲区
查看>>
一起学Shell(十)之可称植性议题与扩展
查看>>
部署Ganglia监控Hadoop&Hbase
查看>>
gitlab的用户使用手册
查看>>