Je code écrit qui génère un rayon de l ' « œil » de la caméra au plan de visualisation à une certaine distance de l'œil de la caméra:Ray Generation Incohérence
R3Ray ConstructRayThroughPixel(...)
{
R3Point p;
double increments_x = (lr.X() - ul.X())/(double)width;
double increments_y = (ul.Y() - lr.Y())/(double)height;
p.SetX(ul.X() + ((double)i_pos+0.5)*increments_x);
p.SetY(lr.Y() + ((double)j_pos+0.5)*increments_y);
p.SetZ(lr.Z());
R3Vector v = p-camera_pos;
R3Ray new_ray(camera_pos,v);
return new_ray;
}
ul
est le coin supérieur gauche de l'affichage plan et lr
est le coin inférieur gauche du plan de visualisation. Ils sont définis comme suit:
R3Point org = scene->camera.eye + scene->camera.towards * radius;
R3Vector dx = scene->camera.right * radius * tan(scene->camera.xfov);
R3Vector dy = scene->camera.up * radius * tan(scene->camera.yfov);
R3Point lr = org + dx - dy;
R3Point ul = org - dx + dy;
Ici, org
est le centre du plan d'observation avec radius
étant la distance entre le plan d'observation et l'œil de la caméra, dx
et dy
sont les déplacements dans les directions x et y de le centre du plan de visualisation. La fonction ConstructRayThroughPixel(...)
fonctionne parfaitement pour une caméra dont l'œil est à (0,0,0). Cependant, lorsque la caméra est dans une position différente, tous les rayons nécessaires ne sont pas produits pour l'image.
Des suggestions ce qui pourrait ne pas aller? Peut-être que quelque chose ne va pas avec mes équations?
Merci pour l'aide.
Je ne pense pas que vous voulez la balise de graphiques vectoriels. Les graphiques vectoriels habituels se réfèrent à un format de fichier qui stocke des données sous une forme qui signifie "dessiner une ligne de (x1, y1) à (x2, y2) avec l'épaisseur t et la couleur c". alors que vous allez stocker des données pixel par pixel, non? – dmckee
Eh bien, J'utilise un format de fichier de scène pour afficher mes graphiques qui stocke des données sous une forme similaire que vous avez décrite, mais ma question n'a rien à voir avec cela. J'ai mal compris ce que "vector-graphics signifie" -.- – Myx