Показать сообщение отдельно
Старый 17.02.2011, 19:44
Vektor вне форума Посмотреть профиль Отправить личное сообщение для Vektor Найти все сообщения от Vektor
  № 8  
Ответить с цитированием
Vektor
 
Аватар для Vektor

Регистрация: May 2008
Адрес: Новокузнецк
Сообщений: 219
Записей в блоге: 1
Цитата:
Сообщение от Zebestov Посмотреть сообщение
Менять надо походу четыре пары по одному условию. И если задуматься об организации swap-а для 12 переменных, с явным указанием на конкретную пару... как-то лучше как у меня сейчас:

Код AS3:
// сортируем вершины
if (sy0 > sy1) {
	swap = sy0;
	sy0 = sy1;
	sy1 = swap;
 
	swap = sx0;
	sx0 = sx1;
	sx1 = swap;
 
	swap = u0;
	u0 = u1;
	u1 = swap;
 
	swap = v0;
	v0 = v1;
	v1 = swap;
}
if (sy1 > sy2) {
	swap = sy1;
	sy1 = sy2;
	sy2 = swap;
 
	swap = sx1;
	sx1 = sx2;
	sx2 = swap;
 
	swap = u1;
	u1 = u2;
	u2 = swap;
 
	swap = v1;
	v1 = v2;
	v2 = swap;
}
if (sy0 > sy1) {
	swap = sy0;
	sy0 = sy1;
	sy1 = swap;
 
	swap = sx0;
	sx0 = sx1;
	sx1 = swap;
 
	swap = u0;
	u0 = u1;
	u1 = swap;
 
	swap = v0;
	v0 = v1;
	v1 = swap;
}
По крайней мере свернул и забыл а быстрее точно не будет.
А если попробовать так.
При условии, что значения нужно отдать после сортировки.

Код AS3:
// меняем значения вершин
var swapSy0Sy1:Boolean=false;
var swapSy1Sy2:Boolean=false;
 
if (sy0 > sy1) {
	swapSy0Sy1=true;
}
if (sy1 > sy2) {
	swapSy1Sy2=true;
}
if(swapSy0Sy1){
cord0=sy1
cord1=sy0
}
if(swapSy1Sy2){
cord1=sy2
cord2=sy1
}
__________________
Книги и желание лучшие учителя.