【问题标题】:Creating patterns in matlab / octave to show Moiré patterns在 matlab / octave 中创建模式以显示莫尔模式
【发布时间】:2015-05-19 12:04:52
【问题描述】:

如何创建这样的径向图像(见下图)

我的目标是控制径向臂的数量、思维以及它们创建的角度。我正在尝试创建在 octave / matlab 中重叠和转动/动画时将向我显示不同 Moire 图案的图案。

PS:我使用的是 octave 3.8.1

我已经尝试过这里的代码,但它没有给我微调以下所有参数,包括径向臂数量、角度和厚度。还需要我试图避免的图像包。

http://www.mathworks.com/matlabcentral/answers/uploaded_files/20287/moire_pattern.m

【问题讨论】:

  • 你试过什么?这个问题看起来像一个“请给我 codez”的问题,这在 SO 中是题外话。
  • @Ander Biguri 我已经尝试过这里的代码,但它并没有给我微调以下所有参数,径向臂数量、角度和厚度。 mathworks.com/matlabcentral/answers/uploaded_files/20287/…还要镜像包
  • 那你没有尝试。复制粘贴代码与实际尝试相去甚远。获取该代码,对其进行修改,以便接受您想要的参数,如果您在执行此操作时遇到问题,请询问。
  • 所以如果我没有说清楚但我试图避免使用此代码所需的图像包...奇怪你问我尝试了什么我发现代码尝试了它我遇到了问题,这很糟糕......
  • 对不起,Ricj,不要把这个当成个人,但这就是 SO 政策的运作方式。我们不是提供代码的网站。您需要尝试编写/修改自己的功能,如果您被困在某个地方,我们会提供帮助。否则,我们和雇佣程序员为你做这项工作没有区别,但你不会付钱给我们。

标签: matlab octave


【解决方案1】:

在我看来,首先值得研究的两种方法是方程式和补丁。

例如,您可以为带有参数的手臂生成一个通用方程,以控制旋转角度和曲线的形状。然后,您可以在每个给定数量的旋转角度上绘制它,并使用不同的线宽(绘图属性而不是方程参数)。您的方程式可能看起来不太漂亮,因为您最好以参数方式(根据第三个变量)或极坐标指定它,然后将其转换为笛卡尔坐标以用于绘图命令。

使用补丁您将计算手臂的轮廓(而不是中心线),并且可能会发现为一只手臂生成补丁然后为每次旋转转换它很方便。这将是具有适当旋转变换矩阵的单线,并且用于生成手臂的表达式不需要那么复杂,因为它不需要处理旋转。一个二次方程甚至可以在推动。

补丁的另一个优点是,在生成手臂并旋转它之后,您还可以翻转它并生成具有相反意义的图形,只需很少的额外代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-19
    • 2012-11-24
    相关资源
    最近更新 更多