Games101作业0(vscode连接VB虚拟机)

2023-09-14 12:36:24

作业0

配置环境:

基本配置在pa0中都有,下面介绍使用vscode连接VB虚拟机快捷开发

vscode连接VB虚拟机

1.用户名

可以看到Username为cs18并非为css180

2.密钥

在window主机生成密钥

ssh-keygen #一路回车

3.VB虚拟机配置ssh

  • sshd_config配置
cd /etc/ssh/
vim sshd_config 

复制以下粘贴到文末:

其实主要修改为:

PermitRootLogin yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys
PasswordAuthentication yes
PermitEmptyPasswords yes
  • 放置公钥 到下面文件 没有就新建
~/.ssh/authorized_keys
  • 重启ssh服务
sudo service ssh restart

4.虚拟机网卡

按下图设置后保存

在这里插入图片描述

查看地址

ifconfig

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

复制红线地址

在window cmd下测试连接

 ssh cs18@地址

可进入虚拟机则进入下一步

5.vscode连接
在这里插入图片描述

输入

 ssh cs18@地址

如果连接不上则进行 vscode ssh配置

在这里插入图片描述

Host 地址
  HostName 地址
  User cs18
  Port 22
  IdentityFile "C:\Users\你的用户名\.ssh\id_rsa"

至此配置完成 可以愉快的在windows上写代码了,与实际没有差异,任何跳转\提示功能健全

答案:

Main.cpp

#include<cmath>
#include<eigen3/Eigen/Core>
#include<eigen3/Eigen/Dense>
#include<iostream>
#include "Point2D.h"
using namespace std;

void example();
void rotate_point(Point2D &point,float theta); 


int main(){
    Point2D point;
    point.x = 2.0f;
    point.y = 1.0f;
    rotate_point(point,45);
    cout<<point.x<<endl;
    cout<<point.y<<endl;
}

void rotate_point(Point2D &point,float theta) {
    theta = theta/180.0*acos(-1);
    Eigen::Matrix2f rotate_matrix;
    rotate_matrix << cos(theta) ,-sin(theta),
                     sin(theta) , cos(theta);
    Eigen::Matrix<float,2,1>  point_matrix;
    point_matrix <<  point.x,point.y;
    Eigen::Matrix<float,2,1>  result = rotate_matrix * point_matrix;
    point.x = result[0];
    point.y = result[1];
}

void example() {
     // Basic Example of cpp
    std::cout << "Example of cpp \n";
    float a = 1.0, b = 2.0;
    std::cout << a << std::endl;
    std::cout << a/b << std::endl;
    std::cout << std::sqrt(b) << std::endl;
    std::cout << std::acos(-1) << std::endl;
    std::cout << std::sin(30.0/180.0*acos(-1)) << std::endl;

    // Example of vector
    std::cout << "Example of vector \n";
    // vector definition
    Eigen::Vector3f v(1.0f,2.0f,3.0f);
    Eigen::Vector3f w(1.0f,0.0f,0.0f);
    // vector output
    std::cout << "Example of output \n";
    std::cout << v << std::endl;
    // vector add
    std::cout << "Example of add \n";
    std::cout << v + w << std::endl;
    // vector scalar multiply
    std::cout << "Example of scalar multiply \n";
    std::cout << v * 3.0f << std::endl;
    std::cout << 2.0f * v << std::endl;

    // Example of matrix
    std::cout << "Example of matrix \n";
    // matrix definition
    Eigen::Matrix3f i,j;
    i << 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0;
    j << 2.0, 3.0, 1.0, 4.0, 6.0, 5.0, 9.0, 7.0, 8.0;
    // matrix output
    std::cout << "Example of output \n";
    std::cout << i << std::endl;
    // matrix add i + j
    // matrix scalar multiply i * 2.0
    // matrix multiply i * j
    // matrix multiply vector i * v

    return ;
}

Point2D.h

class Point2D
{
private:
    /* data */
public:
    float x;
    float y;
};

Point2D.cpp

#include "Point2D.h"

run.sh 快捷编译

cmake ./ &&
cd ./build
make 
if [ $? -ne 0 ]; then
    echo "\033[1m\033[40;31m编译失败,本次结果为上一次成功的运行结果\033[0m";
    ./Transformation
    exit;
else
    echo "\033[1m\033[40;32m编译成功\033[0m"
    ./Transformation
fi

作业0

配置环境:

基本配置在pa0中都有,下面介绍使用vscode连接VB虚拟机快捷开发

vscode连接VB虚拟机

1.用户名

可以看到Username为cs18并非为css180

2.密钥

在window主机生成密钥

ssh-keygen #一路回车

3.VB虚拟机配置ssh

  • sshd_config配置
cd /etc/ssh/
vim sshd_config 

复制以下粘贴到文末:

其实主要修改为:

PermitRootLogin yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys
PasswordAuthentication yes
PermitEmptyPasswords yes
  • 放置公钥 到下面文件 没有就新建
~/.ssh/authorized_keys
  • 重启ssh服务
sudo service ssh restart

4.虚拟机网卡

按下图设置后保存

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

查看地址

ifconfig

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

复制红线地址

在window cmd下测试连接

 ssh cs18@地址

可进入虚拟机则进入下一步

5.vscode连接

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

输入

 ssh cs18@地址

如果连接不上则进行 vscode ssh配置

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Host 地址
  HostName 地址
  User cs18
  Port 22
  IdentityFile "C:\Users\你的用户名\.ssh\id_rsa"

至此配置完成 可以愉快的在windows上写代码了,与实际没有差异,任何跳转\提示功能健全

答案:

Main.cpp

#include<cmath>
#include<eigen3/Eigen/Core>
#include<eigen3/Eigen/Dense>
#include<iostream>
#include "Point2D.h"
using namespace std;

void example();
void rotate_point(Point2D &point,float theta); 


int main(){
    Point2D point;
    point.x = 2.0f;
    point.y = 1.0f;
    rotate_point(point,45);
    cout<<point.x<<endl;
    cout<<point.y<<endl;
}

void rotate_point(Point2D &point,float theta) {
    theta = theta/180.0*acos(-1);
    Eigen::Matrix2f rotate_matrix;
    rotate_matrix << cos(theta) ,-sin(theta),
                     sin(theta) , cos(theta);
    Eigen::Matrix<float,2,1>  point_matrix;
    point_matrix <<  point.x,point.y;
    Eigen::Matrix<float,2,1>  result = rotate_matrix * point_matrix;
    point.x = result[0];
    point.y = result[1];
}

void example() {
     // Basic Example of cpp
    std::cout << "Example of cpp \n";
    float a = 1.0, b = 2.0;
    std::cout << a << std::endl;
    std::cout << a/b << std::endl;
    std::cout << std::sqrt(b) << std::endl;
    std::cout << std::acos(-1) << std::endl;
    std::cout << std::sin(30.0/180.0*acos(-1)) << std::endl;

    // Example of vector
    std::cout << "Example of vector \n";
    // vector definition
    Eigen::Vector3f v(1.0f,2.0f,3.0f);
    Eigen::Vector3f w(1.0f,0.0f,0.0f);
    // vector output
    std::cout << "Example of output \n";
    std::cout << v << std::endl;
    // vector add
    std::cout << "Example of add \n";
    std::cout << v + w << std::endl;
    // vector scalar multiply
    std::cout << "Example of scalar multiply \n";
    std::cout << v * 3.0f << std::endl;
    std::cout << 2.0f * v << std::endl;

    // Example of matrix
    std::cout << "Example of matrix \n";
    // matrix definition
    Eigen::Matrix3f i,j;
    i << 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0;
    j << 2.0, 3.0, 1.0, 4.0, 6.0, 5.0, 9.0, 7.0, 8.0;
    // matrix output
    std::cout << "Example of output \n";
    std::cout << i << std::endl;
    // matrix add i + j
    // matrix scalar multiply i * 2.0
    // matrix multiply i * j
    // matrix multiply vector i * v

    return ;
}

Point2D.h

class Point2D
{
private:
    /* data */
public:
    float x;
    float y;
};

Point2D.cpp

#include "Point2D.h"

run.sh 快捷编译

cmake ./ &&
cd ./build
make 
if [ $? -ne 0 ]; then
    echo "\033[1m\033[40;31m编译失败,本次结果为上一次成功的运行结果\033[0m";
    ./Transformation
    exit;
else
    echo "\033[1m\033[40;32m编译成功\033[0m"
    ./Transformation
fi
更多推荐

在适用于 Linux 的 Windows 子系统上安装 React

🎬岸边的风:个人主页🔥个人专栏:《VUE》《javaScript》⛺️生活的理想,就是为了理想的生活!目录必备条件安装React将React添加到现有的Web应用本指南介绍如何使用create-react-app工具链在适用于Linux的Windows子系统(WSL)上运行的Linux分发版(如Ubuntu)上安装

聊聊交互设计师的成长 优漫动游

1.交互设计师应当具备的能力聊聊交互设计师的成长如果我们简单的将用户体验领域涉及到的技能分为:用户研究、产品(概念/功能)设计、交互设计、视觉设计、工程技术,我认为任何一个交互设计师和视觉设计师等等,都应该具有整体的复合技能,只是哪部分更多哪部分更少的问题。1)用户研究:对于交互设计师,不具备基本的用户研究能力,无法吸

AMS爆炸来袭,上线即巅峰

1.关于首发项目Antmons(AMS)空投结果Gate.ioStartup首发项目Antmons代币AMS于Aug15th,AM07:00开始下单,24小时内下单同等对待总共有15,950人下单,下单总价值超过1,000万美金分发系数约为0.001640495298341。根据上线规则AMS项目认购成功,Gate.i

跨进程数据共享技术

跨进程数据共享技术是指在不同的计算进程之间实现数据共享的方法和技术。这种技术通常用于多任务操作系统或分布式系统中,以便不同的程序或进程能够在运行时共享数据,从而实现协同工作或实现某些特定的功能。以下是一些常见的跨进程数据共享技术:进程间通信(Inter-ProcessCommunication,IPC):IPC是一种广

SpringBoot+Jpa+Thymeleaf实现增删改查

SpringBoot+Jpa+Thymeleaf实现增删改查这篇文章介绍如何使用Jpa和Thymeleaf做一个增删改查的示例。1、pom依赖pom包里面添加Jpa和Thymeleaf的相关包引用<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://mave

Linux 信号集 及其 部分函数

这几个函数都是对自己自定义的信号集操作intsigemptyset(sigset_t*set)功能:清空信号集中的数据,将所有的标志位置为0参数:set需要操作的信号集返回值:成功0失败-1intsigfillset(sigset_t*set)功能:清空信号集中的数据,将所有的标志位置为1参数:set需要操作的信号集返

数据结构---二叉搜索树

二叉搜索树二叉搜索树什么是二叉搜索树?二叉搜索树的操作查找插入删除源代码非递归版二叉搜索树什么是二叉搜索树?二叉搜索树(BinarySearchTree简称BST)又称二叉排序树,是一种二叉树的特殊形式,它在每个节点上存储的键值满足以下性质:若它的左子树不为空,则左子树上的所有节点的值都小于根节点的值若它的右子树不为空

数据结构--7.1散列表(哈希表)查找

散列表查找我们要在a[]中查找key关键字的记录:——顺序表查找:挨个儿查找——有序表查找:二分法查找——散列表查找记录的存储位置=f(关键字)散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)。这里我们把这种对应关系f称为散列函数,又成为哈希(Hash

EM算法和VAE的学习笔记

文章目录摘要EM算法流程EM算法对GMM的参数估计EM算法的证明EM算法的另一种理解VAE参考文献摘要这是我学习EM算法(Expectation-MaximizationAlgorithm)和VAE(VariationalAuto-Encoder)的学习笔记,首先总结了EM算法流程,然后举了一个例子,用EM算法对GMM

【karle 笔记】QQ机器人jdk17版本下载和安装

这里写自定义目录标题下载地址安装JDK:安装JRE验证安装成功下载地址https://download.oracle.com/java/17/latest/jdk-17_windows-x64_bin.exe下载后,是一个exe文件,傻瓜式安装即可安装JDK:直接用安装包安装,默认安装路径在:C:\ProgramFil

ChatGPT技术原理

目录一、Tokenization二、Transformer模型三、预训练四、微调五、Beamsearch总结自从OpenAI的ChatGPT在2022年底横空出世以来,这款大型语言模型在各种任务中都展现了惊人的性能,包括问答、对话、文本生成等。ChatGPT以其卓越的性能和高效的处理能力,引领了自然语言处理(NLP)领

热文推荐