Somehow weird coordinate system, need help

Started by
1 comment, last by Semei 12 years, 8 months ago
Hi, given this type of coordinate system (image) i need a way to get 3 vertex point coordinates (integer, red dots in image: bottom left point being 0, 0 and top right 3, 3) given a triangle coordinate.

y6zrm.png

Basically there are 2x number of elements in X row and they are arranged in triangle patern seen. I have a way made to do this, but its kinda ugly and im wondering if there is some other way to look at this and calculate coordinates without using conditionals?
Advertisement
Looks interesting. Just something cool that I noticed, if you add the X and the Y values together, if the resulting value is even then the triangle is pointing up like /\ or if the resulting value is odd then the triangle is pointing down like \/
Nifty!
Yep, that was the first thing i noticed.

I think i made universal approach by noticing that there is actually 3 types of points if we ignore Y coordinate: left, mid(tip), and top
and made a simple snipped to calculate points like this (mid x coordinate need some work thro):

(Does not work yet i think..)
public void CalculateTriPoints(int triX, int triY)
{
int quadX = triX / 2;
int quadY = triY;

int facing = (triX + triY) % 2;

var pointMID = quadPoints[quadX + (facing - quadY % 2) * (facing - quadY % 2), quadY + (1 - facing)];

var pointLEFT = quadPoints[quadX, quadY + facing];
var pointRIGHT = quadPoints[quadX + 1, quadY + facing];
}

This topic is closed to new replies.

Advertisement