精华内容
下载资源
问答
  • 2.若两条直线斜率都不存在,则这两条直线也平行.所以说,如果两条直线平行,则它们的斜率相等【是错误的】 反过来:若直线斜率相等,则这两条直线平行【是正确的】 第二步:思路: 证明两条直线平行,肯定是证明斜率...

    第一步:原理:

    1.若两条直线斜率存在,则:斜率相等,则这两直线平行;
    2.若两条直线斜率都不存在,则这两条直线也平行.所以说,如果两条直线平行,则它们的斜率相等【是错误的】 反过来:若两直线斜率相等,则这两条直线平行【是正确的】

    第二步:思路:

    证明两条直线平行,肯定是证明斜率相同比较容易,因为根据坐标求斜率比较简单,但是需要注意的是,当直线平行于y轴的时候斜率是不存在的,所以在写代码的时候要考虑到这一点

    第三步:代码:

    public static void parallel(double x1,double y1,double x2,double y2,double x3,double y3,double x4,double y4){
    		//这个判断条件是为了避免有一条直线平行于y轴,因为他们此时斜率无穷大,但是如果他们都平行y轴,说明他们也是平行的
    		if(x1==x2 || x3==x4){
    			if(x1==x2&&x3==x4){
    				System.out.println("两直线平行");
    			}
    		}else{
    			double p1 = (y2-y1)/(x2-x1);
    			double p2 = (y4-y3)/(x4-x3);
    			if(p1 == p2){
    				System.out.println("两直线平行");
    			}
    		}
    	}
    

    第四步:拓展:

    思考:当判断三点坐标是不是在一条直线上的时候,这个是不是也可以用到?

    很明显是可以的,话不多说上代码:

    public static void getSlope(double x1,double y1,double x2,double y2,double x3,double y3){
    		//这个判断条件是为了避免有一条直线平行于y轴,因为他们此时斜率无穷大,但是如果他们都平行y轴,说明他们也是平行的
    		if(x1==x2 || x2==x3){
    			if(x1==x2&&x2==x3){
    				System.out.println("该三点在一条直线上");
    			}
    		}else{
    			double p1 = (y2-y1)/(x2-x1);
    			double p2 = (y2-y3)/(x2-x3);
    			if(p1 == p2){
    				System.out.println("该三点在一条直线上");
    			}
    		}
    	}
    

    ok,还有什么证明会用到斜率相同呢,一起探讨探讨吧

    展开全文
  • 平面几何:两点确定一条直线

    千次阅读 2018-11-08 23:02:00
    个不同A,B确定一条直线,AB相同返回的值全0 直线方程:Ax+By+c=0 A = y2 - y1; B = x1 - x2; C = -Ax1 - By1 = x2y1 - x1y2; 证明之后补上; Line LineMake(Point A, Point B) { Line l; l.A = B.y - A.y; l.B...

    两个不同点A,B确定一条直线,AB相同返回的值全0

    • 直线方程:Ax+By+c=0
    • A = y2 - y1;
    • B = x1 - x2;
    • C = -Ax1 - By1 = x2y1 - x1y2;

    证明之后补上;

    Line LineMake(Point A, Point B)
    {
    Line l;
    l.A = B.y - A.y;
    l.B = A.x - B.x;
    l.C = B.x * A.y - A.x * B.y;
    return l;
    }

    展开全文
  • 页面上有两颗星星图标,画一条线连接两颗星星。 1.先获取两点的坐标 2.计算弦长及旋转角度 3.绘制线 <div class="quality-analysis"> <div class="cnt-box"> <span class="selected-start"> ...
    页面上有两颗星星图标,画一条线连接两颗星星。

    1.先获取两点的坐标   2.计算弦长及旋转角度   3.绘制线

    <div class="quality-analysis">
      <div class="cnt-box">
         <span  class="selected-start">
            <svg class="icon fs16 warn-text icon-orange " aria-hidden="true">
               <use xlink:href="#h-delete-collect"></use>
             </svg>
          </span>
          <span  class="selected-start">
            <svg class="icon fs16 gray-text" aria-hidden="true">
              <use xlink:href="#h-collect"></use>
             </svg>
            </span> 
      </div>
    </div>
    <script>
      export default {
        data() {
          return {
            positionList: [], // 获取坐标
          }
        },
        mounted() {
          this.getStartPosition()
          this.drawLine(this.positionList)
        },
        methods: {
          // 获取星星坐标
          getStartPosition() {
            let nodeList = document.querySelectorAll('.selected-start')
            let parentNode = document.querySelector('.cnt-box').offsetParent
            let actualLeft = 0
            let current = 0
            let actualTop = 0
            if(nodeList.length>0){
              for(let i=0;i<nodeList.length;i++){
                actualLeft = nodeList[i].offsetLeft  // 累加计算星星相对于顶级父元素的距离
                actualTop = nodeList[i].offsetTop
                current = nodeList[i].offsetParent
                while(current!== parentNode){
                  actualLeft += current.offsetLeft
                  actualTop += current.offsetTop
                  current = current.offsetParent
                }
                let obj = {
                  x:actualLeft,
                  y:actualTop,
                }
                this.positionList.push(obj)
              }
            }
           
          },
    
          // 画星星连线
          drawLine(positionList) {
            if(positionList.length>0){
              for(let i=1;i<positionList.length;i++){
                // 计算长宽
                let rectWidth = Math.abs(positionList[i].x - positionList[i-1].x)
                let rectHeight = Math.abs(positionList[i].y - positionList[i-1].y)
                // 在页面确定div左上角的具体位置
                let rectX = positionList[i].x < positionList[i-1].x ? positionList[i].x : positionList[i-1].x
                let rectY = positionList[i].y < positionList[i-1].y  ? positionList[i].y : positionList[i-1].y
              
                // 弦长
                let stringWidth = Math.ceil(Math.sqrt((rectWidth * rectWidth)+ (rectHeight*rectHeight)))
                let xPad = (rectWidth - stringWidth)/2
                let yPad = (rectHeight - 2)/2
                // 从x轴到(x,y)的旋转角度
                let radNum = Math.atan2((positionList[i].y - positionList[i-1].y),(positionList[i].x - positionList[i-1].x))
                let  traX  = rectX +  xPad - 8 // 8为星星图标大小的1/2
                let  traY  = rectY +  yPad + 8
                // 创建div
                let div = document.createElement('div')
                div.innerHTML = '<div ' +
                  ' style = "width:' + stringWidth + 'px;height:2px;transform:translate(' + traX+ 'px,' + traY +'px) rotate('+ radNum+ 'rad) " class="draw-line-style"></div>'
                let doc = document.querySelector('.quality-analysis')
                doc.appendChild(div)
              }
            }
          }
        }
      }
    </script>

    说明:

    <style lang="scss">
      .quality-analysis {
        position: relative;
      .draw-line-style{
        top: 0;
        position: absolute;
        border-top: 1px solid $bgOrange;
      }
    </style>

    1.每个元素都有offsetTop和offsetLeft属性,表示该元素的左上角与父容器(offsetParent对象)左上角的距离。所以,只需要将这两个值进行累加,就可以得到该元素的绝对坐标。

    2.atan2(y,x) :返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。

    展开全文
  • 我可以想出一个简单的方法,不需要逐步更新图像:在一张空白图像上,从1向2的方向画一条长线,然后用绘制(填充)的单个轮廓的图像生成图像。这将在轮廓末端停止直线。然后你可以使用这个蒙版来画线,或者得到最小...

    我可以想出一个简单的方法,不需要逐步更新图像:在一张空白图像上,从点1向点2的方向画一条长线,然后用绘制(填充)的单个轮廓的图像生成图像。这将在轮廓末端停止直线。然后你可以使用这个蒙版来画线,或者得到最小/最大的x,y坐标,如果你想要这条线的坐标。在

    要浏览示例,首先我们将找到轮廓并在空白图像上绘制:contours = cv2.findContours(img, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)[1]

    contour_img = np.zeros_like(img)

    cv2.fillPoly(contour_img, contours, 255)

    然后,如果我们有点p1和p2,找到它们前进的方向,找到一个离这个距离很远的点,然后在一个新的空白图像上画出这条线(这里我使用了距p11000个像素的距离):

    ^{pr2}$

    然后简单地把这两个图像放在一起contour_line_img = cv2.bitwise_and(line_img, contour_img)

    这是一张显示点的图像,这条线延伸过轮廓线,以及在轮廓处断开的线。在

    编辑:注意,只有当你的轮廓是凸的时,这才有效。如果有凹面,线穿过凹面部分,它将继续在凹面的另一侧绘制。例如,在消音器的回答中,如果两个点都在其中一只耳朵内,并指向另一只耳朵,你会希望轮廓在碰到边缘时停止,但我的会继续画在另一只耳朵上。我认为像消音器这样的迭代方法对一般情况来说是最好的,但是我喜欢这种方法的简单性,如果你知道你有凸轮廓或者你的点在一个地方不会有这个问题。在

    Edit2:Stack上的其他人通过创建一个:openCV 3.0 python LineIterator回答了他们自己关于Python中Line Iterator类的问题

    展开全文
  • 如上图,已知四个(x0,y0)、(x1,y1)、(x2,y2)、(x3,y3),其中(x0,y0)、(x1,y1)确定直线1,(x2,y2)、(x3,y3)确定直线2,求直线1、直线2的交点(x,y),公式如下: y = ( (y0-y1)*(y3-y2)*x0 + (y3-y2)*(x1-x0)*y0 + ...
  • 两点之画一条直线

    千次阅读 2012-08-21 00:09:51
    ************************************...两点之画一条直线 Glib_Line(起点座标x,起点座标y,终点座标x,终点座标y,直线颜色) **************************************************************/ static void Glib_Lin
  • private void GetBetweenPoint(Transform target, Vector3 start,Vector3 end,float percent=1f) { Vector3 normal = (end - start).normalized; float distance = Vector3.Distance(start, end);...
  • vtk 两点确定一条直线的可视化

    千次阅读 2017-06-09 09:20:18
    已知的坐标StartPoint,EndPoint,用vtk可视化其确定的直线。 vtkSmartPointer&lt;vtkPoints&gt; Points = vtkSmartPointer&lt;vtkPoints&gt;::New(); Points-&gt;InsertNextPoint...
  • 两点之间插值成一条直线

    千次阅读 2017-11-29 09:55:14
    自己写的代码,以直线方程式为基础,记录一下,以备后用 int X0 = PrePoint.X(); int Y0 = PrePoint.Y(); int X1 = CurPoint.X(); int Y1 = CurPoint.Y(); int nDisX = abs(X1-X0); int nDisY = abs(Y1-Y0); if...
  • 平面上N个,没都确定一条直线,求出斜率最大的那条直线所通过的(斜率不存在的情况不考虑)。 先把N个按x排序。 斜率k最大值为max(斜率(point[i],point[i+1])) 1 &lt;=i &lt; n-1。 ...
  • /* 个不同A,B确定一条直线,AB相同返回的值全0 * 直线方程:Ax+By+c=0 * A = y2 - y1; * B = x1 - x2; * C = -A*x1 - B*y1 = x2*y1 - x1*y2; */ Line LineMake(Point A, Point B) { Line l; l.A = B.y - ...
  • NXOpen两点创建一条直线,并改变颜色 使用块UI编辑器生成模板,将模板代码复制到新建的项目中,注意***.dlx的位置 执行代码 public class Line_Creating { //class members private static Session theSession = ...
  • 平面上N个,每都确定一条直线, 求出斜率最大的那条直线所通过的(斜率不存在的情况不考虑)。时间效率越高越好。 平面上N个,每都确定一条直线,求出斜率最大的那条直线所通过的...
  • 1. 设所求对称点A的坐标为(a,b)。根据所设对称点A(a,b)和已知点B(c,d)...2. 因为A、B两点关于已知直线对称,所以直线AB与该已知直线垂直。又因为两垂直相交直线的斜率相乘积为-1,即k1*k2=-1。设已知直线的斜率...
  • 平面上N个,没都确定一条直线,求出斜率最大的那条直线所通过的(斜率不存在的情况不考虑)。 先把N个按x排序。 斜率k最大值为max(斜率(point[i],point[i+1])) 1 <=i < n-1。 复杂度Nlog(N...
  • 都说两点确定一条直线,那么设计一个直线类Line,需要通过两个点Point对象来确定。Line类具体要求如下: 1)定义两个Point对象p1,p2; 2)写出有参构造方法,传递两个对象值给p1,p2 3)为p1,p2写出setters,和...
  • 条向量在一条直线上时,向量的叉积等于 0 ,即上面的第二种情况,所以判断条线段相交就分为种情况讨论:1.向量的叉积不等于 0 ;2.向量的叉积等于 0 。一.叉积不等于 0首先:我们要判断...
  • ![图片说明](https://img-ask.csdn.net/upload/201812/17/1545030852_112393.jpg)
  • 立体几何基本公理体系公理1:如果一条直线上的两点落在一个平面内,那么这条直线在此平面内。符号语言: 图形语言:公理2:过不在一条直线上的三点,有且仅有一个平面。图形语言:推论1:一条直线和直线外的一点确定...
  • 平面上N个,没都确定一条直线,求出斜率最大的那条直线所通过的(斜率不存在的情况不考虑)。时间效率越高越好。 先把N个按x排序。 斜率k最大值为max(斜率(point[i],point[i+1])) 0 复杂度...
  • ###题目给定一个二维平面,...得出二维平面上的能够组成的所有直线,再找出哪条直线上的最多即可,步骤如下:个不同的可以确定一条直线,所以先找出二维平面points中的个不同的确定一条直线。遍历point...
  • 任何理论都不如自己实践一遍实在,我们现在...我们先学习一下分类,首先在二维坐标系中我们有,分别为(6,2)和(2,6)这我们可以通过一条直线将他们分开,用Python实现: import matplotlib.pylab as p...
  • 问题描述: 平常为了得出地理位置上两点的实际...在此之前,需要计算出球面上两条直线间的夹角以及两点在球面上的距离。 1)球面上两条直线间的夹角 方法:简易版,将球面弧线看成是直角坐标系下的直线,采用向量乘积
  • 平面的基本性质(1)公理1:如果一条直线上的两点在一个平面内,那么这条直线在此平面内.(2)公理2:过不在同一条直线上的三点,有且只有一个平面.(3)公理3:如果两个不重合的平面有一个公共点,那么它们有且只有一条过...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,242
精华内容 1,696
关键字:

两点一条直线