Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы (http://www.flasher.ru/forum/forumdisplay.php?f=10)
-   -   3d Призма... (http://www.flasher.ru/forum/showthread.php?t=33045)

corsair_net 13.06.2002 13:58

3d Призма...
 
Есть исходники где при помощи прямых и точек строятся кубы в псевдо 3D, а вот нет ли у кого такого же эфекта но с созданием призмы???

[subway]design 13.06.2002 14:05

А кто мешает координаты поменять?

corsair_net 13.06.2002 14:06

да я не разберу как их менять, а то что их менять надо это я давно понял.... А ты не поможешь??

ish 13.06.2002 15:06

http://www.ishlab.ru/proection/ так?

corsair_net 13.06.2002 15:25

да нет, я под словом призма 3гранную пирамиду имею ввиду... (вообще там 4 грани но 4ая- основание...

ish 13.06.2002 16:12

геометрия 10-11 класс, больше ничего и не надо, а движок у всех один :)

corsair_net 13.06.2002 16:25

2 ish
а принцип объяснить можешь??? или исходник дать??

[subway]design 13.06.2002 20:04

Я же недавно кому-то популярно рассказал...

В-общем, так:

1. Нужен 3Д-мир - придумываем: допустим создадим виртуальные пустые объекты-точки:

p=new array();

p[0]=new Object();
p[0].x=10;
p[0].y=10;
p[0].z=10;
...
p[n]=new Object();
p[n].x=40;
p[n].y=40;
p[n].z=40;

Причем переменные X, Y, Z - виртуальные координаты в 3Д. Если тебе сложно уложить в голову это, то нарисуй на листке бумаги пирамиду, и глядя на нее припиши "точкам" (объекты p[..]) нужные числа. Если нужно поворачивать, то воспользуйся формулами (http://www.enlight.ru/faq3d/index.htm ) (они наверняка есть у тебя в движке).

2. Самое главное - рендеринг. Тут важна сортировка граней и перспектива. Коэффициент перспективы равен (dist/(Z+dist), где dist - расстояние от камеры до виртуального центра координат) при направленности оси Z НА тебя, а если ОТ тебя, то: dist/(dist-Z), причем тут dist<0. Этот коэффициент умножаешь на виртуальные x и y, которые превращаются в реальные.

3. Почитай еще, что Ден пишет: http://flash.onego.ru/rus/html/tutor..._3dengine.html


Часовой пояс GMT +4, время: 17:32.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.