当前位置:首页 > 实用技巧 >

斜线的坐标怎么计算

来源:原点资讯(www.yd166.com)时间:2023-06-24 14:24:19作者:YD166手机阅读>>

看到有网友询问如何让一个圆能够沿着一条斜线运动,最近有点时间就做了一个测试项目,求出斜线的斜率后,使用C脚本对X,Y轴坐标值编程,实现了圆的运动轨迹是沿着斜线进行的,发出来供大家交流参考,当然用VBS也是可以实现的,本文主要使用C脚本来讲述。

先看一下最终的效果动态图吧,如下:

斜线的坐标怎么计算,(1)

wincc画面运行后录屏动态图

通过此动态图可以看到,圆的运行轨迹总体上是平行于AB点之间的斜线的,因为C脚本的执行周期设定的是250ms,所以监控的时候有点顿,但并不影响使用效果。如果,要实现圆是完全沿着斜线运动,只需将圆的坐标设置成和A点的坐标一致即可,当然C脚本中牵扯到的左边参数需要一同修改。

下面来讲一下具体的制作步骤吧:

①绘制一条斜线,并求出其斜率:

斜线的坐标怎么计算,(2)

斜线2点在wincc中坐标值

任意绘制一条斜线,如图A B点决定的斜线,选中这条斜线后,会出现8个点框处一个矩形区域,查看斜线的属性,因为这是本画面绘制的第一条线,所以图左上角显示为Line1,在其几何属性中可以看到该矩形区域的信息,也就是这条斜线的信息。因Wincc中的左边是基于运行显示时候距离屏幕左上角的距离来确定其XY坐标的(即画布的左上角坐标是X=0,Y=0),因此我在图片中将属性中的数值在图片中的实际表示做了标注,希望大家能看懂,即最终得出的斜线A点的坐标是A(X1=350,Y1=220),B点的坐标是B(X2=760,Y2=380)。然后根据斜率的计算公式即斜率K=Y2-Y1/X2-X2=160/410,此处无需计算到小数点,因为后续的C脚本中,也是直接引用该分数格式。

②绘制一个圆形,确定其最初坐标值:

斜线的坐标怎么计算,(3)

圆的初始坐标值

如图,该圆是本画面的第一个圆形,因此画面左上角显示为Circle1。为何我要解释这个Circl1呢?因为如上面的Line1一样,这是对象在这个画面上的对象名(ObjectName),对象名在一个画面上是唯一的,我们对属性做动态编程的时候,必须要确定是对哪个对象的哪条属性做编程。

该圆的初始坐标为(X1=310,Y1=230),这个初始坐标就相当于一个新的斜线的起始点,将来圆需要运动到按照AB斜线一样斜率的新的斜线的某点上,这个新的斜线上的某点,就相当于圆的运动轨迹上的新坐标(X2,Y2)。到此想使圆运动,起来就要不断给圆的新坐标(X2,Y2)赋予新的值,用C脚本编程的过程就是使得X2和Y2能不断的变化,但是X2和Y2是有一个斜率关系在里边。

③确定C脚本编程的思路:如果X2和Y2都不知道的话,仅仅有一个斜率K、X1、Y1,要求出X2和Y2是不行的,所以应该使得圆的X1的坐标值能够不断的自己加1,来得到新的X2。(当然,你也可以选择别的方式方法,比如说不断加5来得到新的X2值。)得到新的X2值后,根据斜率K,我们就能够得出新的Y2值,圆就可以按照新的坐标值不断运动了。

④对圆的X坐标值编程,使X轴的值不断变化。

斜线的坐标怎么计算,(4)

X轴值加1程序

该图片中,我定义了2个变量:一个a值,让其在每一个触发周期(250ms)自动加1;一个b值,值是取自画面上跟随运用/停止那个按钮的状态,是按钮关联到我建立的一个内部Bool变量“mov”。最后返回到a值,就实现了圆的X左边不断变化。“mov”的值为1,按钮上就会显示“跟随运行”且按钮颜色是绿色。“mov”的值为0,按钮上就会显示“停止”且按钮颜色是红色。当按钮处于“跟随运行”时,圆才会移动,当处于“停止”圆不会移动。

⑤对圆的Y坐标值编程,使Y轴的值跟随新的X值不断变化。

斜线的坐标怎么计算,(5)

Y值跟随X值并得出新值

该图片中,我也定义了2个变量,一个c用来获取圆当前X轴的值,一个d用来根据最新的X轴值求出最新的Y轴值。这段程序执行后Y值就不断的跟随X值的变化而变化,并且斜率是保证的为16/41。

至此,C脚本的编写就完成了,编译保存,运行画面即可以看到圆是平行于AB斜线移动的,还需要说的是文章的第一个动态画面中,我为了监控圆运行时候X,Y的坐标值,设置了连个输出窗口,连接的也是圆的X,Y坐标的当前值,获取坐标的当前值用到的函数是GetPropWord这个函数,因此也切图来讲一下:

斜线的坐标怎么计算,(6)

获取坐标的当前值

如图,该函数的调用路径在左边树状图中,该函数有3个操作数,分别指向画面的名称,画面里边的对象名称,画面里边对象名的属性。需要注意的是上图中红圈3处就是属性是Left,这个Left就是X坐标的值,前边也说了wincc是从画布边缘的最左边算过来为X值,画布最上边缘算下来是Y值,也就是Top。这也是使用这个函数时候需要特别注意的。

文章结束,本文主要讲C脚本编程的实现方法,如画线、建立变量、选择触发时间等,就没详细说明,望多多包涵。欢迎大家留言讨论转发,如有更好的实现方法,也请多多赐教,谢谢。

栏目热文

如何计算点到斜线垂直距离(斜线和直线的间距怎么求)

如何计算点到斜线垂直距离(斜线和直线的间距怎么求)

如图:答:Xl回车;A回车;R回车;选择需要垂直的对象;输入90回车;指定通过点即可。完。,...

2023-06-24 14:44:25查看全文 >>

知道直线距离怎么计算斜线长度(斜线和直线的间距怎么求)

知道直线距离怎么计算斜线长度(斜线和直线的间距怎么求)

求: 1.AD之直线距离为何? (A)119.1458 (B)119.1584 (C)119.1845 2.∠ABC之角...

2023-06-24 15:08:38查看全文 >>

怎么算斜线的长度(斜线长度怎么算直线长度?)

怎么算斜线的长度(斜线长度怎么算直线长度?)

本文将讲解如何通过中继器与三角绘制一个折线,并实现高复用(做简单的改变即可适应于不同的需求,如改变数值直接改变折线的样子...

2023-06-24 14:47:23查看全文 >>

斜线间距离公式(左斜线和右斜线怎么计算)

斜线间距离公式(左斜线和右斜线怎么计算)

特别声明:湖南成人高考学校未委托任何人在任何市县招生,请直接到成教招生办/学校函授站咨询办理手续,严防上当受骗。信息以湖...

2023-06-24 14:50:34查看全文 >>

如何算60度斜线长度

如何算60度斜线长度

写在前面:学以致用,实操时思路清晰,按部就班,这才是一个资深CAD设计师应有的表现。事实上,要想成为资深CAD设计师并不...

2023-06-24 14:53:13查看全文 >>

两斜线距离怎么量(斜线和直线的间距怎么求)

两斜线距离怎么量(斜线和直线的间距怎么求)

倒角命令即斜角命令,是用斜线连接两个不平行的线型对象。可以用斜线连接直线段、双向无线延长线、射线和多义线。1.指定两个斜...

2023-06-24 15:08:58查看全文 >>

垂直斜线怎么量(垂直于投影垂直于斜线)

垂直斜线怎么量(垂直于投影垂直于斜线)

这期来总结几个CAD梦想画图软件的算量技巧。操作工具操作系统:Windows10CAD软件:CAD梦想画图步骤1.首先我...

2023-06-24 14:48:00查看全文 >>

斜线长度怎么算直线长度(知道长度和宽度怎么算斜长)

斜线长度怎么算直线长度(知道长度和宽度怎么算斜长)

最近进入备考攻坚期,建议大家回归基础内容。近期也有考生反映,题和公式对不上,或是不懂公式的意思。这其实是因为在记忆公式时...

2023-06-24 14:42:00查看全文 >>

充电钻调速开关不能调速维修办法(充电钻开关维修)

充电钻调速开关不能调速维修办法(充电钻开关维修)

小窍门维修大故障:锂电钻变速开关维修。见过这种故障吗?这种故障是开关触点虚接导致的。维修不用更换任何配件,看完视频自己就...

2023-06-24 14:31:34查看全文 >>

文档排行