You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
During the IIIF Annual Conference 2023 the week of June 5 2023, there was discussion of potential requirements and attributes for annotating canvases or 2D content resources within 3D scenes:
Needs a transformation position target to place the canvas into the scene, painting a canvas centroid "origin" point into the scene at the position target
When a canvas is placed into a 3D scene, the "center" of the canvas for 3D purposes should be considered the center of the 2D resource, NOT the top-left 2D origin. In other words, if a canvas with height and width of 200, 400 is placed at the 3D coordinate origin 0, 0, 0, then the 2D canvas point to be placed at the 3D coordinates 0, 0, 0 would be 2D canvas coordinates 100, 200, not 2D canvas coordinates 0, 0.
How do 2D pixels relate to 3D coordinate units, since the two will often exist at wildly different scales? Potentially we could include a scale factor property. Alternately instead of (or in addition to) using a single position transformation point and placing the canvas at that point, the target selector could specify a 2D rectangle area in space to which the canvas would be transformed
Not discussed during the conference, but we should consider whether 2D canvas resources need a normal property of some kind?
The text was updated successfully, but these errors were encountered:
I think we need transforms? For example you would need to target a 0 depth rectangle to annotate in a Canvas, and then rotate it to be on a diagonal on any of the axes. Otherwise you'd be targeting a 3d cube. But if you can rotate, can you also scale? Then it could be that 0,0 of the 2d space is positioned at target point, and then the result is manipulated?
(Unless the interpretation of the cube is that the 2d spans from the top left front, to the bottom right back ... but then how do you do the opposite angle ... I think we need to keep in mind the simple-as-possible maxim here!)
Given more recent discussions, I think this is relatively solved :)
The key point is that the centroid of the 2d content is used as its origin in a 3d environment, not top left, and it has a depth of 0. From there we can apply Transforms on the body of the annotation to manipulate scale, position and rotation.
Question: What happens when you look at the back of 2d content. Is it the content, but mirrored? Is it invisible? Is it a default solid? I would propose the content but mirrored, on the grounds that if you move the camera to an oblique angle to the content it appears like it's flipping around.
Do we require that you get 2D content - bitmap images, video - into a Scene via a IIIF Canvas rather than directly?
Yes! You can't put a JPEG in directly, you have to go via a Canvas.
This means that annotations on the Canvas are available, and new annotations can be made on the Canvas from the Scene context but still target that Canvas rather than Scene space.
Viewers can use Image API if available, that's an implementation detail. You could put a complex AV Canvas with multiple images, audio and video and text on the Canvas, in theory. Viewers might have trouble rendering that but the simple single-content-resource is no harder to do, and requiring the Canvas leaves the door open to many many more use cases.
This issue is IIIF/3d#14 (comment)
Quoted here:
During the IIIF Annual Conference 2023 the week of June 5 2023, there was discussion of potential requirements and attributes for annotating canvases or 2D content resources within 3D scenes:
Not discussed during the conference, but we should consider whether 2D canvas resources need a normal property of some kind?
The text was updated successfully, but these errors were encountered: