Sign in to follow this  

Somehow weird coordinate system, need help

Recommended Posts

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.


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?

Share this post

Link to post
Share on other sites
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 \/

Share this post

Link to post
Share on other sites
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];

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this