vr

20190921

﹥>﹥吖頭↗ 提交于 2019-11-30 06:25:31
A1 100pts 暴力kmp #include<bits/stdc++.h> #define R register int using namespace std; namespace Luitaryi { const int N=100010; char s[N*3],s1[N],s2[N]; int l,l1,l2,nxt1[N],nxt2[N]; vector <int> p1,p2; inline void main() { scanf("%s",s+1); R p=1,q,tmpl=strlen(s+1); while(s[p]!=',') ++p; q=p+1; while(s[q]!=',') ++q; memcpy(s1+1,s+p+1,sizeof(char)*(q-p-1)); memcpy(s2+1,s+q+1,sizeof(char)*(tmpl-q)); l1=q-p-1,l2=tmpl-q,l=p-1; for(R i=2,j=0;i<=l1;i++) { while(j&&s1[i]!=s1[j+1]) j=nxt1[j]; if(s1[j+1]==s1[i]) ++j; nxt1[i]=j; } for(R i=2,j=0;i<=l2;i++) { while(j&&s2[i]!=s2[j+1]) j=nxt2[j]; if(s2[j+1]==s2

干货:VR全景入门教程

痞子三分冷 提交于 2019-11-30 03:50:45
VR全景就是视角超过人的正常视角的图像,而我们这里说的全景特指水平360度,上下360度全能观看的,能看到“天、地”的全景。全景拍摄实际上只是一种对周围景象以某种几何关系进行映射生成的平面图片,只有通过全景拍摄播放器的矫正处理才能成为三维全景。VR全景顾名思义就是给人以三维立体感觉的实景360度全方位图像。 初识VR全景时,大家都会感觉很好奇,也会觉得这么棒的东西肯定是用特别专业特别贵的东西拍摄而成,尤其是VR全景航拍,用俯视的角度来看到自己熟悉的环境的那种新奇而震撼的感觉溢于言表。俗话说得好,工欲善事其事必先利期器,一套好的拍摄装备势必会让你的拍摄事半功倍,但也并不是需要多么专业的设备才能制作出完美的VR全景图。 VR全景图主要分为两大类:地面(室内)VR全景图,航拍VR全景图。 对于各个阶段的全景制作而言,我将其划分为两个个阶段:入门级和专业级。 入门级:对于初次接触VR全景的朋友,由于是兴趣使然,所以我给出的入门级设备包括: 地面(室内):C画幅单反或数码相机+鱼眼镜头+三脚架+全景云台 在此说明: C画幅单反虽然比起全画幅单反拍摄来说要麻烦一些,但是对于初识者是足够了,没必要去买昂贵的全幅单反(推荐尼康D7100,佳能750D) 鱼眼镜头价格差距很大,佳能尼康的原厂鱼眼镜头动辄上万,在这里推荐SAMYANG(三阳)的8mm鱼眼镜头,性价比很高。

VIVE 追踪器 VIVE Tracker VR设备研究

旧城冷巷雨未停 提交于 2019-11-30 01:33:22
设备的冲突 一但打开这追踪器 将会有某一只VR手柄无法启动, 关闭这追踪器 两只VR手柄都能启动 程序中设备的检测 因为是占用手柄的位, 所以可以用手柄的检测方式, 能检测到, 设备号是2 没检测到则为-1 // 右手手柄的设备号一般是3 左手手柄的设备号一般是4 int rightNumber = m_vrSystem->GetTrackedDeviceIndexForControllerRole(vr::ETrackedControllerRole::TrackedControllerRole_RightHand); int leftNumber = m_vrSystem->GetTrackedDeviceIndexForControllerRole(vr::ETrackedControllerRole::TrackedControllerRole_LeftHand); std::cout << "右手号数:" << rightNumber << std::endl; std::cout << "左手号数:" << leftNumber << std::endl; if (rightNumber != 2 && leftNumber != 2) { continue; } 输出位置信息: 与手柄的一样: vr::VRCompositor()->SetTrackingSpace

P4149 [IOI2011]Race 点分治

对着背影说爱祢 提交于 2019-11-29 01:37:55
思路: 点分治 提交:5次 题解: 刚开始用排序+双指针写的,但是调了一晚上,总是有两个点过不了,第二天发现原因是排序时的 \(cmp\) 函数写错了:如果对于路径长度相同的,我们从小往大按边数排序,当双指针出现 \(==k\) 时,即我们应先左移右指针,否则答案可能会变劣(仔细想一想);若反着排序,应该先右移左指针。 #include<bits/stdc++.h> #define R register int using namespace std; namespace Luitaryi { template<class I> inline I g(I& x) { x=0; register I f=1; register char ch; while(!isdigit(ch=getchar())) f=ch=='-'?-1:f; do x=x*10+(ch^48); while(isdigit(ch=getchar())); return x*=f; } const int N=2e5+10,Inf=1e+9; int n,K,cnt,sum,rt,tot,ans=N; bool vis[N]; int vr[N<<1],nxt[N<<1],fir[N],w[N<<1],sz[N],d[N],f[N],b[N],mx[N],mem[N]; inline void add(int

VR游乐园学习(1)—添加游乐项目视频

感情迁移 提交于 2019-11-29 00:11:13
(1)首先需要添加组件“VideoPlayer” source为视频来源,URL为视频路径。 (2)通过脚本控制视频播放,在Quad上挂载 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Video; using VRTK; using System.IO; public class GameItem : MonoBehaviour { public int Index; private VideoPlayer m_VideoPlayer; private void Awake() { m_VideoPlayer = GetComponent<VideoPlayer>(); GameObject.Find("ControllerRight").GetComponent<VRTK_ControllerEvents>().TouchpadReleased += GameItem_TouchpadReleased; GameObject.Find("ControllerLeft").GetComponent<VRTK_ControllerEvents>().TouchpadReleased += GameItem

VR游乐园学习(2)—游乐设备选择场景

蓝咒 提交于 2019-11-28 23:53:59
(一)基础设置 拖入资源库中的“银河”材质球,设置放大参数,使相机包裹其中; 设置Canvas分辨率为1920*1080,RenderMode选为世界空间;调整位置,视图如下所示。 (二)场景选择设置需要设置一个面片,position(0,0,-2000),设置一个空物体(0,0,0),将面片作为空物体的子物体。将GameItem作为预制体,使用代码自动生成。 在游戏运行时,在GameItemSpan下生成GameItem,定义一个Material[],每次选择旋转的角度private float m_Angle; using System.Collections; using System.Collections.Generic; using UnityEngine; using DG.Tweening; public class GameItemSelect : MonoBehaviour { public static GameItemSelect _Instance; public Material[] m_gameItemMatArr; public GameObject go_GameItem; private float m_Angle; public int Index = 0; private void Awake() { _Instance = this; m

[笔记]点分治

一笑奈何 提交于 2019-11-28 22:47:25
基本思路:点分治,是一种针对 可带权树上简单路径统计问题 的算法。对于一个节点,只解决经过这棵子树的根节点的路径,对于子节点问题下推子树。 //当初的主要问题是vis[]在干什么qwq,终于知道了 #include<iostream> #include<cstdio> #include<algorithm> #define R register int using namespace std; #define ull unsigned long long #define ll long long #define pause (for(R i=1;i<=10000000000;++i)) #define In freopen("NOIPAK++.in","r",stdin) #define Out freopen("out.out","w",stdout) namespace Fread { static char B[1<<15],*S=B,*D=B; #ifndef JACK #define getchar() (S==D&&(D=(S=B)+fread(B,1,1<<15,stdin),S==D)?EOF:*S++) #endif inline int g() { R ret=0,fix=1; register char ch; while(!isdigit(ch

Unity插件360 VR Camera Capture Rig学习笔记(附:ffmpeg将序列图片转为视频)

ε祈祈猫儿з 提交于 2019-11-27 03:56:06
360 VR Camera Capture Rig.unitypackage https://assetstore.unity.com/packages/tools/camera/360-vr-camera-capture-rig-53264 (这是一个免费的插件 >.<谢谢开发者) 或者下载链接: https://pan.baidu.com/s/1RDHjJrfB2-VCVbqIBCHciA 不需提取码 *我加了一个LSVRMouseController02.cs的脚本(具有free camera的功能) *如果运行报错可能是需要你改下代码: //Texture WorldIcon = (Texture)Resources.Load("LS_Logo"); Texture WorldIcon ; public override void OnInspectorGUI ( ) { WorldIcon = ( Texture ) Resources . Load ( "LS_Logo" ) ; 来自 https://assetstore.unity.com/packages/tools/camera/360-vr-camera-capture-rig-53264/reviews?page=1&sort_by=recent 把摄像机prefab放入场景,运行项目,就可以截图制作全景图

原生JS实现VR看图特效

瘦欲@ 提交于 2019-11-26 19:49:59
现在很多看车或是看房的网站都有VR看图的效果,看起来比较高端,类似于下面这样的效果: 那么这种效果是如何实现的呢?其实原理很简单,就是连续拍射了多个角度的图片, 然后根据用户的操作加载不同角度的图片。上面这个效果其实也是由多个图片共同完成的,下面这些图片就是在代码中需要引入的图片,它们的角度是连续的。 以下是这个效果的代码实现,由于图片太多,就不一一上传了,大家多看注释,理解其原理即可。 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>原生JS实现VR看图特效</title> <style> body { margin: 0; } img { width: 640px; height: 378px; position: absolute; left: 50%; top: 50%; margin-top: -189px; margin-left: -320px; } </style> <script> window.onload = function () { //被拖动的虚拟数字 var x = 0; var oImg = document.getElementById('img1'); /

sn.exe -vr for test assembly when test signed build

笑着哭i 提交于 2019-11-26 18:38:15
when test signed product, test assemblies should skip verification to test signed product. Also some tool assemblies to reg for test environment also need to skipped verification. So setup test environment script should do it when build is signed build.    sn [-quiet][option [parameter(s)]] -Vr assembly [ userlist ] [ infile ] Registers assembly for verification skipping. Optionally, you can specify a comma-separated list of user names. If you specify infile , verification remains enabled, but the public key in infile is used in verification operations. Assembly can be specified in the form *,