Better angle code to look at sun

This commit is contained in:
Sebastian Piwell
2016-03-25 11:36:04 -04:00
parent 252789ef6e
commit 4e419eb944
3 changed files with 14 additions and 8 deletions

BIN
data/dataplane.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -146,16 +146,22 @@ void DataPlane::render(){
// transform = glm::rotate(transform, _roatation.value()[1], glm::vec3(0,1,0));
// transform = glm::rotate(transform, _roatation.value()[2], glm::vec3(0,0,1));
glm::vec4 vec(1,0,0,1);
vec = transform*vec;
glm::vec4 v(1,0,0,1);
glm::vec3 v1 = glm::vec3(transform*v);
v1 = glm::normalize(v1);
double lt;
glm::vec3 sun_vec =
glm::vec3 v2 =
SpiceManager::ref().targetPosition("SUN", "Earth", "GALACTIC", {}, _time, lt);
sun_vec = glm::normalize(sun_vec);
float angle = acos(glm::dot(sun_vec, glm::vec3(vec))/(glm::length(sun_vec)*glm::length(glm::vec3(vec))));
glm::vec3 v = glm::cross(sun_vec, glm::vec3(vec));
transform = glm::rotate(transform, -angle, v);
v2 = glm::normalize(v2);
float angle = acos(glm::dot(v1,v2));
glm::vec3 ref = glm::cross(v1, v2);
transform = glm::rotate(transform, angle, ref);
// float angle = acos(glm::dot(sun_vec, (vec))/(glm::length(sun_vec)*glm::length(glm::vec3(vec))));
position += transform*glm::vec4(_pscOffset.x, _pscOffset.z, _pscOffset.y, _pscOffset.w);
// std::cout << sun_vec.x << ", " << sun_vec.y << ", " << sun_vec.z << std::endl;

View File

@@ -43,7 +43,7 @@ namespace openspace{
addDataSurface("${OPENSPACE_DATA}/BATSRUS.cdf");
// addDataSurface("${OPENSPACE_DATA}/ENLIL.cdf");
//addTextureSurface("${OPENSPACE_DATA}/test.png");
addTextureSurface("${OPENSPACE_DATA}/test.png");
}
bool DataSurfaceContainer::deinitialize(){}
bool DataSurfaceContainer::isReady() const {}