k=1的镜像对称,为什么结果显示的却是旋转了90度的效果?

k=1的镜像对称,为什么结果显示的却是旋转了90度的效果?

老师的代码里设置了k=1的镜像对称,为什么结果显示的却是旋转了90度的效果?

老师代码:

http://img1.sycdn.imooc.com//climg/5e885ad60983567900000000.jpg



正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕糖 2020-04-04 19:36:22

同学你好,不是旋转的,虽然效果看起来差不多,是对称过去的。可以理解为我按照这个k这条线,对折下。

下图是老师画的一个图,比较简洁,同学可以参考理解:

蓝色是最开始的形状。红色是左边。黄色是k

绿色就是要对折的点,原来的位置与k做垂线,距离相等,得到的位置就是新的位置与原来对称的。

http://img1.sycdn.imooc.com//climg/5e8870880964833806710549.jpg

祝学习愉快~

  • 但是按照这个理解,课程讲的y=2x的情况,又和实际效果有出入了。我按照这个方法算完预想的位置和实际效果完全不一样

    2022-10-31 23:25:40
  • 同学你好,个人理解的和“慕糖”老师、讲师描述的不太一样,可以参考一下:

    测试代码(建议将页面缩小至50%查看):

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>matrix3d</title>
      <style type="text/css">
        div {
          width: 1500px;
          height: 250px;
          background: #abcdef;
          position: absolute;
          left: 300px;
          top: 900px;
        }
    
        div:nth-child(1)>img {
          transform: matrix(0,-1,-1,0,0,0)  
        }
     
      </style>
    </head>
    <body>
      <div><img src="images/sprite.jpg"></div>
      <div><img src="images/sprite.jpg"></div>
    </body>
    </html>

    y=x 这条轴,对应的k是-1,此时得到的位移矩阵是transform: matrix(0,-1,-1,0,0,0) ,效果如下:

    https://img1.sycdn.imooc.com//climg/6360e34d09b2b2a212790849.jpg

    y=-x这条轴,对应k是1,得到的矩阵是transform: matrix(0,1,1,0,0,0),效果如下:

    https://img1.sycdn.imooc.com//climg/6360e39a092b5cee11570850.jpg

    y=2x这条轴,对应k=-2,得到的矩阵是transform: matrix(-0.6,-0.8,-0.8,0.6,0,0),效果如下:

    https://img1.sycdn.imooc.com//climg/6360e4eb09321e7700000000.jpg


    2022-11-01 17:20:47
  • y=x 这条轴,对应的k是-1,
    这一点我一直都搞错了,y=x这种情况,我一直把k设置成1。这样算完就和实际现象对不上。

    垂直向下的那条轴线定成y轴的正方向就能完全对应上了。

    2022-11-02 21:50:23
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师