首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用arraylist存储坐标,以便在固定区域中绘制不同颜色的随机点?

使用ArrayList存储坐标可以方便地管理和操作坐标数据。下面是一个示例代码,演示如何使用ArrayList存储坐标,并在固定区域中绘制不同颜色的随机点:

代码语言:txt
复制
import java.awt.*;
import java.util.ArrayList;
import java.util.Random;

public class CoordinateDrawer {
    private static final int AREA_WIDTH = 800;  // 固定区域宽度
    private static final int AREA_HEIGHT = 600; // 固定区域高度

    public static void main(String[] args) {
        ArrayList<Point> coordinates = new ArrayList<>();

        // 生成随机坐标
        Random random = new Random();
        for (int i = 0; i < 100; i++) {
            int x = random.nextInt(AREA_WIDTH);
            int y = random.nextInt(AREA_HEIGHT);
            coordinates.add(new Point(x, y));
        }

        // 绘制坐标点
        drawCoordinates(coordinates);
    }

    private static void drawCoordinates(ArrayList<Point> coordinates) {
        // 创建绘图窗口
        Frame frame = new Frame("Coordinate Drawer");
        frame.setSize(AREA_WIDTH, AREA_HEIGHT);
        frame.setVisible(true);

        // 绘制坐标点
        Graphics graphics = frame.getGraphics();
        for (Point coordinate : coordinates) {
            int x = coordinate.x;
            int y = coordinate.y;

            // 生成随机颜色
            Color color = generateRandomColor();
            graphics.setColor(color);

            // 绘制点
            graphics.fillRect(x, y, 5, 5);
        }
    }

    private static Color generateRandomColor() {
        Random random = new Random();
        int r = random.nextInt(256);
        int g = random.nextInt(256);
        int b = random.nextInt(256);
        return new Color(r, g, b);
    }
}

这段代码使用了Java语言,通过ArrayList存储坐标数据,并利用AWT绘图库在固定区域中绘制不同颜色的随机点。具体步骤如下:

  1. 创建一个ArrayList对象,用于存储坐标数据。
  2. 使用Random类生成随机坐标,并将其添加到ArrayList中。
  3. 创建一个绘图窗口,并设置窗口大小为固定区域的宽度和高度。
  4. 获取绘图窗口的Graphics对象,用于绘制图形。
  5. 遍历坐标数据,为每个坐标生成随机颜色,并使用Graphics对象绘制一个填充矩形作为点。
  6. 最终,绘制出固定区域中不同颜色的随机点。

这个示例代码中没有涉及到具体的腾讯云产品,因此无法提供相关产品和链接。但是,腾讯云提供了丰富的云计算服务,可以根据具体需求选择适合的产品,如云服务器、云数据库、云存储等。可以通过访问腾讯云官方网站获取更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

探索VtKLoader源码中THREE.BufferGeometry奥秘

BufferGeometry将几何数据存储在缓冲(Buffer)中,二进制数组形式存储顶点坐标、法线、颜色、UV等属性数据。...它采用缓冲(Buffer)方式存储顶点坐标、法线、颜色、UV等属性数据。与传统THREE.Geometry对象相比,BufferGeometry具有更高性能和更好内存利用率。...一般来说,VTK文件中包含了诸如顶点坐标、法线、颜色、UV等属性数据,而BufferGeometry则负责将这些数据转换为THREE.js所支持格式,并提供给渲染器进行绘制。...BufferGeometry在VtKLoader中主要作用包括:数据存储:将从VTK文件中解析出几何数据存储在缓冲中,二进制数组形式表示顶点、面等属性数据。...在BufferGeometry中,可以通过创建和设置不同类型BufferAttribute对象来存储不同属性数据,如下所示:// 创建顶点坐标BufferAttributevar positions

17410

Unity基础教程系列(五)——生成区域(Level Variety)

主要扩展了如何让对象更多不同模式生成,并且支持每个关卡单独配置。 本教程是CatLikeCoding系列一部分,原文地址见文章底部。“原创”标识意为原创翻译而非原创教程。...每种形状材质和颜色都是随机选择,其位置,旋转和比例也是如此。尽管生成随机,但它们被约束在世界原点为中心半径为5个单位球形区域中。如果生成足够多对象后,它们将形成可识别的球体。...这其实是我们已经硬编码形式在游戏中产生生成区域了。 我们不必限制只在一个单一生成区域里生成,也可以让形状在不同配置中生成。要实现该功能,需要用一个可配置生成替换我们固定代码。...所以它体积在每个维度两个方向上都延长了半个单位。为了在这个空间内获得一个随机,我们可以分别为三个向量坐标调用Random.Range(-0.5f, 0.5f),然后转换得到。 ?...我们可以通过在立方体内一个随机点开始然后沿一个轴移动它直到与一个面对齐来做到这一。轴索引可以随机选择。 ? 可以使用此索引访问Vector3值,就好像它是一个数组一样,获取或设置其对应坐标

1.9K20
  • Android开发笔记(一百五十五)利用GL10描绘、线、面

    上一篇文章介绍了GL10常用方法,包括如何设置颜色如何指定坐标系、如何调整镜头参数、如何挪动观测方位等等,不过这些方法只是绘图前准备工作,真正描绘、线、面的制图工作并未涉及...不过这个浮点数组并不能直接传给OpenGL处理,因为OpenGL底层是用C语言实现,C语言与其它语言(如Java)默认数据存储方式在字节顺序上可能不同(如大端小端问题),所以其它语言数据结构必须转换成...//OpenGL在底层实现是C语言,与Java默认数据存储字节顺序可能不同,即大端小端问题。...//因此,为了保险起见,在将数据传递给OpenGL之前,需要指明使用本机存储顺序 byteBuffer.order(ByteOrder.nativeOrder());...和glDrawArrays,其中前者指定了三维物体顶点坐标集合,后者才在顶点坐标集合之间绘制、线、面。

    70730

    Android——MPAndroidChart折线图柱状图饼形图使用

    https://github.com/PhilJay/MPAndroidChart 【使用方法】 这里会介绍如何初始化、如何自定义XY坐标轴、如何点击折线图中数据显示数据标签、如何设置数据。...一、折现图初始化       入参为折线图对象和自定义XY坐标轴数据,初始化相关属性注释中都已给出,这里主要单独说明下如何自定义XY坐标轴、如何点击折线图中数据显示数据标签。...);//chart 绘图后面的背景矩形将绘制 chart.setDrawBorders(false);//是否禁止绘制图表边框线 // chart.setBorderColor...xAxis.setDrawGridLines(false);//设置x轴上每个对应线 xAxis.setDrawLabels(true);//绘制标签 指x轴上对应数值...} 二、折现图设置数据 输入参数为折线图对象和自定义XY坐标轴,因折线图设置数据需要有固定格式,MyAndroidChart使用Entry键值对,xy值都为浮点型数据,所以需要将我们自定义XY坐标轴数据转化为对应键值对形式

    3.4K30

    unity3d:Shader知识,矩阵,函数,坐标转换,Tags,半透明,阴影,深度,亮度,优化

    同时,由于深度写入被关闭,透明物体深度信息将不会被存储到深度缓冲中,避免了后绘制透明物体遮挡住前面已绘制物体问题。...深度缓冲是一种用于存储场景中每个像素深度信息缓冲。通过比较新像素深度值与深度缓冲中对应位置深度值,可以确定新像素是否可见。...这通常是从屏幕空间转换得到,以便在渲染过程中获取正确深度信息。 偏移量(Offset):用于在采样过程中应用偏移量。这个偏移量通常用于处理采样周围深度信息,获取更加平滑效果。...后处理深度设置 //ZTest Always 是一种 Z 测试模式,其含义是无论 Z 缓冲中如何,总是进行绘制。 //换句话说,不管其他像素深度值如何,当前像素都会被绘制在屏幕上。...通过调整权重或使用其他计算方式,你可以根据具体需求来改变亮度计算方式,达到不同效果。

    33810

    matlab入门到放弃(四)、绘图基本操作

    二、图形窗口分割 子图:同一图形窗口中不同坐标系下图形。 subplot函数 subplot(m,n,p),其中,m和n指定将图形窗口分成mxn个绘图,p指定当前活动。 ?...格式二: bar(x,y,style) 其中,x用于存储坐标,y存储数据,y行数必须与x长度相同。 ? 四、直方图 绘制直方图函数有两个,hist函数与rose函数。...2、rose函数 rose函数用于绘制坐标系下直方图。 格式: rose(theta,x) 其中,参数theta用于确定每一间与原点角度,选项x用于指定区间划分方式。...七、面积图 area函数 反应多个数据系列累计变化趋势 八、散类图形 scatter函数:散点图 stairs函数:阶梯图 stem函数:杆图 三者使用方式类似,sctter函数为例说明: 格式...当参数x、y、z为同型矩阵时,x、y、z列元素为坐标绘制曲线,曲线条数等于矩阵列数。 当参数x、y、z中有向量,也有矩阵时,向量长度要等同于矩阵长度。 example1:绘制一条折线 ?

    1.3K20

    R可视乎|空间地理数据可视化(1)

    连续是指 s 可以在 D 中连续地变化,Z(s)可以在 D 任何地方被观测到,Z(s) 可以是连续也可以是离散固定是指域 D 中是非随机(non-stochastic)。...2.3 模式数据 与前两种数据不同模式数据中域 D 是随机,s 给出了随机事件位置。对于 ,Z(s)表示事件发生,其值可以为 1,也可以是随机地给出一些额外信息。...半球(南或北)以及东经和北纬坐标(米为单位)给出。...除此之外,还有欧洲石油调查组(EPSG)所制定地图,由于坐标不同,各地地图也会不同,例如中国:地球几何球心为中心时,EPSG 代码为 4479;地球椭球焦点为中心时,EPSG 代码为 4480...: plot(map) 由 sf 包得到美国北卡罗来纳州地图 小编有话说 本篇主要介绍:用 R 包制作地图基础内容,包括:几种空间数据类型、不同坐标参考系统介绍以及如何使用 R 包导入图形文件以及绘图

    3.4K30

    关于“Python”核心知识点整理大全43

    15.2.3 使2散点图并设置其样式 有时候,需要绘制散点图并设置各个数据点样式。例如,你可能想一种颜色显示较小 值,而用另一种颜色显示较大值。...绘制大型数据集时,你还可以对每个都设置同样样式, 再使用不同样式选项重新绘制某些突出它们。...要绘制单个,可使用函数scatter(),并向它传递一对x和y坐标,它将在指定位置绘制一 个: scatter_squares.py import matplotlib.pyplot as...要使用这些颜色映射,你需要告诉pyplot该如何设置数据 集中每个颜色。...这个类需 要三个属性,其中一个是存储随机漫步次数变量,其他两个是列表,分别存储随机漫步经过 每个x和y坐标

    12010

    OpenGL ES (iOS) 学习笔记 — 基础篇(一)

    一旦你使用了Vertex Shader,顶点处理器所有固定功能都将被替换。所以开发者不能只编写法线变换Shader,而指望固定功能帮你完成纹理坐标生成。...2、计算片断最终颜色gl_FragColor,当要渲染到多个目标时计算gl_FragData。 如何使用shader? 我们在iOS程序中如何使用Shader呢?其实只需要三个步骤就可以实现。...每个顶点数据可以包含任意数量信息,最基本有位置,颜色等。经过各种处理,最终放入FrameBuffer(帧缓冲)。接下来我们按照这个流程分解绘制一个图形代码流程。...因此每一个需要分配6个GLfloat大小空间,前三个存储位置(x, y, z),后三个存储颜色(r, g, b)。三个就是18个GLfloat数组。...使用GLfloat而不是float是为了跨平台,保证不同平台GLfloat占用字节数都是一致。从而规范化了传递给Shader数据格式和大小。

    2.5K100

    Metal 框架之渲染管线渲染图元

    概述 在 《 Metal 框架之使用 Metal 来绘制视图内容 》中,介绍了如何设置 MTKView 对象并使用渲染通道更改视图内容,实现了将背景色渲染为视图内容。...本示例将介绍如何配置渲染管道,作为渲染通道一部分,在视图中绘制一个简单 2D 彩色三角形。该示例为每个顶点提供位置和颜色,渲染管道使用该数据,在指定顶点颜色之间插入颜色值来渲染三角形。...颜色使用 vector_float4 存储,因此它们有四个通道:红色、绿色、蓝色和 alpha。...要将位置转换为 Metal 坐标,该函数需要绘制三角形视口大小(像素为单位),因此需要将其存储在 viewportSizePointer 参数中。...光栅化阶段获取输出位置,并将 x、y 和 z 坐标除以 w 生成归一化设备坐标 3D 。归一化设备坐标与视口大小无关。 归一化设备坐标使用左手坐标系来映射视口中位置。

    2.1K00

    浅谈 GPU图形固定渲染管线

    模板缓存与深度测试缓存、后台缓存(或颜色缓存,最终显示在屏幕上缓冲大小(分辨率)完全一致,模板缓存中像素与后台缓存像素是一 一对应。...在实现镜面效果时,我们在“镜子”这块区域中绘制某个特定物体映像,而使用模板缓存来阻止物体映像在“非镜子”域中进行绘制。 为了进行这种阻止,就需要使用模板测试。...深度缓存用于计算每个像素深度值并进行深度测试,深度测试基本内容是依据深度值让处于同一位置不同像素进行竞争,选出该写入该位置像素,距离摄像机最近像素获胜,并被写入深入缓存对应位置上。...3.5 alpha融合 融合技术能使我们将当前要进行光栅化像素颜色与先前已经光栅化并处于同一位置像素颜色进行合成,即将正在处理图元颜色值与存储中后台缓存中像素颜色值进行合成。...它是指用交替图案去模拟在图象中不能使用颜色过程。

    2.5K80

    OpenGL 3D 模型加载和渲染

    使用 OpenGL 绘制时,我们最多绘制是一些简单图形,比如三角形、圆形、立方体等,因为这些图形顶点数量不多,还是可以手动写出那些顶点,可要是绘制一些复杂图形该怎么办呢?...obj 文件将顶点坐标、三角形面、纹理坐标等信息固定格式文本字符串表示。...如果顶点坐标没有法向量和纹理坐标,那么直接可以忽略,用空格将三个顶点坐标索引分开就行 1f 1 3 4 最后 OpenGL 在绘制时采用是 GL_TRIANGLES,也就是由 ABCDEF 六个绘制...ABC、DEF 两个三角形,所以 "f" 开头行都代表绘制一个独立三角形,最终图像由一个一个三角形拼接组成,并且彼此可以分开。...当成 索引 2 ArrayList alv = new ArrayList(); 3 // 代表绘制图像每一个小三角形坐标 4 ArrayList

    3.1K21

    浅谈 GPU图形固定渲染管线

    模板缓存与深度测试缓存、后台缓存(或颜色缓存,最终显示在屏幕上缓冲大小(分辨率)完全一致,模板缓存中像素与后台缓存像素是一 一对应。...在实现镜面效果时,我们在“镜子”这块区域中绘制某个特定物体映像,而使用模板缓存来阻止物体映像在“非镜子”域中进行绘制。 为了进行这种阻止,就需要使用模板测试。...深度缓存用于计算每个像素深度值并进行深度测试,深度测试基本内容是依据深度值让处于同一位置不同像素进行竞争,选出该写入该位置像素,距离摄像机最*像素获胜,并被写入深入缓存对应位置上。...3.5 alpha融合 融合技术能使我们将当前要进行光栅化像素颜色与先前已经光栅化并处于同一位置像素颜色进行合成,即将正在处理图元颜色值与存储中后台缓存中像素颜色值进行合成。...它是指用交替图案去模拟在图象中不能使用颜色过程。

    2.3K20

    【iOS】OpenGL入门资料整理

    顶点数据就是要画图像骨架,和现实不同是,OpenGL中图像都是由图元组成。在OpenGLES中,有3中类型图元:、线、三角形。那这些顶点数据最终是存储在哪里呢?...这部分显存,就被成为顶点缓存。 顶点指的是我们在绘制一个图形时,它顶点位置数据。而这个数据可以直接存储在数组中或者将其缓存到GPU中。...2.6、固定管线/存储着⾊色器器 在早期OpenGL 版本,它封装了很多种着⾊器程序块内置⼀段包含了光照、坐标变换、裁剪等诸多功能固定shader程序来完成,来帮助开发者来完成图形渲染。...2.9、片元着色器FragmentShader 一般用来处理图形中每个像素颜色计算和填充 片段着色器是OpenGL中用于计算片段(像素)颜色程序。...2.14、变换矩阵(Transformation) 例如图形想发生平移,缩放,旋转变换.就需要使用变换矩阵 2.15、投影矩阵(Projection) 用于将3D坐标转换为二维屏幕坐标,实际线条也将在二维坐标下进行绘制

    1.5K10

    emwin教程_emwin教程

    X 坐标; 3) y0:显示屏中定位 Y 坐标; 4) xCenter:位图中定位 X 坐标; 5) yCentert:位图中定位 Y 坐标; 6) xMag:X方向缩放比例因子,单位为...常见色彩深度有 1bpp、 4bpp、 8bpp、 16bpp、 24bpp 和 32bpp。 像素格式 (pixel format),它表示为一个像素颜色信息什么样方式和顺序进行存储。...如 RGB565 表示用 16 位色彩深度存储单个像素颜色信息,从高位到低位依次存放红绿蓝三色,其中红色和蓝色占 5 位,绿色占 6 位。同一种色彩深度可以对应不同像素格式。...窗口剪辑区域是其可见 域,是窗口区域减去被更高 Z 轴阶层同属窗口遮挡区域,然后减去没有放入 父窗口可见区域任何部分 坐标坐标通常是二维坐标像素为单位表示(x,y) 桌面坐标: 桌面坐标是桌面窗口坐标...**窗口回调函数中需要构建一个 switch 语句,它使用一个或多个 case 语句为不同消息定义不同行为。

    5.3K40

    数据可视化大屏产品在滴滴技术探索

    ▍2.轨迹运动 如何让轨迹动起来呢?其实就是每一帧都让轨迹沿着预设好路线向前移动。设想轨迹有一个头和一个尾,每帧让头和尾都沿着路线移动固定距离,再将头尾间连接起来即可。...那么现在问题又归结到如何在路径上找到距离起始点特定长度坐标。...半径大小 可以任意距离为单位,该范围内订单数对应色阶上颜色即为该范围热力图颜色。 色阶 热力图颜色是可调。...与常规使用不同是,我们需要添加很多判定条件,因为飞线从不同地方飞出,其长度和最大飞行高度是有限制。...曲线采用了不同于三维三次贝塞尔曲线方法,使用是CatmullRomCurve3,即使用Catmull-Rom算法, 从一系列创建一条平滑三维样条曲线,不仅限于两个控制

    2.8K11

    OPengl、DirectX、OPenCV、OpenCL

    ,区别于传统固定管线,文件扩展名*.glsl。   ...GL_COLOR_BUFFER_BIT变量中,可以把OPengl当做状态机,通过不同状态变量开关(glEnable、glDisable只有两个状态变量)控制,实现不同显示效果。   ...内置变量:gl_Color顶点着色器或片段着色器颜色 3.坐标系:   世界坐标(WC 屏幕原点)、物体坐标(MC 模型移动时坐标系不变,只是移动模型)、设备坐标(视或视口DC)、眼坐标(z...,范围(0~1),超出范围使用glTexParamteri设置,纹理坐标描述纹理与顶点映射关系 glTexCoord控制坐标、glTexGen纹理坐标自动生成   (纹理坐标:s\t\r\q...(推荐使用glut框架入门opengl):   1.立即模式绘图:glBegin、glvertex、glEnd(固定渲染管线)   2.顶点数组绘图:glDrawArrays   3.Display

    2.2K50

    自学cad 零基础_零基础自学吉他步骤

    高   自学cad制图第2章 基本二维图形绘制   1.绝对坐标系 ①笛卡尔绝对坐标坐标原点(0,0,0)为基点定位所有的。各个之间没有相对关系,只是和坐标有关。...②绝对极坐标坐标原点(0,0,0)为极点定位所有的,通过输入相对于极点距离和角度来定义位置。...使用格式: 距离〈角度   2.相对坐标系 ①笛卡尔相对坐标相对于另一已知相对位置来定义该位置。...②相对极坐标某一特定为参考极点,输入相对于极点距离和角度来定义一个位置,其使用格式为:@距离〈角度   3.设置 格式—点样式-设置点样式 ②绘制 命令:绘图--单点、多点...填充分实体填充和渐变填充两种,实体填充使用实体颜色填充图形区域,渐变填充是一种颜色不同灰度之间或两种颜色之间使用过渡。

    3K20

    干货 | 移动应用中使用OpenGL生成转场特效

    2.2 使用OpenGL处理视频转场难点 使用OpenGL处理视频转场难点是如何编写转场效果着色器,关于这一,我们可以参考开源GLTransitions网站。...可以设置它各种状态(或模式),然后让这些状态一直生效,直到再次修改它们。 把当前颜色设置为白色、红色或其他任何颜色,在此之后绘制所有物体都将使用这种颜色,直到再次把当前颜色设置为其他颜色。...我们使用是可编程管线,在可编程管线里,顶点位置、颜色、贴图座标、贴图传进来之后,如何对数据进行改动,产生片元如何生成结果,可以很自由地控制。...可编程管线:在渲染图像过程,我们能够使用自定义顶点着色器和片元着色器去处理数据过程。由于OpenGL使用场景非常丰富,固定管线或者存储着色器无法完成任务,这时我们可以使用可编程管线去处理。...3.1.5 如何使用OpenGL来绘制一张图片 上面介绍了顶点着色器和片元着色器,以及如何向OpenGL程序传递数据方法。

    1.8K10
    领券