gpt4 book ai didi

java - 在 Java 中从边和顶点绘制 map

转载 作者:太空宇宙 更新时间:2023-11-04 07:44:44 24 4
gpt4 key购买 nike

给定大量的顶点和边。顶点有 x 和 y 坐标,每条边都有两个顶点。

对于缩放,简单的解决方案是仅绘制在给定 x 和 y 坐标中具有顶点的所有边(屏幕放大到该边),而不是绘制 map 上的每个边。但是我将如何绘制刚刚穿过我放大的区域的边缘呢?

我能想到的唯一解决方案是线性地遍历每条边,并通过找到边每端的 x 和 y 坐标来计算该边是否会进入我放大的区域。有人对此有什么巧妙的解决方案吗?

另外,关于平移,最好的解决方案不是在用户看到的区域周围加载 8 个大小相同的盒子吗?

编辑: 我忘了说,不同的边缘都有信息,所以根据每个缩放级别,会绘制不同类型的边缘,这就是为什么我更喜欢制作自己的缩放。

最佳答案

所以你想用 Java 来做,但你没有告诉你想要使用哪个图形库。当绘图变得更加复杂和密集时,就像您的示例一样,您应该使用更复杂的东西,例如 OpenGL而不是考虑自己计算变焦。要与 Java 一起使用它,有一个包装器库:JOGL .

OpenGL 提供了绘制顶点和形状的工具,您可以使用相机来组织 View 和缩放。

所以首先我建议熟悉图形编程(使用哪种编程语言或使用哪个库并不重要)。

我发现这些教程很有帮助:

更新

  • OpenGL 非常适合绘制 2D(正如您将在教程中学到的)。
  • 特别是如果您要绘制的内容根据缩放级别而变化,则图形库会很有用,因为至少每次内容更改时都会渲染整个场景。您可以在渲染之前简单地检查缩放级别并根据它来绘制内容。

关于java - 在 Java 中从边和顶点绘制 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15497786/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com