Flutter根据偏移量转换角度 Offset 的使用实例
Posted 早起的年轻人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter根据偏移量转换角度 Offset 的使用实例相关的知识,希望对你有一定的参考价值。
也许你迷茫,但是我想说,在你迷茫的同时,保持本心,过好今天就好。
学习Dart语言,首先我们需要使用到一个语言调试工具 DartPad
在 Dart 中,dart:math 类库提供了 数学常数和函数,加上随机数生成器,本文章来概述一下。
在使用前 你需要导入依赖
import 'dart:math';
1 Offset 概述
Offset 在Dart 中,用来表示 创建一个偏移量。第一个参数设置了dx,水平分量,第二个参数设置了dy,垂直分量。
2 Offset 的 direction
这个偏移量的角度为从正x轴顺时针方向的弧度,范围是 -pi ~ pi(-π ~ π),假设x轴的正值向右而y轴的正值向下。
-
0表示dy = 0 dx = 0或正, Offset(0,0) 表示无偏移,在原点位置
-
从0到pi/2表示右下象限的dx和dy为正值。
-
从pi/2到 pi 的值表示dx的负值,dy的正值,即左下象限。
-
从0到 -pi /2表示右上象限的dx为正值,dy为负值。
-
从- pi/2到-pi表示左上象限dx和dy的负值。
当dy = 0 dx为负时,direction的值是 pi。
当dx为0时,dy为正,direction为 pi/2 ,dy为负,direction 为- pi/2。
查看源码 Offset 的 direction 实际上是反三角函数 tan 的计算
double get direction => math.atan2(dy, dx);
3 根据偏移量来计算偏移角度
import 'dart:math';
import 'dart:ui';
void main()
//定义偏移点
Offset start = new Offset(200, 200);
//获取计算偏移量 弧度
double direction = start.direction;
//获取直线偏移角度
double angle = direction * 180 / pi;
//保留两位小数
String angleStr = angle.toStringAsFixed(2);
print('tan direction $direction');
print('角度: $angleStr°');
完毕
小编也写了几本书,如果你有兴趣可以去看看
以上是关于Flutter根据偏移量转换角度 Offset 的使用实例的主要内容,如果未能解决你的问题,请参考以下文章
Python习题:给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转)。例:输入: str="abcdefg", offset = 3 输出: "efgab