为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用d3旋转?

如何使用d3旋转?

繁花不似锦 2021-05-11 17:26:23
我正在为数学课程设置D3演示,并希望三角形围绕其顶点之一旋转。当D3执行旋转指令时,三角形在正确的端点处结束,但是在旋转动画期间会飞入和飞出视线。我知道我必须调整图像,以便可以看到整个旋转,但是我不明白为什么三角形会“飞走”,而不是像我期望的那样围绕顶点旋转。我希望三角形围绕矩形顶部水平线的中点旋转。FWIW的想法是最终将矩形转换为梯形。实现枢轴的正确旋转语法是什么?这是整个页面:<!DOCTYPE html><head>  <meta charset="utf-8">  <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js"></script>  <style>    body { margin:0;position:fixed;top:0;right:0;bottom:0;left:0; }    svg { width:100%; height: 400px }  </style></head><body>  <script>    var svg = d3.select("body").append("svg");    var data = [        {'x': 40, 'y': 40},       {'x': 40, 'y': 100},      {'x': 200, 'y': 100},        {'x': 200, 'y': 40},        {'x': 40, 'y': 40},    ];    var line = d3.svg.line()                 .x(function(d) { return  (d['x']); })                 .y(function(d) { return  (d['y']); });    var path = svg.append('path').attr('d', line(data))    .style("stroke","steelblue")    .style("stroke-width","1px")    .style("fill","none")    var tdata = [        {'x': 120, 'y': 40},       {'x': 200, 'y': 70},       {'x': 200, 'y': 40},       {'x': 120, 'y': 40},      ];       tpath = svg.append('path').attr('d', line(tdata))      .style("stroke", "red")      .style("stroke-width","1px")      .style("fill","none")      .transition().delay(2000)            .duration(1000)       .attr("transform", "rotate(-180,120,40)");  </script></body>
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 128 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信