Re: Шлях на математичну вершину
Тобто без if'а, котри би змінював формулу пошуку Y на формулу пошуку X - намалювати лінію не вийде, чи не так?
І навіть якщо я б написав отой if і оброблював все так, як треба, то все одно, довжина катета і значення кута ніфіга не лінійне, і навіть від 0 до 45 градусів. Тому рівномірна лінія тут не вийшла б.
Під рівномірною лінією я маю на увазі масив точок, котрі лежать на одній прямій і мають рівні проміжки між собою.
Але ж мені потрібно гарно і рівномірно розставити той масив точок, аби вони собою являли красиву пряму!
Найлегший спосіб, котрий я вже давно реалізував і помалював прямі з його допомогою виглядає наступним чином.
Нехай у нас є дві точки P1 і P2, і обмежене полотно, на котрому потрібно зобразити пряму від краю до краю.
1. d = P2-P1 - отримуємо вектор напрямку
2. dn = normalize(d) - нормалізуємо отриманий вектор
3. Додаємо отриманий нормалізований вектор до точки P1, доки не дідемо до кінця полотна
4. Інвертуємо вектор, аби він дивився в іншу сторону, і додаємо його до точки P1, доки не дійдемо до іншого кінця полотна.
Спосіб дуже простий, але вимагає два цикла, що мені не подобається. А щоб був один цикл, то потрібно знайти точку P0 - котра лежить на краю полотна і на прямій одночасно, і вже до неї додавати нормалізований вектор напрямку.