问题标签 [triangular]

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 回答
1495 浏览

javascript - Snap SVG 旋转和缩放

我正在尝试缩放然后旋转一个三角形,然后将其转换为 Snap SVG 中的给定点。
我想围绕它的顶部而不是中心旋转三角形,所以我可以构建像馅饼一样的东西。
所以我想我先缩放,然后旋转,然后再平移。

但不知何故,规模和旋转总是有点偏离。
我重用了一个我找到并更新的 jsfiddle,所以你可以看到我的尝试:http:
//jsfiddle.net/AGq9X/477/
不知何故 bbox.cx 和 bbox.cy 不在三角形的中心。
在我的本地设置中,它们是。
奇怪的是,没有缩放的旋转工作正常,但是缩放然后旋转似乎总是在 y 轴上有点偏离,三角形不会停留在旋转点。
有什么想法可以解决吗?

编辑:
好的,我找到了解决方案,感谢 lan,你是对的,缩放中心很重要,
我认为它正在使用对象的中心,但它是左上角。我对其进行了调整
,现在效果更好:

EDIT2:
我想知道如何保存转换,因此您不需要每次使用新转换时都应用它们。Ian 建议element.transform()像这样使用来获得旧的转换:

0 投票
1 回答
194 浏览

geometry - 二维方向测试重心坐标

如果我在整数重心坐标中有一个有序的三元组点,我如何测试它们的方向?(我想知道这些点是否共线,形成左转或右转)

“算法”必须非常强大,所以我不想将坐标转换为笛卡尔坐标。

对于笛卡尔来说,有一种非常好的方法可以仅使用乘法和加法来确定这一点: https ://www.cs.cmu.edu/~quake/robust.html

有一个类似的方法可以在这里找出三个点是否共线,但我不知道我是否可以将它用于此应用程序: http ://web.evanchen.cc/handouts/bary/bary-short.pdf

0 投票
3 回答
2428 浏览

excel - VBA中的三角分布

我目前拥有的:

我在 VBA 中创建三角分布函数时遇到了麻烦,该函数根据以下参数计算随机数:

  • 计算 d = ( b - a )/( c - a )

  • 使用 VBA 的 Rnd 函数生成一个介于 0 和 1 之间的均匀分布的随机数 U。

  • 如果 U <= d,则返回 a + ( c - a ) × sqr(d×U) 作为随机数。(Sqr(x) 是一个 VBA 函数,它返回 x 的平方根。

  • 如果 U > d ,则返回 a + ( c - a ) × (1 - sqr((1- d )×(1-U))) 作为随机数。

参数 a 和 c 分别是最小和最大可能值,参数 b 是最可能的值(您可以看到三角形中的高点)。

我不确定如何创建此功能,并且想知道是否有人可以伸出援手?在处理函数时,我意识到我需要使用 randomize 函数,以便在每次调用函数时不生成类似的结果,以及 application.volatile 操作。

0 投票
1 回答
673 浏览

javascript - 用三角形填充平面(三角剖分)

我试图创建一个像下面这样的图像作为网站的随机背景,但经过多次尝试,我找不到完成工作的算法。

在此处输入图像描述

程序应该做什么?

它应该能够用三角形随机填充平面。这些三角形都应该是独立的,所以我不想简单地在画布上绘制长线并为创建的三角形着色。

到目前为止我尝试过的算法:

1.

  • 制作随机点
  • 进行长度低于特定值的随机连接(这可能会导致三角网中的孔)
  • 试着找出什么连接构成一个三角形(我在这里失败了)

2.

  • 从一个三角形开始
  • 在现有连接附近创建一个新点,并从那里添加一个不会导致任何相交的三角形。每当它像这张图片一样留下一个小洞时,就会导致问题:

    在此处输入图像描述

3.

  • 制作随机点
  • 建立所有可能的连接(每个点到另一个)
  • 按长度对连接进行排序
  • 对于从最短绘制开始的每个连接,如果它不与任何其他绘制的线相交。否则删除连接。

这实际上是我最好的尝试,即使程序花了很长时间才完成它,只用了几个点。结果是这样的:

在此处输入图像描述

我没有找到一种方法来找出什么连接构成了一个三角形,因此我不能独立地给它们上色......

所以希望你知道一种方法来创建一个漂亮的三角形填充画布,就像第一张图片一样,让我知道......

0 投票
2 回答
2719 浏览

python - 使用 Numpy 快速制作网格三角形网格

考虑一个表示节点编号的规则矩阵,如图所示:

节点和三角形

我想用图中表示的所有三角形制作一个列表。这将导致以下二维列表:[[0,1,4],[1,5,4],[1,2,5],[2,6,5],...,[11,15,14]]

假设矩阵的维度是 ( NrX Nc)(在这种情况下为 (4X4)),我可以使用以下代码实现此结果:

然而,双循环操作使这种方法相当缓慢。有没有办法以一种聪明的方式使用 numpy 来更快地做到这一点?

0 投票
1 回答
4366 浏览

stm32 - stm32L4:如何使用 DAC DMA 生成三角波,不均匀的斜率

我正在尝试使用 DAC 和 DMA 生成频率为 8kHz 的三角波。DAC 使用定时器触发,因此 DAC 速度将为 1 MSPS。我正在研究 stm32L476 发现板。我正在使用 stm32CUBEMX 进行代码初始化。我的配置如下:

在 stm32CUBEMX 中:

我正在使用 ac6SW4stm32(系统工作台)编写代码。我为三角波创建了一个这样的数组。

我主要添加了以下三个语句。这些语句分别启动定时器、DAC 和 DMA。

在输出端,我没有得到正确的三角波。波的频率是正确的,但波不是完美的三角形。它具有不同的上升和下降斜率(不相等的边缘)。

0 投票
2 回答
72 浏览

matlab - Matlab中的列向量到转置三角矩阵?

如果我有一个向量

有什么办法可以将其转换为矩阵

对于长度为 2016 的向量 A。

至今:

看起来在正确的线上。

然后尝试创建向量 D,其中每一列都是矩阵 C 的对角线...

但是在第二次迭代中,对角线的长度并没有填满一整列(如预期和期望的那样),我得到一个尺寸不匹配错误。

0 投票
3 回答
75 浏览

c - 打印带有星星的帐篷形状时输出错误

我正在尝试使用星号“*”打印出一个空心的开放式帐篷形状。该代码使用两个 for 循环,第一个用于行,另一个用于列。

以下是我的代码:

获得的输出:

期望的输出:

0 投票
1 回答
154 浏览

html - 如何在 css 中创建一个三角形,最长边有一个盒子阴影

我目前正在设计一个 android phonegap 应用程序,我需要帮助尝试使用某种 Box-shadow 重新创建三角形,但 box 阴影只会显示为正方形而不是三角形。当我尝试寻找答案时,我只能找到等边三角形的答案,或者只能在两侧找到答案,而不是最长的一侧。

设计(隐藏某些部分): https ://i.stack.imgur.com/ysopX.png

编辑:

当前原型的 Pastebin 链接(当前无响应 - 设计为 1080 像素 x 1920 像素):

pastebin.com/GmYh9d9F

0 投票
1 回答
662 浏览

c++ - 求和特征中稀疏矩阵的三角视图

使用 Visual Studio 2010,我正在尝试使用稀疏矩阵在eigen(来自存储库 3.3 分支)中表达以下 matlab 代码:

即计算一个不包括对角线的方阵的上三角与包括对角线的同一个方阵的转置下三角之和。

对于这个简单的例子,结果是

尝试使用密集矩阵在特征值中执行此操作,我想出了以下主要方法(唯一不那么直观的是使用成员方法 addTo 而不是 + 运算符)直接方法:

输出如预期:

但我找不到对稀疏矩阵做同样的事情的方法。这是我尝试过的:

我注释了非编译代码,所以这是可编译部分的输出:

当一个被转置时,似乎 + 运算符和 addTo 成员方法都不能与两个三角形视图一起使用。

当 none 被转置时,+ 运算符有效,但 addTo 方法无效。用伴随替换转置会导致相同的编译错误。

有什么明显的我失踪了吗?或者有没有办法重新制定这个?我的目标是使用 eigen 中的现有函数,并避免将稀疏矩阵转换为密集矩阵。