精华内容
下载资源
问答
  • 两点之间线段长度
    2021-12-31 23:26:43
    #include<stdio.h>
    int main() 
    { 
        double Xa, Ya, Xb, Yb;
        scanf("%lf%lf%lf%lf", &Xa, &Ya, &Xb, &Yb);
        double A = Xa - Xb;     // 求出边A的长度
        double B = Ya - Yb;     // 求出边B的长度
        // 根据勾股定理求出边C的长度
        double C = sqrt(A * A + B * B);
        printf("%.3f", C);
        return 0;
    
    
    
    
    }




     

    }

    更多相关内容
  • 在cad中利用lisp代码选择一个多段线,计算次选择点间长度
  • #include<stdio.h> #include<math.h>//调用数学函数sqrt需要的头文件; intmain() { doubleXa,Ya; doubleXb,Yb; doublem; scanf("%lf%lf",&Xa,&...m=sqrt((Xa-Xb)*(Xa-Xb)+...

    #include<stdio.h> 

    #include<math.h>//调用数学函数sqrt需要的头文件;

    int main()

    {

        double Xa, Ya;

        double Xb, Yb;

        double  m;

        scanf("%lf%lf", &Xa, &Ya);

        scanf("%lf%lf", &Xb, &Yb);

        m = sqrt((Xa - Xb) * (Xa - Xb) + (Ya - Yb) * (Ya - Yb));

       


     

        

        

        printf("%.3lf",m);

        return 0;

    }

    有问题私信

    展开全文
  • 变分法证明两点之间线段最短

    万次阅读 2019-01-08 16:27:33
    在Part 2., 我们会以用这次介绍的内容和上述方程解决两点之间直线最短的问题为开头,继续介绍变分法。 ----------------------------------------------------------------------------------------------------...

    传送门https://zhuanlan.zhihu.com/yueaptx

    变分法简介Part 1.(Calculus of Variations)

    Dr.Stein

    Dr.Stein

    计算力学

    ​关注他

    283 人赞了该文章

    1. 泛函数 (Functionals)

     

    简而言之,泛函数是函数的函数,即它的输入是函数,输出是实数。而这个输出值取决于一个或多个函数(输入)在一整个路径上的积分而非像一般函数一样取决于离散的变量。这样说可能还是比较抽象,不过坚持看到下文的Example 1就可以更好理解了。

    通常在变分法中,泛函数是一个积分,记做I

    I(y)=\int_{x1}^{x2}Fdx

    其中我们想要通过选择被积函数F来最大化或最小化泛函数I的值。同时我们称F为拉格朗日函数(Lagrange function)。F可以是函数y(x)y(x)各阶导数的函数(以下y(x)均简写成y)。为了说明方便,我们先姑且设Fyy'的函数,所以我们可以进一步将泛函数I写成:

    I(y)=\int_{x1}^{x2}F(y,y';x)dx

    积分里面我用分号;将x和前面的y隔开代表yy'x的函数。一般Fy的函数关系是已知的,所以想要最大或最小化泛函数,实际上是通过选择适当的函数y(x)

    为了透彻理解这个概念,我们可以来看一个简单的例子。

    Example 1.

    一个最简单直观的例子是求两个固定点之间的最短路径。当然大家都知道两点之间直线最短,这里可以用变分法做出解释。

    如上图所示路径是一任意路径,我们取区中一小段微元ds,可以容易计算微元断的长度为:

    ds^2=dx^2+dy^2=[1+(y')^2]dx^2,即:

    ds=\sqrt{1+(y')^2}dx

    积分得到总的路径长度为:

    L=\int_{x1}^{x2}ds=\int_{x1}^{x2}\sqrt{1+(y')^2}dx

    这个例子中,L是泛函数,\sqrt{1+(y')^2}是拉格朗日函数F,我们想要找一个函数y(x)使得泛函数L的值最小。这次Part 1.的任务就是为解决这个问题做准备。Part 2.中我们会用变分法证明这个y(x)确实是直线的方程。

    2. 泛函数的极值

     

    这里重申下,泛函数I在区间[x_1,x_2]上的值取决于积分路径的选择,即取决于函数y(x)的选择。我们有理由假设存在一个这样的y(x),可以使得泛函数I取到极值。而在这个y(x)附近的任意路径我们记做\tilde{y}(x)。另外,我们假设y(x)两阶可微。通过引入一个微小量\epsilon\ll 1和一个任意可微函数\eta(x),我们可以用y(x)表示\tilde{y}(x):

    \tilde{y}(x)=y(x)+\epsilon\eta(x)

    这样做的好处是对于一个给定的\eta(x),我们可以通过改变\epsilon的值来得到无穷多的路径,同时对于任何\eta(x),当\epsilon=0的时候,\tilde{y}(x)y(x)重合。

    图像直观表示如下图:

    由于在边界条件的限制,\eta(x_1)=\eta(x_2)=0。这样就能保证\tilde{y}(x)可以通过两个固定端点。

    这时我们可以说,y(x)所对应的泛函数I的值是泛函数\tilde{I}=\int_{x_1}^{x_2}F(\tilde{y},\tilde{y}';x)dx的极值。我们可以进一步用\epsilon表示\tilde{I}

    \tilde{I}=\int_{x_1}^{x_2}F(\tilde{y},\tilde{y}';x)dx=\int_{x1}^{x_2}F(y+\epsilon\eta,y'+\epsilon\eta';x)dx

    虽然y(x)未知,但是根据之前的合理假设,y(x)是一个存在的确定函数。所以根据上式,如果给定一个特定的\eta(x)\tilde{I}的变化只取决于\epsilon的变化。所以我们现在可以把\tilde{I}看做是\epsilon的函数。用泰勒展开公式将\tilde{I}\epsilon=0处展开得到:

    \tilde{I}(\epsilon)=\tilde{I}|_{\epsilon=0}+(\frac{d\tilde{I}}{d\epsilon})\Big|_{\epsilon=0}\cdot\epsilon+ (\frac{d^2\tilde{I}}{d\epsilon^2})\Big|_{\epsilon=0}\cdot\frac{\epsilon^2}{2!} +\cdot \cdot \cdot =\tilde{I}_0+\tilde{I}_1\epsilon+\tilde{I}_2\epsilon^2+\cdot \cdot \cdot

    很明显,当\epsilon=0时,\tilde{I}|_{\epsilon=0}=I,带入上式可得到:

    \tilde{I}-I=\tilde{I}_1\epsilon+\tilde{I}_2\epsilon^2+\cdot \cdot \cdot

    这里我们记\delta I=\tilde{I}_1\epsilon=\frac{d\tilde{I}}{d\epsilon}\Big|_{\epsilon=0}\cdot\epsilon,并称之为一阶变分。同理二阶变分为\delta I^2=\tilde{I}_2\epsilon^2

    (这里插一句变分和微分的区别。变分在上图的直观解释是\tilde{y}y在竖直方向上的距离,称之为\delta y,所以这个差是在同一个x上计算的。而微分则是由于x的微小变动引起的y的变动。)

    然后我们可以类比求函数极值时的做法。求函数极值时,我们会令函数的一阶导数为零。这里同样,为了求泛函数\tilde{I}的极值,我们令一阶变分\delta I=0。现在我们计算化简\delta I:

    \delta I=(\int_{x_1}^{x_2}\frac{d\tilde{F}}{d\epsilon}\Big|_{\epsilon=0} dx)\cdot\epsilon
    \frac{d\tilde{F}}{d\epsilon}\Big|_{\epsilon=0} \cdot\epsilon=(\frac{\partial\tilde{F}}{\partial\tilde{y}}\cdot\frac{d\tilde{y}}{d\epsilon}+  \frac{\partial\tilde{F}}{\partial\tilde{y'}}\cdot\frac{d\tilde{y'}}{d\epsilon})\Big|_{\epsilon=0}\cdot\epsilon

    因为 \tilde{y}(x)=y(x)+\epsilon\eta(x), 不难得到:\frac{d\tilde{y}}{d\epsilon}=\eta,\frac{d\tilde{y'}}{d\epsilon}=\eta',另外我们有\delta y=\epsilon \eta,\delta y'=\epsilon\eta'

    又因为当\epsilon\rightarrow 0时,\tilde{F}\rightarrow 0, \tilde{y}\rightarrow y,\tilde{y}'\rightarrow y',将这些式子带入原式可以得到:

    \delta I=\int_{x_1}^{x_2}(\frac{\partial F}{\partial y}\delta y+\frac{\partial F}{\partial y'}\delta y')dx

    终于到最后一步啦,分部积分一下得到:

    \delta I=\int_{x_1}^{x_2}(\frac{\partial F}{\partial y}-\frac{d}{dx}(\frac{\partial F}{\partial y'} ))\delta ydx+\frac{\partial F}{\partial y'}\delta y\Big|_{x_1}^{x_2}

    \delta I=0就可以解得最小化泛函数的y啦。我们注意到\delta I有两个部分。对于第一个积分部分,由于\delta y是任意的,所以要想使这个部分等于零,需要保证^{[1]}

    \frac{\partial F}{\partial y}-\frac{d}{dx}(\frac{\partial F}{\partial y'} )=0 (x_1\leq x\leq x_2)

    这就是传说中的欧拉-拉格朗日方程(E-L equation)。

    而第二部分等于零则是边界条件。

    在Part 2., 我们会以用这次介绍的内容和上述方程解决两点之间直线最短的问题为开头,继续介绍变分法。

    ---------------------------------------------------------------------------------------------------------------------------

    注[1]:

    假设x_1x_2是给定的常数,\phi(x)是一个特定的在x_1\leq x\leq x_2上连续的函数,那么如果对于任意连续可微的函数\eta(x)都成立\int_{x_1}^{x_2}\phi(x)\eta(x)dx=0,则\phi(x)=0 (x_1\leq x\leq x_2)。

    (任意函数和一个非零的特定函数的乘积仍是任意函数,由于无法保证任意函数的积分是零,所以这个特定函数必须在这个区间上恒等于零使得乘积为零,这样可以保证积分为零。)

    展开全文
  • java计算两点间的距离方法总结

    千次阅读 2021-03-09 00:10:56
    //引用awt包下的Point类,此类的功能是表示 (x,y) 坐标空间中的位置的public class Distance {public static void main(String[] args) {Point p1 = new Point(5, 6);// 定义第一个的坐标(5,6)Point p2 = new...

    使用java自带的Point类

    import java.awt.Point;//引用awt包下的Point类,此类的功能是表示 (x,y) 坐标空间中的位置的点

    public class Distance {

    public static void main(String[] args) {

    Point p1 = new Point(5, 6);// 定义第一个点的坐标(5,6)

    Point p2 = new Point(7,8);// 定义第二个点的坐标(7,8)

    //定位坐标

    System.out.println("p1的x坐标为"+p1.getX());

    System.out.println("p1的y坐标为"+p1.getY());

    System.out.println("p2的x坐标为"+p2.getX());

    System.out.println("p2的y坐标为"+p2.getY());

    // 计算两点间距离公式

    double juli = Math.sqrt(Math.abs((p1.getX() - p2.getX())* (p1.getX() - p2.getX())+(p1.getY() - p2.getY())* (p1.getY() - p2.getY())));

    System.out.println("两点间的距离是:" + juli);

    }

    }

    构造函数

    public class Point {

    double num1,num2;

    Point(double i,double j){

    num1=i;num2=j;

    }

    void getX(){

    System.out.println(num1);

    }

    void getY(){

    System.out.println(num2);

    }

    public static void main(String[] args){

    Point p1=new Point(5, 6);

    Point p2=new Point(7, 8);

    p1.getX(); //xy的坐标

    p1.getY();

    p2.getX();

    p2.getY();

    /*

    * 公式略

    */

    }

    }

    以上就是本次介绍的求两点之间距离的方法,感谢大家对脚本之家的支持。

    展开全文
  • 如何用python求线段长度

    千次阅读 2021-02-04 05:11:05
    我想用Python计算线段长度(任意数量)。我使用了下面的代码,但是我遇到元组不能将减法作为操作数。我怎样才能克服呢?我想知道我是否错过了任何重要的Python概念。在from itertools import starmapimport math...
  • 方法一:#导入math包import math#定义的函数class Point:def __init__(self,x=0,y=0):self.x=xself.y=ydef getx(self):return self.xdef gety(self):return self.y#定义直线函数class Getlen:def __init__(self,p1...
  • 两点之间的距离 直接运用两点间距离公式 (x2-x1)^ 2+(y2-y1)^ 2开根号 //两点间距离 double getDistancePP(Point a,Point b) { //这个代码是部分代码,有些逻辑没有展现完全,大家往下看! Point c(b.x-a.x,b.y-a.y)...
  • 已知某一点坐标,旋转角度,长度,求另一点坐标 */ export const calculateCoordinatePoint = (originPoint, degree, len) => { let rotate = (degree - 90 + 360) % 360; //这里是因为一开始以y轴下方为0度的...
  • C(23)——计算线段长度

    千次阅读 2021-05-19 11:06:08
    本文给大家分享的是C (23)——计算线段长度的分析和相关内容,内含源码分析,遇到同样问题的朋友可以参考一下,如果有更好的解决方法,请留言分享帮助更多的程序员。总时间限制:1000ms内存限制:65536kB描述已知线段...
  • 已知某一点坐标,旋转角度,长度,求另一点坐标 */ export const calculateCoordinatePoint = (originPoint, degree, len) => { let rotate = (degree - 90 + 360) % 360; //这里是因为一开始以y轴下方为0度的...
  • 在一条长度为1的线段上随机取,则以这为端点的线段的期望长度是1/3,为什么?
  • 两点之间连接线段并保持 1.创建场景需要的物体 2.开始配置位置和定位 3.最终效果展示 ==出现分辨率问题== 1.创建场景需要的物体 1.首先创建3个Image Canvas的Resolution设置 2.开始配置位置和定位 2.将Line放到Start...
  • #首先引入数学函数 ...#创建一个的类 class Point(): #初始化的坐标(x,y) def __init__(self,x=0,y=0): self.x = x self.y = y #获取的X轴坐标 def getX(self): return self...
  • 今天来让我们来继续分析信息学奥赛...1033:计算线段长度 时间限制: 1000 ms 内存限制: 32768 KB 提交数: 60450 通过数: 33938 【题目描述】 已知线段的个端点的坐标A(Xa,Ya),B(Xb,Yb),求线段AB的长度,...
  • 源码,有测试数据。内容:1、判断两点构成的直线是否相交;2、判断点是否落在由多点构成的区域内
  • 已知线段个端点的坐标 A(Xa,Ya),B(Xb,Yb),求线段 AB 的长度。 蒜头君老师告诉了你计算公式如下:√(Xa−Xb)2+(Ya−Yb)2。 输入格式 共行。 第一行是个实数 Xa,Ya,即 A 的坐标。 第二行是个实数 Xb,Yb,...
  • 1033:计算线段长度

    千次阅读 2021-07-01 18:59:47
    1033:计算线段长度 时间限制: 1000 ms 内存限制: 65536 KB 【题目描述】 已知线段的个端点的坐标A(Xa,Ya),B(Xb,Yb),求线段AB的长度,保留到小数点后3位。 【输入】 第一行是个实数Xa,Ya,即A的坐标。 第...
  • 如图1所示,C分线段AB为5:7,D分线段AB为5:11,若CD=10cm,求AB。图1分析:观察图形可知,DC=AC-AD,根据已知的比例关系,AC、AD均可用所求量AB表示,这样通过已知量DC,即可求出AB。...
  • 友元类 求线段长度

    2021-11-12 17:18:23
    定义Point类和Line类,其中Line类是Point类的友元类,包含个Point对象,分别表示起点和终点,根据程序框架补充必要的函数,并实现Line的len函数,计算线段长度。 PS:结果可读性没有到位,后期可以加显示线段的...
  • C++(23)——计算线段长度

    千次阅读 热门讨论 2020-10-08 16:10:51
    已知线段个端点的坐标A(Xa,Ya),B(Xb,Yb),求线段AB的长度。 输入 共行。 第一行是个实数Xa,Ya,即A的坐标。 第二行是个实数Xb,Yb,即B的坐标。 输入中所有实数的绝对值均不超过10000。 输出 ...
  • System.out.println("线段长度为:"); System.out.printf("%.2f\n" ,line1.length()); System.out.println("线段平移(1,1)后位置为:"); line1.move(1,1); System.out.print(line1.location()); ...
  • 线段的距离

    千次阅读 2019-10-11 09:18:23
    线段最短距离的运算与到直线的最短距离的运算二者之间存在一定的差别,即求线段最短距离时需要考虑参考在沿线段方向的投影是否在线段上,若在线段上才可采用到直线距离公式,如图1所示。 具体...
  • https://lbs.amap.com/api/webservice/guide/api/newroute#t5
  • 求线段的数量关系与位置关系是初中阶段常考的内容之一,那如何在纷繁复杂的题目中找到求线段长度的突破口呢。下面小编为大家整理了初中阶段常用求线段长度的方法。前四种是纯粹初中阶段的知识,后种方法应用到高一...
  • 线段长度

    千次阅读 2015-10-23 12:19:09
    1.一维空间之中(L),存在若干条线,表示为(l,r)[r>=l],指从l到r的线,这条线长度为r-l,给定n条这样的线,他们之间如果相交,那么长度就是最后的表现形式, 如: (2,8) (1,5) ,则长度为8-1+1=9。  (3,6) (3,4) ,...
  • 回答:CAD怎么测量多线段的长度CAD中会有多条线段,怎么测量这些线段长度呢?今天小编给大家介绍CAD测量多线段长度的方法,大家参考一下,以下是详细的步骤。1、输入DI命令,首先根据提示捕捉确定第一。确定完第...
  • 提到平面图形的稳定性,大家...很简单,只需要添加一条线段,让它变成个三角形即可。在我们平常生活中,很多东西都是利用了三角形的稳定性,也随处可见,比如说我们自行车的车架、比如塔吊、人字梯、比如斜拉桥等...
  • 能同时量取多个线段长度,方便,你可以先选择多条独立的线条,然后同时量取

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 41,878
精华内容 16,751
关键字:

两点之间线段长度

友情链接: ruler.rar