算数几何的绘制

简介: 算数几何的绘制

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

平面中,一个点(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

目录
相关文章
|
6月前
|
人工智能 安全 Android开发
手机也能跑通义Qwen3大模型,手把手教你部署!
全球开源模型冠军Qwen3与端到端全模态模型Qwen2.5-Omni现已成功在手机上跑通!借助MNN支持,适配Android、iOS及桌面端,实现低延迟、本地化、高安全的AI体验。用户可通过自定义Sampler设置、System Prompt和Max New Tokens调节模型输出风格与长度。
3329 11
|
存储 SQL 分布式计算
Hive存储表数据的默认位置详解
【8月更文挑战第31天】
1337 1
|
11月前
|
人工智能 测试技术 API
FlagEvalMM:智源开源的多模态模型评测框架
FlagEvalMM 是由北京智源人工智能研究院开源的多模态模型评测框架,旨在全面评估处理文本、图像、视频等多种模态的模型。该框架支持多种任务和指标,采用评测与模型推理解耦的设计,提升评测效率,便于快速适配新任务和模型。
503 11
FlagEvalMM:智源开源的多模态模型评测框架
|
SQL 监控 Oracle
Oracle数据误删不用怕,跟我来学日志挖掘
Oracle数据误删不用怕,跟我来学日志挖掘
376 0
|
存储 监控 Linux
在Linux中,如何查看和管理Linux系统日志?
在Linux中,如何查看和管理Linux系统日志?
|
XML 算法 Java
Android 开发人脸识别之自动识别验证码功能讲解及实现(超详细 附源码)
Android 开发人脸识别之自动识别验证码功能讲解及实现(超详细 附源码)
767 0
|
存储 测试技术 API
诊断服务处理DSP
诊断服务处理DSP
640 0
|
XML Java 数据格式
Spring Bean的生命周期总结(包含面试题)
Spring Bean的生命周期总结(包含面试题)
537 0
|
数据采集 算法 搜索推荐
什么叫GPC爬虫池?
主要实现原理是通过建设庞大的站群系统,复杂的内链,外链结构体系,起到吸引谷歌爬虫,圈养谷歌爬虫的目的。
792 0
什么叫GPC爬虫池?
|
存储 数据采集 Prometheus
Prometheus 基础应用|学习笔记(一)
快速学习 Prometheus 基础应用
438 0
Prometheus 基础应用|学习笔记(一)

热门文章

最新文章