Войти
ПрограммированиеФорумГрафика

Как разбить треугольник?

#0
11:16, 10 фев. 2003

Есть сфера(R=1), есть равносторонний треугольник с вершинами на сфере.
Нужно разбить треугольник на такую конфигурацию (новые три точки - на середине каждой старой грани)

  /\
/_\
/\ / \
------

Причем три новые точки разместить(как?) на сфере так, чтобы новые четыре тругольнка были тоже равносторонние.

Нахождение центра ребра и сдвиг это точки по вектору радиуса на сферу(нормализация , при R=1) не придлагать.


#1
11:56, 10 фев. 2003

Создавай нужное количество вертексов на этапе создания шара.

#2
15:05, 10 фев. 2003

azi
Товарисщ, а ну прочитайте что Въ написали - надо чтобъ новъе точки бъли в середине граней и чтобъ лежали на сфера, а потом - нахождение центра ребра и нормализацию не предлагать???? Дък ето одно и то же, блин.... вопрос то в чем, не понятно....

#3
15:25, 10 фев. 2003

Zemedelec Вот я и говорю, забебал он.

azi Если тебе надо разное  кол-во треугольков в сфере для отображения в зависимости от расстояние, так сделай несколько различных сфер с разным кол-вом полигонов. И кончай постится по двадцать раз.

#4
15:37, 10 фев. 2003

Zemedelec
Видимо, имеется ввиду что точки должны находиться на ребре, но не обязательно на середине. Потому что если делать
> Нахождение центра ребра и сдвиг это точки по вектору радиуса на сферу(нормализация , при R=1)
то получившиеся треугольники будут неравносторонние.

Я, кстати, сомневаюсь что вообще есть решение.

#5
16:42, 10 фев. 2003

Semen
Если и есть, то точно посередине должнъ бъть точки. Совсем другое дело, что ето возможно только при нескольких вариантах сферъ на которой етот треугольник лежит - (тетрахедрон, куб и икосахедрон). А уж совсем другое дело, что наверно ему и сроду равносторонние не нужни, лишь бъ ближе к ним бъли, но...
Вопросъ задавать, тоже весщь непростая.

#6
16:48, 10 фев. 2003

Zemedelec
Я, конечно, со всем согласен и все такое.

Только вот меня насторожила фраза
> Совсем другое дело, что ето возможно только при нескольких вариантах сферъ на которой етот треугольник лежит - (тетрахедрон, куб и икосахедрон)
Как это может от типа разбиения-то зависеть? Дан треугольник. Соединяем середины ребер. Вопрос - получатся ли равносторонние треугольники?.

Я вот понимаю, что от размеров может зависеть. Но уж никак не от типа разбиения.

Требую извинений!! :))

#7
17:35, 10 фев. 2003

даже если сферу составить из равностороних треугольников тот не факт что она будет "правильная"
получиться что-то типо 6х ерешашах панцирей( ну мне показались похожими на это).

#8
17:38, 10 фев. 2003

Semen
Етот треугольник лежит на сфере, ето ведь часть вопроса. Если в равнине все, то ясно, будут равносторонние все, при условии что и он.
А вот если на сфере, то тогда беря точки в середине ребер, строя вектора и нормализируя их (=R), то тогда новъе треугольники получатся равносторонними, только при определенной curvature етой сферъ.
Ну, то что я сказал про фигуръ - забудте, временное помешательство. :)

#9
17:46, 10 фев. 2003

Kashey
Зависит от детайлизации. Зато намного лучше, чем сфера построенная на сферичной параметризации. А если пошли с куба строить, то такое легко можно затекстурить cubemap-ом, и текстурнъе координатъ сгенерить заодно...

#10
19:42, 10 фев. 2003

Допустим v1, v2, v3 - векторы из центра сферы в каждую из трех точек треугольника, а R - радиус сферы.
Тогда вектор в новую точку будет равен:
v = normalize(v1 + v2 + v3) * R = (v1 + v2 + v3) * (1/3)

#11
20:21, 10 фев. 2003

beavis
тъ не совсем прав. т.е. тъ совсем не прав... :))
никакие ето равносторонние треугольники не даст, а номер с 1/3... просто кул :)

#12
11:24, 11 фев. 2003

Zemedelec
> совсем не прав ...

Точно, это просто способ получить еще одну точку на сфере (не считая 1/3:)
Насколько я понимаю, равносторонний треугольник можно получить только поделив каждую из его граней пополам.

ПрограммированиеФорумГрафика

Тема в архиве.