您好,我对编程很新,我正在尝试创建一个函数,该函数从角落之间的较大三角形中点创建递归三角形,其中新三角形点偏离y值中的正常位置.有关可视化,请参见下面的图片.


第一张图显示了没有任何偏差的递归算法的进展(0,1,2阶),第二张图显示了(阶数0,1).
我已经设法生成了一段代码,它可以为前几个订单创建我想要的东西,但是当我们达到2阶及以上时,我遇到的问题是较小的三角形不使用相同的中点,因此看起来像下图.

所以我需要帮助来存储和调用每个三角形的正确中点.我一直在考虑实现一个新的类来控制中点的计算并存储它们等等,但正如我所说,我需要帮助.
以下是我目前的代码
点类存储点的ax和y值
lineBetween在所选点之间创建一条线
void fractalLine(TurtleGraphics turtle, int order, Point ett, Point tva, Point tre, int dev) {
if(order == 0){
lineBetween(ett,tva,turtle);
lineBetween(tva,tre,turtle);
lineBetween(tre,ett,turtle);
} else {
double deltaX = tva.getX() - ett.getX();
double deltaY = tva.getY() - ett.getY();
double deltaXtre = tre.getX() - ett.getX();
double deltaYtre = tre.getY() - ett.getY();
double deltaXtva = tva.getX() - tre.getX();
double deltaYtva = tva.getY() - tre.getY();
Point one;
Point two;
Point three;
double xt = ((deltaX/2))+ett.getX();
double yt = ((deltaY/2))+ett.getY() …Run Code Online (Sandbox Code Playgroud)