算数几何的绘制

简介: 算数几何的绘制

数几何的显示绘制,可用于几何图形的的旋转,坐标转换,移动等直观验证

平面中,一个点(x,y)绕任意点(dx,dy)顺时针旋转a度后的坐标
xx= (x - dx)*cos(-a) - (y - dy)*sin(-a) + dx ;
yy= (x - dx)*sin(-a) + (y - dy)*cos(-a) +dy ;
平面中,一个点(x,y)绕任意点(dx,dy)逆时针旋转a度后的坐标
xx= (x - dx)*cos(a) - (y - dy)*sin(a) + dx ;
yy= (x - dx)*sin(a) + (y - dy)*cos(a) +dy ;

消除锯齿

Graphics2D g2 = (Graphics2D) g;//新绘图类
 //消除文字锯齿
  g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
  //消除画图锯齿
 g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

**

BasicStroke参数详解**

在JAVA 2D开发中,BasicStroke用于定义线条的特征,我们可以调用Graphics2D类中的setStroke方法来将新创建的BasicStroke对象设置进去。BasicStroke的构造方法如下所示

public BasicStroke(float width, int cap, int join, float miterlimit,float dash[], float dash_phase) {...}

构造方法参数说明

2.1 width

这个参数最容易理解,表示线条的宽度

2.2 cap

只能取三个值:CAP_BUTT, CAP_ROUND or CAP_SQUARE,表示不同的线端。

意思如下:

2.3 join

这个参数表示当两条线连接时,连接处的形状,可以取JOIN_ROUND, JOIN_BEVEL, or JOIN_MITER三个值。

意思如下:

2.4 miterlimit

当你使用JOIN_MITER这种策略来表示连接处形状的时候,由于两根线的连接角度可能很小,那么,就会导致延伸出来的那个角特别长!本参数用来限制那个尖角的最大长度!当你使用JOIN_MITER策略的时候,本参数必须大于1,本参数的默认值是10.0f 。

2.5 dash[]

画虚线的时候,使用这个参数,虚线是由:“线+缺口+线+缺口+线+缺口……”来组成的。所以本参数就是定义的这些线、缺口的长度:{线的长度,缺口的长度,线的长度,缺口的长度……}

2.6 dash_phase

最后一个参数是跟dash[]这个数组配合的参数,表示在画虚线的时候,从一定的偏移量处开始画。

下面这个图,统一说明了dash[]和dash_phase的意思:

AOE技能覆盖图

后续讲一下向量的使用

向量加法减法的几何意义、平移、旋转等

向量点乘,叉乘的意义和几何意义

判断点是否在一个矩形内

检测点是否在扇形之内

Java绘图: 使用 Graphics 类绘制线段、矩形、椭圆/圆弧/扇形、图片、文本

[算法][包围盒]球,AABB,OBB

目录
相关文章
|
3月前
|
算法框架/工具 C++ Python
根据相机旋转矩阵求解三个轴的旋转角/欧拉角/姿态角 或 旋转矩阵与欧拉角(Euler Angles)之间的相互转换,以及python和C++代码实现
根据相机旋转矩阵求解三个轴的旋转角/欧拉角/姿态角 或 旋转矩阵与欧拉角(Euler Angles)之间的相互转换,以及python和C++代码实现
198 0
|
3月前
|
PHP C++ Python
右手坐标系,空间点绕轴旋转公式&程序(Python和C++程序)
右手坐标系,空间点绕轴旋转公式&程序(Python和C++程序)
51 0
|
3月前
|
Python
python实现:旋转矩阵转换为四元数
python实现:旋转矩阵转换为四元数
70 0
|
3月前
|
算法框架/工具
第4章-变换-4.2-特殊矩阵变换和运算
第4章-变换-4.2-特殊矩阵变换和运算
16 0
|
6月前
|
算法 图形学
【计算机图形学】实验四 二维图形的缩放、旋转,平移,组合变换
【计算机图形学】实验四 二维图形的缩放、旋转,平移,组合变换
153 2
|
5月前
|
计算机视觉
图像特效之三角几何应用
图像特效之三角几何应用
23 0
|
11月前
|
机器人 C# 图形学
C# | [极坐标] 与 [平面直角系坐标] 的相互转换
极坐标和平面直角系坐标是常见的坐标系统,它们在不同的应用场景中都有重要的作用。而在计算机图形学、物理模拟和机器人控制等领域,我们经常需要在极坐标和平面直角系坐标之间进行转换。
180 2
C# | [极坐标] 与 [平面直角系坐标] 的相互转换
|
前端开发 数据可视化 图形学
【数学篇】09 # 如何用仿射变换对几何图形进行坐标变换?
【数学篇】09 # 如何用仿射变换对几何图形进行坐标变换?
151 0
【数学篇】09 # 如何用仿射变换对几何图形进行坐标变换?
|
前端开发 数据可视化 API
【数学篇】05 # 如何用向量和坐标系描述点和线段?
【数学篇】05 # 如何用向量和坐标系描述点和线段?
189 0
【数学篇】05 # 如何用向量和坐标系描述点和线段?
复数与二维旋转
复数与二维旋转
249 0
复数与二维旋转