如何设置openTK,以便在以下位置获得正投影:
我目前有这个:
library(tidyr)
library(tibble)
library(stringr)
weights %>%
mutate(rn = row_number()) %>%
rename_at(vars(-rn), ~
str_replace(., "_Q", ":Q") %>%
{case_when(str_detect(., ":") ~ .,
TRUE ~ str_c(., ":A"))}) %>%
pivot_longer(cols = -rn, names_sep=":",
names_to = c("group", ".value"), values_drop_na = TRUE) %>%
split(.$group) %>%
map(~ select(., A, Q) %>%
deframe)
#$Q3A
# 1 2 3 4 5 6 7 8 9 10 11 12
#0.132723112 0.161708619 0.048054920 0.025934401 0.007627765 0.027459954 0.078565980 0.016781083 0.092295957 0.221205187 0.051106026 0.012204424
# 13 14 15 16
#0.043478261 0.021357742 0.035850496 0.023646072
#$Q5_1_REC
# 1 2 3 4
#0.55411585 0.20503049 0.16692073 0.07393293
#$Q5_2_REC
# 1 2 3 4
#0.5923664 0.1396947 0.1320611 0.1358779
#$RECAGE
# 1 2 3 4
#0.1219512 0.3384146 0.3582317 0.1814024
#$RECQ3
# 1 2 3 4
#0.2132521 0.2437167 0.2505712 0.2924600
我不能完全理解正在发生的事情,但是原点现在位于左下角,我也不知道坐标是否与屏幕上的像素匹配。
答案 0 :(得分:0)
Matrix4.CreateOrthographicOffCenter
的参数是left
,right
,bottom
,top
,near
和far
长方体视图体积。
如果视图(ClientRectangle.Y
)的原点必须在顶部,则必须交换top
和bottom
参数:
_projectionMatrix = Matrix4.CreateOrthographicOffCenter(
ClientRectangle.X,
ClientRectangle.X + ClientRectangle.Width,
ClientRectangle.Y + ClientRectangle.Height,
ClientRectangle.Y,
-1.0f, 1.0f);