Java 海岸线分形比例

Java 海岸线分形比例,java,fractals,Java,Fractals,我正在一个一个宽的窗口上做一个海岸线分形图,我想做下面的第一个,但是,我不知道要用哪个x和y坐标使角度形成90度并且仍然适合屏幕,我不需要任何代码,我只是想知道如何确定使用哪个x和y坐标。谢谢 要点: 第1点:0,0.5 第二点:0.25,0.75 第三点:0.75,0 第4点:1,0.5 我的作品虽然有时凌乱难辨: 从图片上看,第一个点和最后一个点的y值都为0.5。由于查看窗口是一个,因此将其分为4个部分,每个部分的长度为0.25。根据图像,如果在y=0.5处绘制水平线,则形成的三角形为等腰三

我正在一个一个宽的窗口上做一个海岸线分形图,我想做下面的第一个,但是,我不知道要用哪个x和y坐标使角度形成90度并且仍然适合屏幕,我不需要任何代码,我只是想知道如何确定使用哪个x和y坐标。谢谢

要点: 第1点:0,0.5 第二点:0.25,0.75 第三点:0.75,0 第4点:1,0.5

我的作品虽然有时凌乱难辨:

从图片上看,第一个点和最后一个点的y值都为0.5。由于查看窗口是一个,因此将其分为4个部分,每个部分的长度为0.25。根据图像,如果在y=0.5处绘制水平线,则形成的三角形为等腰三角形。因此,您可以求解:sin45=x/0.5。

re x和y坐标是0和1之间的两倍


然后,您需要从模型中转换组成分形的点集和GUI显示的视图。模型将从0变为1,视图将从0变为图形窗口的宽度。一个简单的线性变换,将模型乘以某个比例因子即可。

似乎您想要将抽象坐标系映射到屏幕上

假设任意坐标中的端点为0,0和1,0。在这个系统中,最左边图形的点是0,0,1/4,sqrt2/4,1/2,0,3/4,-sqrt2/4和1,0

其他图表通过某种方法进行计算。听上去你的问题是要把它放在屏幕上,所以我会继续。将其安装到屏幕上的方法相同

从那里,你有一个屏幕坐标系。每个点都被转换到屏幕上。假设你有一个1000乘1000的屏幕,屏幕坐标0,0在左上角。如果要占据整个屏幕,请执行以下操作:

翻转屏幕上的y坐标+y向下 确定任意坐标1代表x,sqrt2/2代表y的x和y全范围 将x值乘以1000,将y值乘以2000/sqrt2以扩展到屏幕。 从y值中减去500以使图像在y方向居中。
这看起来是递归的工作。您使用的是什么图形库?摆动AWT?SWT?这将对答案产生影响。如果Swing,考虑使用图中出现的组件或缓冲区的尺寸,并将X和Y建立在这一点上。至于角度,只不过是三角。在尝试提交代码之前,我会先在纸上解决这个问题,在给定任意两点的情况下,我会计算出角度和线段。你被困在哪里了?@HovercraftFullOfEels我正在使用AWT和Swing,窗口是1乘1。我刚刚算出了最佳的x和y坐标,我将在下面发布。@HovercraftFullOfEels我使用了trig,但没有成功??。。。窗户是1乘1??你这是什么意思?