评论
|
@jorgerobles缩放和旋转作为单独的字段彼此相处,但是当您添加旋转字段时数学会变得复杂,因为所有 3 个字段都相互作用。简单的方法是切换到单个矩阵:
|
|
谢谢!..似乎令人生畏? |
|
(:总是有“LW 不是 CAD 包”的论点(; |
|
移动、旋转和缩放是放置所需的基本操作。即使能够将设计顺时针或逆时针旋转 90 度也是有益的。 如果用户只是想旋转设计以适应他们拥有的材料的自由区域,则他们不必跳回 CAD 包。 |
|
90 度简化了事情。对于向量,编辑 rawPaths;您无需触摸着色器。对于位图,通过转换运行它们,然后将它们存储回 dataUrl。 |
|
您还必须调整比例并进行平移以进行补偿。 |
|
@jorgerobles这也会处理向量吗? |
|
好像没有。我只是发布作为参考。 |
|
@domenic-d我会处理向量。@jorgerobles正在寻找一种处理图像的方法,而不依赖于单独的平移、缩放、旋转字段,这些字段将会消失。我将用矩阵替换它们。 |
|
这就是为什么我们必须转向矩阵进行旋转的原因。我在上面说过“当你添加一个旋转场时,数学会变得复杂,因为所有 3 个场都相互作用。” 我给它涂了糖衣。在某些情况下,数学变得无法解决。这是其中一个案例。 如果我们有单独的旋转和缩放字段,那么我们必须决定哪个先发生。如果我们缩放原始对象然后旋转它,那么A可以变成B,但是B不能变成A。如果我们先旋转,那么B可以变成A,但是A不能变成B。两种方法都增加了对用户界面的限制。例如,如果我们先旋转,那么用户将无法旋转他们已经缩放过的对象。 矩阵不限制顺序。用户可以按任意顺序自由旋转和缩放。一个主要的缺点是 lw.raster-to-gcode 不理解它。@jorgerobles将不得不在 lw.raster-to-gcode 之前预处理图像或对 lw.raster-to-gcode 进行严重的手术。 |
|
我会去预处理,甚至我们必须存储原始和转换后的,会更好。 |
|
@tbfleming正如我们之前所说,请做一个分支,我希望不会,但这可能是一项长期任务。 |
|
我刚刚推送了一个新分支:rotate。它现在可以旋转矢量。我还没有将图像的工作区处理移植到矩阵。图像显示当前已损坏。 待办事项(我):
|
|
@tbfleming感谢您的解释。当您需要执行一些特定测试时请告诉我,我会立即着手进行。 |
|
@domenic-d继续测试那里有什么。暂时不要执行以下操作:
|
|
很高兴看到此功能进入 LW。 1:键入旋转值效果很好。 |
|
3 棘手;没有旋转值,因此在选择变化时会产生一个幻影。当字段发生变化时,它会根据两个值的差值计算一个旋转矩阵,然后将该矩阵乘以每个选定对象的单独矩阵。 |
|
是否可以为随身携带的物体计算初始世界旋转矩阵。如果用户想“重置”旋转,那么应用这个矩阵? |
|
大小同上;从来没有一个大小成员;它总是即时计算它。 |
|
不,这会产生我上面提到的数学问题。 |
|
谢谢托德。在 LW 中拥有此功能是一个巨大的好处。如果用户必须注视旋转或什至重新加载文档,那就这样吧。 |
|
我几乎完成了光栅变换的第一种方法。 未决错误
@tbfleming请看看,谢谢? |
|
@jorgerobles:我在创建上下文后添加了这个以揭示正在发生的事情:
它将 raster-to-gcode 输出的左下角与图像的转换角之一对齐。您需要改为中心到中心对齐。 |
|
Ugg 搞不定。尝试在 transform2[4] 和 [5] 上进行翻译,但 nup。 |
|
@jorgerobles我为你修复了那部分。 |
|
@tbfleming我已经将光栅 A 轴变换与 dev-es6 分支行为相匹配,也许矢量偏移不是?(pic 和 vector 在文档上的原点相同,附上的照片显示了 gcode 输出) |
|
@jorgerobles固定的。 |
|
哎呀。这引入了一个新错误:激光间距将关闭。 要解决此问题,请不要在参数中使用 axisAFactor。而是缩放输出 gcode。 |
|
降低 Y ppi,还是后处理? |
|
后期处理 |
|
测试时发现了一个不同的错误。我在矢量对象上使用了 del 快捷键。这让父母的孩子们没有受到影响,这导致了各种各样的问题。 |
|
好的,将深入研究 |







能够调整文档在工作区中的旋转。