Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   [Papervision] Геометрия (http://www.flasher.ru/forum/showthread.php?t=182870)

zerAlex2 05.08.2012 12:11

Геометрия
 
Сделал сферу в PV3D, теперь нужно разместить ряд Plane-ов в соотвествии со смещениями по x,y относительно дифузной карты на сфере.
Есть XML c данными о смещении по x и y относительно картинки:
Код:

<plane id="1" shiftX="30"  shiftY="0"      distance="350" scale="20"></p>
<plane id="2" shiftX="235" shiftY="-220" distance="350" scale="20"></p>
<plane id="3" shiftX="663" shiftY="150"  distance="350" scale="20"></p>

Данные читаются в массив planeArray.
И такой код:
Код AS3:

...
sphere_obj = new Sphere(mat, 400, 50, 50);//Сфера с текстурой               
scene.addChild(sphere_obj);
...
var imgW:Number=3400;//Ширина картинки
var imgH:Number=1700;//Высота картинки
var arrCount:Number=planeArray.length;
 
for (var i:Number=0; i<arrCount; i++)
{
 //0-id, 1-shiftX, 2-shiftY, 3-distance, 4-scale
 var id=planeArray[i][1];
 var shiftX=planeArray[i][1];
 var shiftY=planeArray[i][2];
 var distance=planeArray[i][2];
 var scale=planeArray[i][2];
 
 var plane:DisplayObject3D=new Plane(materialOn, scale, scale);
 plane.name="pl"+id;
 planeArray[i][7]=plane.name;
 
 scene.addChild(plane);       
 
 var angleX=shiftX/(imgW/360);//смещение/(пикселей на 1 градус)
 var angleY=(shiftY-(imgH/2))/(imgH/360);//смещение/(пикселей на 1 градус/2)<- 0 находится по центру img
 
 //А тут у меня пробки выбивает (                               
 plane.x=distance*Math.sin(toRadians(angleX));//toRadians - функия перевода в радианы                               
 plane.z=distance*Math.cos(toRadians(angleX));                       
 plane.y=distance*Math.sin(toRadians(angleY));//вот тут затык
 plane.rotationY=angleX;                               
 plane.rotationX=angleY;                               
}

Смещения по X получаются отлично, но как поднять или опустить Plane в соответствии со смщением по Y... сразу же должны меняться координаты Plane по .x и .z Не догоняю.

Добавлено через 54 часа 8 минут
[IMG]http://s2.********************/uploads/images/2012/08/05c4f90f160d6ef641e74f8f64968e5a.jpg[/IMG]
Короче, это чертёж. А как я сделал - не скажу )


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

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