如何获取在画布中构成圆的坐标数组?

2023-12-12

因此,如果这是我用来在画布上画圆的代码:

ctx.beginPath();
ctx.arc(centerX, centerY, radius, 0, 2 * Math.PI, false);
ctx.lineWidth = 3;
ctx.strokeStyle = "black";
ctx.stroke();

...我怎样才能获得组成这个圆的点的坐标数组,以便我可以将它们保存在数据库中并稍后使用 context.moveTo() 和 context.lineTo() 方法将点加载到画布上,画同一个圆?

我想我是在问是否可以不使用 .arc() 方法而是通过用线连接点来绘制这种圆,如果我只知道我的中心坐标和圆半径(当然还有线的宽度和颜色) )。这应该使我能够在循环时将每个点坐标保存在数组中。


@Octopus 走在正确的轨道上:

var centerX=100;
var centerY=100;
var radius=40;

// an array to save your points
var points=[];

for(var degree=0;degree<360;degree++){
    var radians = degree * Math.PI/180;
    var x = centerX + radius * Math.cos(radians);
    var y = centerY + radius * Math.sin(radians);
    points.push({x:x,y:y});
}

然后您可以使用点数组中的点对象绘制圆:

ctx.beginPath();
ctx.moveTo(points[0].x,points[0].y);
for(var i=1;i<points.length;i++){
    ctx.lineTo(points[i].x,points[i].y);
}
ctx.closePath();
ctx.fillStyle="skyblue";
ctx.fill();
ctx.strokeStyle="lightgray";
ctx.lineWidth=3;
ctx.stroke()

不过,有一个建议...

无需将所有点保存在数据库中,只需将 centerX/Y 和半径保存在数据库中即可。

然后您可以使用相同的数学来创建点并绘制圆。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取在画布中构成圆的坐标数组? 的相关文章

  • 通过jquery ajax()和serialize()提交html表单

    我想通过 jquery ajax 提交此表单 这是我所做的 但它不起作用 即表单正在提交并刷新页面 但我没有看到响应 即在同一页面上打印数组 HTML
  • CSS 省略号与内联元素?

    我已经调整了 jQuery UI MultiSelect Widget 以便文本将显示所有选定的标签 但如果选择显示太多元素 则文本将被修剪和省略 我是这样做的 ui multiselect selected text display bl
  • HTML 5 + iOS - 创建混合应用程序

    我正在尝试将我的本机 iOS 应用程序转换为使用 HTML 5 的混合应用程序 经过研究后我最终得到了jQuery 移动 phoneGap 我的问题是 是否可以将 html 5 和本机 iOS 功能混合在一个单一的版本中 看法 例如我可以使
  • `Uncaught TypeError: Cannot read property 'postMessage' of undefined ` 使用 EasyXDM 发送跨域消息时出现错误

    我正在尝试在客户端的两个网站之间建立一个数据交换系统 我为此使用 EasyXDM http easyxdm net http easyxdm net 这是我的父网站代码
  • Python/PyTables:数组的不同列是否可以有不同的数据类型?

    我创建了一个可扩展的 Nx4 列数组 某些列需要 float64 数据类型 其他列可以使用 int32 进行管理 是否可以改变列之间的数据类型 现在我只使用一个 float64 如下 但它需要巨大的磁盘空间来存储 gt 10 GB 文件 例
  • CSS - 设置 Div 的大小以填充剩余空间

    我是 CSS 新手 我正在尝试创建模板的准系统结构 我有一个用于页眉 主要内容和页脚的 div 我的页脚和页眉很好 但我需要主要内容 div 来 填充 页眉和页脚之间的剩余空间 我尝试将 padding bottom 属性设置为与页脚相同的
  • MATLAB 中时间戳过滤器的优化 - 处理非常大的数据集

    我正在 MATLAB 中编写一个程序 必须使用 MATLAB 并且不能真正使用 MEX 来过滤大量数据 我需要实现的过滤器之一要求我将时间戳向量与其他时间戳不会出现的已知 不良 时间列表进行比较 一个典型的时间戳向量有大约 2 000 00
  • HTML 5 页脚标签始终位于底部

    我正在使用 HTML 5 开发一个网站 我将所有页脚内容包装在页脚标记中 就像下面的代码
  • HTML 表格信息

    我想知道是否有任何方法可以使 html 中的表格看起来像这样 http i43 tinypic com 21dml8l png http i43 tinypic com 21dml8l png 我基本上需要第一列中的 1 个大单元格 然后第
  • Javascript 当我们在 Chrome 中选择“停留在页面上”时如何调用函数

    请在 Chrome 浏览器中检查我的代码 如果您点击刷新 系统会提示您 2 个选项 离开此页面并 保持此页上 当我点击2 停留在此页面按钮它必须激活我的自定义功能显示消息 任何人都可以为我提供解决方案吗
  • 如何使用 Javascript 将 HTML 表单数据输出到 XML 文件?

    我目前正在尝试弄清楚如何将 HTML 表单数据输出到 XML 文件 这是我过去几天一直在研究的一个想法 目的是创建一个用于 Windows 7 安装的 autounattended xml 文件 目前我的 HTML 如下
  • 如何在图像上叠加徽标?使用CSS

    正如您所看到的 徽标显示在背景图像上方 但我希望它位于背景图像的中心 这是我的标题 背景需要从页面顶部开始并在菜单之前结束 徽标需要显示在背景图像的中央 我已经尝试了很多 但也许有人遇到了类似的问题 可以帮助我解决这个问题 这张图片显示它几
  • 列表项的替代背景颜色

    我有一个列表 每个项目都是链接的 有没有办法可以替换每个项目的背景颜色 ul li a href link Link 1 a li li a href link Link 2 a li li a href link Link 3 a li
  • 添加数组的总和。显示1个输出

    更新 这个问题的答案如下 感谢在不同线程上进行的 dougtesting 将数组相加 显示总和 https stackoverflow com questions 45724641 add array together display su
  • 如何绕过 IE8 对 data:uri Base64 编码的 32k 限制?

    我需要向浏览器发送包含 1920x1080 png 的 html 响应 这是一个 html 查询截取的屏幕截图 我对图像进行 base64 编码 并将其作为 text html 内容类型嵌入发送 一些简单的事情 比如 Whatever im
  • 为什么 array_merge_recursive 不是递归的?

    我最近在我的应用程序中发现了一个由意外行为引起的错误array merge recursive 让我们看一下这个简单的例子 array1 1 gt 1 gt 100 2 gt 200 2 gt 3 gt 1000 3 gt 1 gt 500
  • 如何在 vuejs 中防止/停止点击传播

    我有一个递归列表 树 每个元素都有一个 click sayHello el id 现在的问题是 因为它是一个嵌套列表 例如 list element 0 01 list el 1 01 list el 2 01 list el 1 02 l
  • 如何在 mongo shell 查询中仅投影嵌套数组的匹配字段

    我对 mongodb 相当陌生 我希望这是一个简单的问题 我有一个嵌套架构 其中有一个数组字段 其中该数组的每个项目都是一个本身具有数组字段的对象 例如 gt db mytest insert name a top x 1 y 2 nest
  • iPad 上的网站纵向视图

    我的网站在 iPad 纵向模式下无法正确显示 它在横向模式下看起来不错 但当我将其转换为纵向模式时 我最终会得到一个混乱的网站 所有元素都分散在整个网站上 我怎样才能解决这个问题 请帮我 这是我网站的链接 inclouds co uk ht
  • 如何选中表格中输入文本焦点上的复选框

    我试图在输入文本焦点上检查表 DOM 中的复选框 但无法访问复选框元素 但我的焦点正在工作 这是我的 jsfiddle 链接https jsfiddle net 9qha9vft https jsfiddle net 9qha9vft 这是

随机推荐

  • 禁用列排序不适用于多个 angularjs 数据表

    我正在使用多个 angularjs 数据表 并在每次用户从下拉列表中选择一个选项时生成一个新表 根据用户的选择 我发出 http 请求以从数据库中获取新数据 对于每个表 我都有不同的dtColumnDefs 是动态设置的 因为我的表列标题是
  • 如何在 PHP 中随机化数组

    我有一个像这样的数组 arr 1 2 4 5 6 7 8 9 但我需要这个数组的随机版本 我正在使用该函数shuffle像这样 random shuffle arr 但这个函数只是返回true而不是数组的随机版本 shuffle 此函数对数
  • Django ModelForm ChoiceField 不显示实例数据

    我有一个ModelForm我在其中设置了几个字段的类ChoiceField 对于我的一个观点 我想从我的ModelForm从数据库中模型实例中提取的类 如下所示 form MyModel instance model instance 当我
  • ItemsControl 与视图模型的多个数据模板

    是否可以将以画布为模板的项目控件绑定到多个数据模板 我有 2 个集合 根据类型我想在画布上显示不同的控件 我不确定 但我可以考虑一个具有 2 个 ObservableCollections 的 Viewmodel 例如 如果我有 形状 和
  • 从字符串执行命令

    在 r 中使用 scopus 检索引用 library rscopus auth token header please add akey please add set api key akey x abstract retrieval 1
  • 为什么要在 PHP 中使用模板系统? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 为什么要在 PHP 中使用模板系统 我的问题背后的原因是 PHP 本身就是功能丰富的模板系统 为什么我应该安装另一个模板引擎 到目前为止我发现的唯一两个优点是 更简洁的语法 有时 模板引擎
  • Microsoft.AspNetCore.WebUtilities 超出行长度限制 100

    我一直在尝试自动化测试 将文本文件上传到使用 flowjshandler 的 Web api 所有这些都在 c net core 和 linux docker 容器中运行 从 Visual Studio 运行时 测试程序毫无例外地上传文件
  • 谷歌应用程序邀请 - 短信未发送

    我尝试寻找解决方案 但还没有运气 我正在尝试使用谷歌应用程序邀请来邀请朋友使用我的应用程序 android 电子邮件已发送 但短信未发送 我没有收到任何错误消息 事实上我实际上收到一条消息 表明邀请已发送 我还尝试向我的应用程序添加短信权限
  • '(引用引用)在方案中

    我正在尝试自学方案 谁能告诉我为什么 quote quote 将输出 quote and quote quote 将输出 quote 非常感谢 这个表达式 quote quote 扩展后
  • Swift 3 CVarArg 被多次传递的问题

    我在 swift 3 中有以下代码 class StringUtility static func Localizer tableName String gt key String params CVarArg gt String retu
  • 将剪贴板中的图像粘贴到 Excel 中的单元格

    我想使用 vba 将图像从剪贴板粘贴到 Excel 单元格 我可以找到这样的代码 If My Computer Clipboard ContainsImage Then Dim grabpicture My Computer Clipboa
  • Visual Studio 2010 数据源选项中缺少 SQLite 数据库文件类型

    我按照以下说明在 Visual Studio 2010 上安装了 x86 x64 官方 SQLite NuGet 包 http www tsjensen com blog post 2012 11 10 SQLite on Visual S
  • 可以同时从多个程序打开和访问伯克利数据库吗?

    根据 Berkeley 文档 数据库的事务 TS 和并发数据存储版本 多个线程可以访问 和更改 数据库 这是否也意味着我可以有两个程序链接到伯克利 客户端 并让它们访问相同的数据库文件而不会出现任何问题 我问 因为对于单独的数据库服务器来说
  • 当应用程序关闭/终止时 iOS 中的地理围栏

    我正在研究地理围栏 我想触发 是否输入区域 and 退出区域 当应用程序处于前台或后台状态时它正在工作 但我也想在应用程序处于非活动状态时触发它 我的代码如下 地理围栏Class h import
  • Windows 中的 getchar_unlocked 未声明

    这是我的代码 include
  • 无法加载 netezza JDBC 驱动程序

    我在 spring 中配置了 netezza 数据库 我已经在类路径中添加了依赖的nzjdbc jar 弹簧配置
  • 当 jqgrid 位于模态对话框内时,解决 jqgrid 4.8 覆盖问题

    我使用免费的 jqgrid 4 8 我在模式对话框中使用 jqgrid 当我尝试使用寻呼机的删除按钮时 所有对话框都被禁用 http jsfiddle net 9ezy09ep function Ecran dialog dialogCla
  • PHP Http请求

    我需要从 PHP 执行 HTTP GET 更具体地说 从 index php 中 我需要获取 trac 和 svn 的内容 找到 ul 元素 然后渲染 然后内联到 index php 上 trac 和 svn 是相对 URL 而不是文件系统
  • Sendmail插入!电子邮件中间 990 个字符后的符号

    我使用 sendmail v 从 sendmail 发送邮件 电子邮件受保护 https infoeu mytotalconnectcomfort com 我不明白为什么sendmail会插入额外的字符 p Dear Mr Ms scure
  • 如何获取在画布中构成圆的坐标数组?

    因此 如果这是我用来在画布上画圆的代码 ctx beginPath ctx arc centerX centerY radius 0 2 Math PI false ctx lineWidth 3 ctx strokeStyle black