问题标签 [graphical-programming]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
565 浏览

gtk - 将 cairo 与 GTK 一起使用

我想通过代码将几何形状绘制到 Gtk_Window 中。

我已经编写了 Gtk_window 代码,我唯一的问题是将它与 Cairo 一起使用。

接下来是使用andlabs的方法后的代码。

所以这段代码在窗口中包含一个 gtk_drawing_area ,以及连接过程中的“draw”信号,它连接到新的处理程序(泛型的实例化)。

事实上,我使用了这个 C 代码:https ://developer.gnome.org/gtk3/stable/GtkDrawingArea.html

编译时有 2 行错误。

0 投票
0 回答
112 浏览

f# - 如何使用在一个类中定义的重写方法,在另一个类中?

我在为图形界面课程做的练习中遇到了一些问题。我正在用 F# 编写一个以这种方式定义的程序:

  • 我有一个 A 类,我在其中重写了 OnPaint 方法;
  • 我有另一个 B 类,在其中我覆盖了 OnPaint 方法、OnMouse[Down/Move/Up] 方法等。

我会将A中重写的OnPaint方法用到B中定义的重写OnPaint方法中(显然A中的OnPaint方法是在A类中定义的,也就是说我必须实例化一个A类对象)。

我的问题是:我该怎么做?我是否需要在 A 中定义一个方法,在该方法中我传递 PaintEventArgs.Graphics 参数与 A 的 OnPaint 方法的相同任务,而不是覆盖 A 中的 OnPaint 方法?

一个例子:我必须做这样的事情:

或者类似的东西?:

还是这两个版本是一样的?

我问这个是因为第一个版本经常出现问题。

0 投票
1 回答
2173 浏览

lines - 如何在 MQL5 中像矩形一样绘制填充?

任何人都可以提出一种方法来实现这种绘图,因为官方mql5 文档没有指出这一点。

在此处输入图像描述

我已经完成了此处
提供的示例,但它仅输出此结果,
这不是我想要的。
在此处输入图像描述 有人有什么建议吗?

0 投票
1 回答
32 浏览

java - 我正在尝试为已标记为单选按钮的字符串设置一个值。我不明白我的错误

0 投票
1 回答
77 浏览

java - 向 SeedFill 算法添加模式

我正在实施种子填充算法。对于颜色,我使用通用变量。但是我不知道如何实现patt整数模式。这是源代码:

对于没有模式的填充,我使用了newValue变量。如何将其更改为模式?

0 投票
1 回答
1230 浏览

java - 如何使用 jlabel 创建运行文本?

假设我有一个带有文本的 jlabel。我希望文本每秒都在向左变化,就像在广告牌上运行文本一样。

是否可以?如果是,如何?

0 投票
2 回答
2200 浏览

c++ - 虚幻引擎:能否主要使用 C++/脚本而不是蓝图来完成?

我正在考虑我的游戏引擎选项。我做了Twin Stick Shooter 教程。最让我感到沮丧的是,大部分编程都是在蓝图中完成的,这是一种丑陋的(在这里是主观的,但不会太久)图形编程。游戏的整个逻辑都是用盒子完成的……我觉得这太可怕了!我什至逃离了 Qt Designer 并使用纯编码和布局来设计我的 GUI。

回到客观,问题在于“双棒射手”是一款非常非常简单的游戏。然而,这些图表最终非常复杂和庞大。我发现这在没有问题的情况下很难维护,例如使用 git 或任何其他版本控制工具跟踪随时间的变化。与 C++ 不同,在 C++ 中,维护大型代码是一个非常古老的问题,可以通过多种方式解决,并且版本控制系统可以很好地解决这个问题。

我的问题是:教程中的同一个游戏(或任何一般游戏)是否可以使用 C++ 中部署的所有逻辑(或者可能少于 5% 的蓝图)来完成,而不是全部部署在蓝图图表中(如 Twin Stick Shooter )? 鉴于我不是虚幻引擎方面的专家,我认为专家可以很好地回答这个问题,他可以解释纯粹用 C++ 可以做什么和不可以做什么,以及为什么这样做是好是坏那。

0 投票
1 回答
421 浏览

image-processing - 在 GPU 上围绕其中心旋转图像

假设一个尺寸为 (2, 2) 的图像 I。图形坐标 C 给出为:

目标:围绕中心(不是原点)将 I 旋转 90 度。

转换矩阵

TRotate(90) = [[0, 1], [-1, 0]]

假设每个坐标对都可以同步变换(即在 GPU 上)。

方法:

  1. 将图形坐标转换为以原点为图像中心的数学坐标。
  2. 应用变换矩阵。
  3. 转换回图形坐标。

例如:

转换为图形坐标:

tx' = tx - 宽度 /2

ty' = ty - 宽度 /2

应用变换矩阵:

转换回来:

转换回来超出范围...

我真的在努力争取围绕“重心”工作的适当旋转。我认为我转换为“数学坐标”是错误的。

通过将坐标转换为以下内容,我会获得更好的运气:

我通过观察如果原点存在于四个像素之间实现了这种转换,+ve y 轴指向下方,+ve x 轴指向右侧,那么点 (0,0) 将是 (- 1, -1) 以此类推。(由此产生的旋转和转换给出了预期的结果)。

但是,我找不到正确的变换来应用于坐标以将原点放置在中心。我尝试过使用齐次坐标的变换矩阵,但这不起作用。

编辑

对于马尔科姆的建议:

位置向量 =

通过减去 width/2 == 1 进行翻译:

通过乘以变换矩阵来旋转:

0 投票
0 回答
373 浏览

matlab - Matlab,可视化3D旋转矩阵

我在 3D 矩形中有一个目标坐标 (xyz)。假设 3D 矩形位于具有 x,y,z 的平面中,则设置目标坐标。目标坐标设置在矩形的一端,'y' 分量设置为距离 3D 正方形顶部的 -2(请参阅图像)。然而,实际上 3D 矩形不在具有 x、y、z 轴的平面中,它是倾斜的。我们通过测量矩形顶面上的两个参考点来计算偏斜,现在要重新计算目标坐标。我不知道如何确保我正确计算倾斜或(更重要的是)绘制旧的与新的 3D 矩形和目标坐标。下面是在所述矩阵中生成矩阵和目标的代码。

对于用于计算 3D 矩形偏斜的两个参考点,我们将其命名为一个“bregma”和一个“lamda”。

0 投票
0 回答
257 浏览

typescript - Typescript 运行时类型检查

我正在尝试使用 TypeScript构建一个类似于MaxGrasshopperAntimony的图形编程编辑器。

基本思想是,一个块代表一个函数,左边是输入,右边是输出,您可以将输入和输出与边连接在一起。

我现在面临的挑战是我想要一个块的类型安全的静态定义以及一些运行时类型自省,以防止用户将输入和输出连接到不匹配的类型。

最简单的起点就是将块定义为函数。例如:

但是,这种方法存在一些问题。

  1. 如何为块上的每个输入/输出生成标签?
  2. 如何在运行时验证用户是否将正确的类型附加到此块的输入之一?

我已经尝试对这种方法进行了一些改进,但我还没有完全成功:

我为内部类型系统创建了自己的别名,以便可以instanceof在运行时使用。

然后我创建了一个具有定义输入、输出和评估函数的静态属性的类:

但是,我已经很不高兴我无法将输入和输出类型与评估定义联系起来。

我认为几乎可以解决我的问题的是,是否有某种方法可以在运行时内省函数的类型定义,即使它就像检查instanceofa 类一样简单。

我希望一切都说得通——如果我需要澄清任何事情,请告诉我。