数几何的显示绘制,可用于几何图形的的旋转,坐标转换,移动等直观验证
平面中,一个点(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技能覆盖图
后续讲一下向量的使用
向量加法减法的几何意义、平移、旋转等