如何绕其中心旋转 PShape?

2024-03-05

处理手册(第二版)中有这样的示例 17-10:

PShape zig;

void setup() {
  size(100, 100);
  zig = createShape();
  zig.beginShape();
  zig.fill(0);
  zig.noStroke();
  zig.vertex(10, 0);
  zig.vertex(100, 30);
  zig.vertex(90, 70);
  zig.vertex(100, 70);
  zig.vertex(10, 90);
  zig.vertex(50, 40);
  zig.endShape();
  zig.scale(0.7);
  zig.translate(-50, -50);
}

void draw() {
  background(204);
  shape(zig, 50, 50);
  zig.rotate(0.01);
}

书中随本示例提供的图像显示了围绕画布中心旋转的形状。

然而,当我运行确切的代码时,形状围绕画布左上角的 [0,0] 点旋转。

-50, -50 平移和 50, 50 坐标对我来说似乎暗示(基于我有限的理解)旋转应该以 [50, 50] 点为中心,但是当我运行代码?关于如何让形状绕其中心旋转有什么想法吗? 我的意思是特别使用 zig.rotate() 方法,我知道您可以将画布作为一个整体进行平移和旋转,但我想专门围绕其中心旋转该形状。 创建 PShapes 后可以更改原点吗? 谢谢!


我能够使用默认渲染器在 3.0a10 中重现这一点。如果我指定P2D作为渲染器size(100,100,P2D), the PShape正如预期的那样,绕中心点旋转。在版本 2.2.1 中指定 P2D 也有效。

所以我认为这看起来像是一个错误。也许值得在处理Github https://github.com/processing/processing/issues?

更新:似乎已经有一个对此的开放问题 https://github.com/processing/processing/issues/2783.

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

如何绕其中心旋转 PShape? 的相关文章

随机推荐

  • 获取绑定到 Entry 小部件的 StringVar

    我正在编写一个简单的 GUI 程序 需要从 ini 文件加载默认值 我已经为 Entry 小部件指定了名称 并且可以通过以下方式获取它nametowidget方法 但是 我找不到访问绑定到条目小部件的 StringVar 并更新其值的方法
  • 右浮动 div 和最小宽度,div 在浏览器调整大小时移动到新行

    抱歉 标题没有很好地解释 但我会尽力在这里解释问题 如果我可以这样称呼它 那么这个特定问题可能有一个非常简单的解决方案 但我只是无法仅使用 css 来解决它 基本上我有一个父级 包装器 div 它设置了最小宽度和2个浮动子级 当我创建动态页
  • Docker-compose 链接与 external_links

    我相信这是一个简单的问题 但我仍然没有从 Docker compose 文档中得到它 链接和外部链接有什么区别 我喜欢 external links 因为我想要核心 docker compose 并且我想在不覆盖核心链接的情况下扩展它 我到
  • MongoParseError:URI 没有主机名、域名和 tld

    当我尝试将我的应用程序 nodejs 连接到 mongodb 时 出现此错误 我真的很感谢你在这里的帮助 MongoParseError URI does not have hostname domain name and tld at p
  • Android 旋转提示

    我有一个问题android prompt对于一个旋转器 我在 XML 文件中使用了以下代码 但它不起作用
  • 保存和加载数据(iphone sdk)

    我想知道在 iPhone 应用程序中保存和加载数据的最佳方法是什么 我正在尝试将字符串保存到文本文件或类似的文件中 然后将它们加载到表视图中 以便文本文件中的第一个条目是表视图中的第一行 依此类推 有人有一个想法我怎么能意识到这一点 提前致
  • npm 安装期间 libssh2 中“C 编译器无法创建可执行文件”

    我在 npm install 期间遇到以下错误nodegit http www nodegit org gt email protected cdn cgi l email protection preinstall home mhu no
  • 通过 SQL 身份验证连接时如何获取域用户名

    我有一个连接到 SQL Server 2000 的应用程序 使用通用 SQL 登录和 SQL 身份验证 我想通过触发器实现一些日志记录来跟踪数据更改 我不能使用USER NAME 因为这会返回通用帐户 我已经翻阅过master syspro
  • 从 S3 下载工件时代码构建访问被拒绝

    我的 CodeBuild 配置有 CodePipeline S3是我的神器商店 尽管已附加具有足够访问权限的 IAM 角色 但我仍然收到访问被拒绝消息 错误消息的屏幕截图 我已经检查了与 Codebuild 关联的服务角色 它附有以下政策
  • 增加子图之间的距离

    我有以下代码 digraph g graph rankdir LR compound true subgraph cluster0 graph label Ready n nAllowed Purchaser Operations nope
  • 我做的 df.Merge 错了吗?

    所以我有一个 df1 看起来有这一行 PlayDate Timeslot UserID 2005 09 09 6 16 1 59 我有 df2 其中包含 UserID PlayDate Timeslot PlayCount EstProb
  • 如何在Java中将HTTP状态码转换为文本?

    如何在 Java 中将 HTTP 状态代码转换为其文本表示形式 我的意思是是否有此类转换的现有实现 到目前为止我发现的最好的是java ws rs core Response Status fromStatusCode 它仅转换所有状态的有
  • C 和 C++ 中的快速 7x7 2D 中值滤波器

    我正在尝试将以下代码从 MATLAB 转换为 C function data process data data medfilt2 data 7 7 symmetric mask fspecial gaussian 35 35 12 dat
  • java中管道模式的实现

    阅读有关管道模式的信息here http parlab eecs berkeley edu wiki media patterns pipeline v1 pdf 如何在java中实现管道模式 有没有使用管道模式的开源java项目 关于 如
  • macOS 上的通用链接

    从 iOS9 开始 通用链接可以在 iOS 上使用 但我想知道 macOS 上是否有类似的东西 我们有一个应用程序 它是带有相应 Web 应用程序的 macOS 应用程序 我们希望用户单击链接在 Mac 应用程序中打开 而不是使用目标链接打
  • 如何跨多个 Pull Request 并行运行持续集成?

    我正在测试 Jenkins 的使用Github 拉取请求构建器插件 https wiki jenkins ci org display JENKINS GitHub pull request builder plugin我已经在 Githu
  • 处理已弃用的 android.text.ClipboardManager

    android text ClipboardManager自 API 级别 11 起已弃用 并替换为android content ClipboardManager source http developer android com ref
  • Tkinter:没有标题栏但可调整大小的窗口

    我知道的是 如果我想创建一个没有标题栏的窗口 我可以写 root Tk root overrideredirect 1 但我也希望窗口可以调整大小 有什么解决办法吗 仅供参考 我正在 Windows 机器上工作 尽管我不确定这是否真的重要
  • JAX-RS:如何以 JSON 形式返回对象列表?

    我查看了文档Jackson http wiki fasterxml com JacksonInFiveMinutes 这让我很困惑 我的实体看起来像 Entity Table name variable public class Varia
  • 如何绕其中心旋转 PShape?

    处理手册 第二版 中有这样的示例 17 10 PShape zig void setup size 100 100 zig createShape zig beginShape zig fill 0 zig noStroke zig ver