RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题

全部问题

Martin Hope
BlackStar1991
Asked: 2024-01-09 05:14:25 +0000 UTC

SVG 如何生成随机路径?

  • 11

有这样一个简单的例子。

const btn = document.getElementById('generator_btn');
const textarea = document.getElementById('textarea_generator');
const generatorField = document.getElementById('generator_field');
const generatorColor = document.getElementById('generator_color');

// Массив возможных путей для фигур ... это надо переделать, но не знаю как. 
const paths = [
  '<path class="st1" d="M1.8 23s15.2-7.7 24-7.9 14.4-.5 23.7 7.5c9.3 8 3.6 17.9-1 20-2.7 1.3-7.9.6-6.2-5.5 1.6-5.6 7.7-9.1 16.6-12.4 8.9-3.3 28.9-8.5 32.9-12.9 2.3-2.6 2.8-6-.3-7-2-.6-5.8.6-8.1 2.9C81.3 10 78.3 15.3 79 39c.5 19-20 22.2-25.1 17.8-6.1-5.2 1.5-15.4 8.7-18.7 7.2-3.3 14.7-5.9 21.1-3.1 6.4 2.8 10.8 5 13.5 5.3 2.7.2 9.3 0 15.4-6.9"/><path class="st1" d="m110.9 40.6 4.4-9.8-10.5 3.6"/>',
  '<path class="st1" d="M1.8 40.1s4.9-10 10.8-14.8c5.9-4.8 14.4-6.3 17.6-5.8 5.9.8 12.7 6.2 19.3 12.7 6.7 6.5 14.8 14.2 28.7 6.1 7.2-4.2 15.3-17.1 7.2-25.5-6.4-6.7-18 2.9-21.7 11.7-1.9 4.6-5 20 2.7 25.7 7.8 5.8 17.2 3.1 27.4-4.4 10.2-7.6 22.6-24 24-27"/><path class="st1" d="m112.6 21.1 5.6-3.9.5 8.7"/>',
  '<path class="st1" d="M.8 41.8s14-21 28.3-14.3c14.4 6.7 7.2 20.3 1.7 18.5-5.9-1.9-7-20 9.4-21.8s23.6 5 32.7 8.5c9.1 3.5 33.8 6.6 44.3-10.2"/><path class="st1" d="m111.2 25.9 6.2-4-.8 6"/>'
];

generatorColor.addEventListener('input', function() {
  includeSvg();
});

btn.addEventListener('click', function() {
  includeSvg();
});

function includeSvg() {
  let currentColor = generatorColor.value;
  // 
  let randomPath = paths[Math.floor(Math.random() * paths.length)];
  let svgCode = generateSVG(currentColor, randomPath);
  textarea.value = svgCode;
  generatorField.innerHTML = svgCode;
}

function generateSVG(currentColor, path) {
  let startFigure = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="120" height="60" x="0" y="0" viewBox="0 0 120 64"><style>.st1{fill:none;stroke:' + currentColor + ';stroke-width:2;stroke-linecap:round;stroke-linejoin:round}</style>';
  let endFigure = '</svg>';
  return startFigure + path + endFigure;
}
body {
  margin: 0;
}

#generator_btn {
  margin: 0;
  display: inline-block;
  padding: 10px 15px;
  font-weight: 700;
  vertical-align: top;
}

#generator_color {
  height: 40px;
}

#textarea_generator {
  display: block;
  width: 100%;
  max-width: 90vw;
  margin: 10px 0;

}
<div class="gen_block">
  <button id="generator_btn">Generator SVG</button>
  <input type="color" id="generator_color" name="generator_color" value="#FE6C3B" />
</div>
<textarea id="textarea_generator" name="generator_svg" rows="4"></textarea>
<div id="generator_field"></div>

这个想法是通过单击按钮来创建一个像这样的随机路径生成器......很疯狂,但我不知道如何实现它。本质上,svg该元素由两条路径组成。第一条是一条令人困惑的曲线(但应该有一个平滑的过渡),第二条是一条在此路径中结束的箭头。svg嗯,生成的路径的动态着色,以便您可以在保存之前为元素分配颜色。请告诉我如何在元素的这个区域内创建这些随机路径?

javascript
  • 4 个回答
  • 209 Views
Martin Hope
Harry
Asked: 2023-11-25 14:58:03 +0000 UTC

多重继承中的歧义

  • 11

回答了继承过程中同名的问题。我编写了以下代码(见下文)。Visual C++ 编译它并运行它。但许多其他编译器发誓

d.C::A::x = 2;
d.B::A::x = 3;

和挑战out(),认为选择存在模糊性A::x。坦白说,我不这么认为;VC++ 的输出符合预期。

有人可以通过明确引用标准的条款来证明这个或那个编译器的正确性吗?B当明确指出通过or 的路径时,歧义从何而来C?如何在这样的编译器中消除它,谁不满意?

#include <iostream>
using namespace std;
struct A
{
    int x;
    void out() { cout << x << endl; }
};
struct B: public A
{
    int x;
    void out() { cout << x << endl; }
};
struct C: public A
{
    int x;
    void out() { cout << x << endl; }
};
struct D: public B, public C
{
    int x;
    void out() { cout << x << endl; }
};

int main()
{
    D d;
    d.C::x = 0;
    d.B::x = 1;
    d.C::A::x = 2;  // неоднозначность в не-MSVC
    d.B::A::x = 3;  // неоднозначность в не-MSVC

    d.B::A::out();  // неоднозначность в не-MSVC
    d.C::A::out();  // неоднозначность в не-MSVC
    d.B::out();
    d.C::out();
}
c++
  • 1 个回答
  • 144 Views
Martin Hope
D .Stark
Asked: 2023-10-18 00:39:18 +0000 UTC

TCP打洞无法建立连接

  • 11

我正在实现一种算法,用于使用 TCP 打孔技术在两个客户端之间创建直接连接,该连接可能位于 NAT 后面。我在C++中使用WinSock2接口。

通过服务器交换外部地址后,客户端关闭连接(shutdown使用SD_BOTH和标志调用closesocket)并尝试直接创建新连接(套接字绑定到以前使用的端口)。接下来,发生数据交换。

如果成功,TCP 数据包日志如下所示:

米。 1

我在家庭网络上进行测试,两个客户端都在同一台计算机上运行。我认为,为了正确实施,应该没有区别。

192.168.153.196:52023 - 客户端 1、192.168.153.196 : 51722 - 客户端 2。在屏幕截图中,您可以看到客户端 1 发送的 SYN 段已成功传递到客户端 2,随后是 ACK 段,并开始通过路由器进行数据交换。在这种情况下,我们有一种 NAT,其中内部端口 = 外部端口(即,例如客户端 1 也从端口 52023 访问公共网络)。

当客户端无法相互建立连接时,请考虑以下日志:

米。 2

192.168.1.106:52478 - 客户端 1、192.168.1.106 : 52477 - 客户端 2。接下来,日志中会重复发送一系列 SYN 段,直到客户端确信无法建立连接。显然,本例中未创建 NAT 映射。这里有一种不同类型的 NAT - 内部端口与外部端口不对应;客户端也运行在同一台机器上。

这是另一个不成功的示例,但已经在第一个示例的网络上(192.168.153.196:51640 - 客户端 1、192.168.153.196: 51639 - 客户端 2):

在此输入图像描述

在这种情况下,据我了解,由于某种原因路由器重置了连接。

问题是,我做错了什么?每个客户端都知道另一个客户端的正确外部地址,在关闭与服务器的连接后短暂超时后,在大约相同的时间点,它们尝试从旧端口(调用)相互创建连接,但是路由器重置连接或不创建 NAT 条目connect。


还有另一个奇怪的时刻。建立连接后,从交换开始最多几分钟,会出现以下情况:

在此输入图像描述

随后几次尝试重新发送均不成功 - 数据包似乎被路由器忽略并且未转发。在这种情况下,调用send不会显示错误,而recv只是在接收方被阻止,因为它看不到数据。

c++
  • 1 个回答
  • 109 Views
Martin Hope
Zhihar
Asked: 2023-09-14 17:47:53 +0000 UTC

Python:使用多个分隔符从字符串中提取子字符串

  • 11

告诉我如何最好地实现以下任务(我觉得我可以通过一个棘手的正则表达式来完成):

有一串单词,某些单词之间有功能词 AND 或 OR 例如

text = "word1 word2 OR word3 AND word4 word5"

有必要以 key=(words) 的形式在 OR 或 AND 之间转换所有单词组,将单词 OR 或 AND 保留在适当的位置

那些。在前面的例子中它应该是

text = "key=(word1 word2) OR key=(word3) AND key=(word4 word5)"
python
  • 3 个回答
  • 35 Views
Martin Hope
Osm
Asked: 2023-09-13 19:40:36 +0000 UTC

函数名后面带点的变量名是什么意思?

  • 11

在搜索有关装饰器的信息时,我发现可以编写以下文本(与装饰器没有直接关系):

def func():
    return func.s
func.s=1
print(func())

并最终得到 1。

这个条目是什么意思func.s?这个变量是什么?如果您尝试写入func2.s(即只是带点的名称),则会出现语法错误。

python
  • 2 个回答
  • 48 Views
上一页
下一页

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5