【问题标题】:Drawing lines with dimensions In Livecode在 Livecode 中绘制带尺寸的线条
【发布时间】:2015-06-26 16:19:32
【问题描述】:

我正在尝试使用 Livecode 编写一个小型绘图程序,该程序将显示绘制线的长度,以便可以进行编辑,我还需要显示多边形的角度以进行编辑。用户应该能够通过单击尺寸来选择多边形的一部分。这会将行的长度加载到右侧的字段中以进行编辑。输入正确的数字后,绘图将自行重绘。 (我可能可以使用多边形的“点”来计算这部分)我已经包含了程序应该是什么样子的屏幕截图。我希望它会在用户绘制图像时显示这些数字。很抱歉我没有包含任何代码,但是我什至不知道从哪里开始。我已经编写了几个涉及数据库的程序,但这是我第一次尝试使用绘图。提前感谢您的任何建议!! http://i.stack.imgur.com/gfKS9.jpg

【问题讨论】:

  • 我很抱歉照片没有发布,它在这里.....i.stack.imgur.com/gfKS9.jpg
  • 您是否查看过 LC 存储绘图坐标的方式?您应该能够使用更新的测量值编辑存储在属性中的这些值,然后重新绘制整个窗口。
  • 谢谢!你知道我在哪里可以找到这些坐标吗?我知道这些点的存储位置,但我不知道如何将这些转换为角度
  • 您是否尝试过使用revRotatePoly?我猜这会旋转整个图形,而不仅仅是一条线。因此,您可能必须使用一些几何计算来创建自己的函数,以便以另一个角度重绘多边形的最后一部分。我现在无法测试,但这在 2D 区域中应该不会太难。
  • 我认为你是对的。我可能必须将其作为几个单独的多边形,每个线段一个,这样它们就可以单独旋转。不幸的是数学不是我的强项哈哈。这将导致一系列全新的问题,但是因为我必须弄清楚如何编写一个函数,将多边形从连接的边缘旋转出来,而不是图形的中心

标签: drawing livecode polygons cad graph-drawing


【解决方案1】:

您不能更改单个线段的大小,而是更改所有多边形的大小。 要更改线条的大小...

set the linesize of graphic "polygon" to 4

保罗

【讨论】:

  • 保罗,感谢您的回复。更改“线条大小”只会更改绘制线条的粗细,而不是长度。除非我错过了什么?
【解决方案2】:

要获得角度,您可以使用一些三角法。如果你有两点(你可以通过使用

 the points of graphic "myPolygon"

然后你每行得到一个点。如果要计算两点之间的角度,可以使用一些三角函数。如果你有一个点 x1, y1 和另一个点 x2,y2 你可以通过使用得到角度

put atan2(y2-y1, x2-x1) into tRad

角度将是从 -pi 到 +pi 的弧度,因此如果您想要更多“常规”度数,则需要将其转换为度数:

put tRad*180/pi into tDeg

你得到的角度是根据 x-y 坐标系。因此,如果您想要线条之间的角度,您需要进行两次计算并添加角度。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    • 2018-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多