三维场景中斜抛运动顶点的生成
三维场景中斜抛运动顶点的生成
- 1 算法思想-斜抛运动
- 2 代码
- 3 参考文献
1 算法思想-斜抛运动
2 代码
void getparabola_vertex_2(glm::vec3 _Point, float _thetaAngle, float _fanAngle)
{float thetaAngle = radians(_thetaAngle);//斜角float fanAngle = radians(_fanAngle);//手柄指向和x轴的夹角;//第一个点float x;float y;float z;/*x_start = x;y_start = y;z_start = z;startPoint = glm::vec3(x_start, y_start, z_start);*/float v0 = 8;float te = 0;float av = 10;//计算落地点需要的时间float parameter_a = -0.5 * av;float parameter_b = v0 * sin(thetaAngle);float parameter_c = _Point.y;float x_solution = getSolution_qe_one_variable(parameter_a, parameter_b, parameter_c);//一次二次方程的解,可以这篇文章的参考文献te = x_solution;glm::vec3 pointFall;float pointfall_y = parameter_c + parameter_b * te + parameter_a * pow(te, 2);//float xTrajectory = 0;//float pointfall;float pointfall_x;float pointfall_z;float v1;float v2;/*if (_fanAngle!=0){*/v1 = v0 * cos(thetaAngle)*cos(fanAngle);//x轴方向的速度v2 = v0 * cos(thetaAngle)*sin(fanAngle);//z轴方向的速度pointfall_x = _Point.x + v1 * te;pointfall_z = _Point.z + v2 * te;/*}else{pointfall_x= _Point.x+ v0 * cos(thetaAngle)*te;pointfall_z = _Point.z;xTrajectory = _Point.x;}*/pointFall = glm::vec3(pointfall_x, pointfall_y, pointfall_z);//落地点的坐标//t=sqrt(_Point.y)//计算顶点float t = 0;y = parameter_c + parameter_b * t + parameter_a * pow(t, 2);float step = te / 15;for (int i = 0; i < 16; i++, t = t + step, y = parameter_c + parameter_b * t + parameter_a * pow(t, 2)){//xTrajectory = xTrajectory + v0 * cos(thetaAngle)*t;x = _Point.x + v1 * t;z = _Point.z + v2 * t;/*if (_fanAngle != 0){x = xTrajectory * sin(fanAngle);z = xTrajectory * cos(fanAngle);}else{x = _Point.x + v0 * cos(thetaAngle)*t;z = _Point.z;xTrajectory = _Point.x;}*/if (i == 15){//最后一个坐标放落地点坐标,这个坐标很重要,需要自己teleportation_2[0 + 6 * 15] = pointFall.x;teleportation_2[1 + 6 * 15] = 0;teleportation_2[2 + 6 * 15] = pointFall.z;teleportation_2[3 + 6 * 15] = 0.5;teleportation_2[4 + 6 * 15] = 0.0;teleportation_2[5 + 6 * 15] = 0.5;}else{teleportation_2[0 + 6 * i] = x;teleportation_2[1 + 6 * i] = y;teleportation_2[2 + 6 * i] = z;teleportation_2[3 + 6 * i] = 0.5;teleportation_2[4 + 6 * i] = 0.0;teleportation_2[5 + 6 * i] = 0.5;}}//遍历顶点数组/*for (int i = 0; i < num_vertex * 6; i++){cout << teleportation[i] << " ";if ((i + 1) % 6 == 0){cout << endl;}}*/
}
3 参考文献
[1].求解一元二次方程的根c++
三维场景中斜抛运动顶点的生成相关推荐
- 使用ArcGIS API和Three.js在三维场景中实现动态立体墙效果
使用ArcGIS API和Three.js在三维场景中实现动态立体墙效果 废话不多说,直接先来看下最终实现的动态立体墙效果图. 如果图片还不够直观,那么点击链接查看在线示例. 首先我们需要用到ArcG ...
- matlab模拟斜抛运动60,大学物理教学改革论文,关于大学物理教学方法改革-Matlab的妙用相关参考文献资料-免费论文范文...
导读:本文是一篇关于大学物理教学改革论文范文,可作为相关选题参考,和写作参考文献. (1.长江师范学院大学物理教研室 重庆 408100, 2.内蒙古工业大学 理学院物理系 内蒙古呼和浩特 01005 ...
- Python + matplotlib.animation 模拟斜抛运动动画(含完整代码)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Abstract Introduction Matplotlib.animation Physics model and C ...
- 三维场景中常用的路径动画
三维场景中常用的路径动画 前言 在三维场景中,除了用逼近真实的模型代表现实中的设备.标识物外,通常还会使用一些动画来表示模型在现实中一些行为和作用.常见的动画比如路径动画.旋转动画.发光动画.流动动画 ...
- 中添加2000坐标系_ArcGIS API for JavaScript 4.16在三维场景中以天地图为底图加载2000坐标系的倾斜摄影数据...
2021年目标 每日更新一篇公众号文章!!! 需求描述 WebGIS项目中如果有三维需求的话,开发中我们经常会遇到倾斜摄影数据,有了倾斜摄影数据之后,我们可以进行生成真实的三维场景等操作. 本文从前端 ...
- 三维场景中创建镜面反射效果(three.js实战9)
创建镜面效果 1. demo效果 2. 实现要点 2.1 创建三维模型 2.2 创建镜面 2.3 场景动画更新 3. demo代码 1. demo效果 2. 实现要点 2.1 创建三维模型 demo中 ...
- Unity 斜抛运动 路径点
1.截图 2.代码介绍 使用Unity自带Rigidbody刚体插件. 代码比较简单:使用Unity的 Rigidbody.velocity 进行位移(不使用AddForce). private ...
- C语言编码小球斜抛运动,利用C4droid绘制小球斜抛运动轨迹(考虑空气阻力)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我把源代码分享出来,欢迎有兴趣的朋友下载测试,修改优化. /*********************************************** ...
- 斜抛运动的最远射程问题
问题概述: 在o点上方高度为h处以速度v抛出一物体,该物体运动一段时间后落到地面p处,问抛出方向与水平方向的夹角是多少时,op有最大值,最大值是多少? 当 时: op有最大值: 题目:迎风舞
最新文章
- 94. 二叉树的中序遍历(迭代)
- Windows下Appium环境搭建(java版)
- .net (object sender, EventArgs e) 学习总结
- loading initial ramdisk 卡住_驿站晨读 | 一城市多家快递“卡住了”!有快递网点直接建议:换别家吧......
- [USACO07NOV]牛继电器Cow Relays
- joptionpane java_Java JOptionPane
- 儿童编程python入门_儿童编程python入门
- hdoj 1257(暴力)
- linux学习查看系统资源和磁盘分区
- java基础——“”equals“”与 “”==“” 的区别
- 云瓣影音网站微信端(已开源)
- php之简单的文件管理(基本功能
- js基础-23-websocket和ajax的区别
- 各大搜索引擎提交入口
- python读取lmdb文件_LMDB 的 Python 接口使用方法
- 扫拖地机器人预留_进阶规划,扫拖一体,小瓦扫地机器人规划版重度体验
- js 获取移动端设备类型及系统版本号
- 域乎X蚂蚁链:打造新购物模式?
- python在线查题_知到题目在线答案查询
- 团队管理的四大挑战——裁人篇
热门文章
- MySQL #格式unicode转汉字
- IO流-转换流-Java
- python | np.squeeze()函数
- 从头开始写STM32F103C8T6驱动库(四)——编写延时函数,详解Systick
- 国庆长假面面观(作者:向阳生涯)
- 极其方便的使用Mybatis单表的增删改查
- 淘宝搜索店铺列表 API 返回值说明
- 免费物流跟踪轨迹订阅接口技术文档-快递鸟
- cmake -D CMAKE_PREFIX_PATH=/home/nvidia/data/wyy/openpose/build
- 基于NodeJS的漫画之家网站