精华内容
下载资源
问答
  • 初始化项目结构

    2020-09-27 19:50:05
    1.初始化项目结构 └─shiyanlou_project ​ │ .gitignore ​ │ README.en.md # 英文 ​ │ README.md # 中文项目简介 ​ │ ​ ├─celery_task # ...​ ├─packages # 外部包,原始的,未配置的:1.七牛云sd

    1.初始化项目结构

    └─shiyanlou_project

    ​ │ .gitignore

    ​ │ README.en.md # 英文

    ​ │ README.md # 中文项目简介

    ​ │

    ​ ├─celery_task # 用来存放celery相关文件

    ​ │ init.py

    ​ │

    ​ ├─db # 数据库相关:1.数据库初始化sql脚本; 2.数据库维护脚本,清

    ​ 理,备份脚本

    ​ ├─logs # 存放日志

    ​ ├─packages # 外部包,原始的,未配置的:1.七牛云sdk;2.阿里云短信;

    ​ ├─scrips # 脚本目录:1.定时任务脚本;2.页面静态化脚本;处理项目脚本

    ​ └─uwsgi_conf # uwsgi配置,日志,pid

    ​ │

    ​ │

    ​ └─syl

    ​ │ apps (python包) # Django各种app模块

    ​ │ libs (python包) # 七牛云sdk+配置

    ​ │ utils (python包) # 小工具,常用函数

    ​ │ static

    ​ │ templates

    ​ │ syl(项目配置)

    ​ │ manager.py

    2.创建Django项目

    root@dev:shiyanlou_project# workon syl 
    (syl) root@dev:shiyanlou_project# cd /aaa/shiyanlou_project/ 
    (syl) root@dev:shiyanlou_project# django-admin startproject syl 
    # 注:创建三个python包, apps、utils、libs
    

    3.创建user模型

    3.1 创建用户模型user

    python ../manage.py startapp user # 创建user模型
    

    3.2 setting.py中注册user模型(第一步)

    INSTALLED_APPS = [
    	'user.apps.UserConfig', 
    ]
    # 注:pycharm无法联想,需要把apps文件夹设置为源根
    

    3.3 syl/urls.py添加主路由(第二步)

    urlpatterns = [ 
    	path('user/', include('user.urls')), 
    ]
    

    3.4 创建 user/urls.py子路由文件(第三步)

    from django.urls import path 
    urlpatterns = [ 
    
    ]
    

    3.5 syl/settings.py中添加apps路径

    # 把apps目录插入,到系统包搜索路径第一个位置中 sys.path.insert(0,os.path.join(BASE_DIR,'apps'))
    

    4.重写Django默认认证用户模型

    4.1 user/models.py创建模型:从写django user

    from django.db import models 
    from django.contrib.auth.models import AbstractUser 
    
    # Create your models here. 
    class User(AbstractUser): 
    	phone = models.CharField('手机号',max_length=20) 
    	img = models.ImageField(upload_to='user',null=True) 
    	nick_name = models.CharField('昵称',max_length=20) 
    	address = models.CharField('地址',max_length=255) 
    	class Meta: 
    		db_table = 'tb_user'
    

    4.2 syl/settings.py中注册自己的用户模型类

    # 注册自己的用户模型类: 应用名.模型名,指定我们重写的User表进行身份验证 
    AUTH_USER_MODEL = 'user.User'
    

    4.3 配置mysql

    '''1.创建mysql数据库''' 
    mysql> create database syldb charset utf8; 
    
    '''2.在syl/settings.py中配置mysql''' 
    DATABASES = { 
    	'default': { 
    		'ENGINE': 'django.db.backends.mysql', 
    		'NAME': 'syldb', # 指定数据库名称:MyCRM 
    		'USER': 'root', 
    		'PASSWORD': '1', 
    		'HOST': '127.0.0.1', 
    		'PORT': '3306',
         }
    }
    

    4.4生成表

    python manager.py makemigrations 
    python manager.py migrate
    
    展开全文
  • Django初始项目结构 syl_project .gitignore README.en.md # 英文 README.md # 中文项目简介 celery_task # 用来存放celery相关文件 ... packages # 外部包,原始的,未配置的:1.七牛云sdk 2.

    Django初始项目结构

    syl_project
    	.gitignore
    	README.en.md				# 英文
    	README.md					# 中文项目简介
    	
    	celery_task						# 用来存放celery相关文件
    			__init__.py				
    	
    	db									# 数据库相关:1.数据库初始化sql脚本 2.数据库维护脚本、清理、备份脚本
    	logs									# 存放日志
    	packages							# 外部包,原始的,未配置的:1.七牛云sdk 2.阿里云短信
    	scrips								# 脚本目录:1.定时任务脚本 2.页面静态化脚本 3.处理项目脚本
    	uwsgi_conf						# uwsgi配置,日志,pid
    
    	syl
    		apps(python包)			# Django各种app模块
    		libs(python包)				# 七牛云sdk + 配置
    		utils(python包)				# 小工具,常用函数
    		static
    		templates
    		syl(项目配置)
    		manager.py
    
    展开全文
  • 目前采用OCC来实现造型,需要保证成形的结果和CATIA的结果一致。因此,首先要分析CATIA中形成的曲线... 中国国家标准有对应的原始英文IGES标准的翻译版本:《GBT 14213-2008初始图形交换规范》或者英文好的直接看...

    目前采用OCC来实现造型,需要保证成形的结果和CATIA的结果一致。因此,首先要分析CATIA中形成的曲线具有什么样的参数,才能用OCC来做出一样的参数曲线来。这一次先用B样条来测试。

           

    1. 首先分析IGES的格式,查阅IGES的标准规范。

      中国国家标准有对应的原始英文IGES标准的翻译版本:《GBT 14213-2008初始图形交换规范》或者英文好的直接看原版《Initial Graphics Exchange Specification, IGES 5.3》

    IGES格式中,K+1代表控制点的个数,M代表基函数的阶数。按照NURBS的定义,设节点向量的个数为A+1,则有A=K+M+1。

    在OCC中,定义L代表控制点个数,Degree代表基函数的阶数,控制点为FlatKnots。按照NURBS定义,有FlatKnots = L+Dgree+1。

    二者本质是相同的,其中,FlatKnots=A+1,L=K+1。

    下面是IGES参数数据段中,对应B样条线(126)的格式定义。

           

    2. 分析CATIA保存的IGES的B样条曲线的参数。

         

    下面以一个B样条曲线为例,来看看CATIA导出的IGES文件的具体内容。

    设三个点坐标为A(1.0,0.0,0.0) B(0.0,0.0,0.0) C(0.0,1.0,1.0) ,按照A,B,C顺序插值获取一个样条线。

    首先用CATIA生成该插值B样条曲线,两端的切矢分别为V1=(-0.959683,-0.198757,-0.198757), V2=(0.346512,0.663298,0.663298)。

    保存为IGES文件作为文本打开,其中样条的参数数据段如下,即7P对应的行。其中红色标记为B样条曲线的类型标记126,K=8,M=5。绿色为节点向量,紫色为权重,蓝色为控制点的坐标,三个一组。课件节点向量1.0对应的重度是3。如果直接插值为3次B样条(2阶连续曲线),该点的重度应该为1。

         

    126,8,5,0,0,1,0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,2.414213562,       7P      4
    2.414213562,2.414213562,2.414213562,2.414213562,2.414213562,1.0,       7P      5
    1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,0.0,0.7171572875,              7P      6
    -0.05857864376,-0.05857864376,0.4757359313,-0.08786796564,
                 7P      7

    -0.08786796564,0.2757359313,-0.08786796564,-0.08786796564,             7P      8

    -0.1071067812,-0.01715728753,-0.01715728753,-0.2485281374,            
    7P      9

    0.2242640687,0.2242640687,-0.2485281374,0.4242640687,                  7P     10

    0.4242640687,-0.1656854249,0.6828427125,0.6828427125,                  7P     11

    -6.898041511E-016,1.0,1.0,8.523144705E-018,2.414213562,0.0,0.0,        7P     12

    0.
    0,0,0;                                                               7P     13

         

     转换为IGES标准中的定义表格形式:

    索引

    名称

    数据

    说明

    1

    K

    8

    K+1为控制点个数

    2

    M

    5

    阶数

    3

    PROP1

    0

    是否平面曲线

    4

    PROP2

    0

    是否闭曲线

    5

    PROP3

    1

    是否多项式

    6

    PROP4

    0

    是否周期

    7

    T(-M)

    0.0

    节点向量第一个

      

    7+A

    T(N+M)

    2.414213562

    节点向量最后一个

    8+A

    W(0)

    1.0

    权重第一个

      

    8+A+K

    W(K)

    1.0

    权重最后一个

    9+A+K

    X(0)

    1.0

    控制点第一个X

    10+A+K

    Y(0)

    0.0

    控制点第一个Y

    11+A+K

    Z(0)

    0.0

    控制点第一个Z

      

    9+A+4*K

    X(K)

    -6.90E-16

    控制点最后一个X

    10+A+4*K

    Y(K)

    1.0

    控制点最后一个Y

    11+A+4*K

    Z(K)

    1.0

    控制点最后一个Z

    12+A+4*K

    V(0)

    8.52E-18

    始参数值

    13+A+4*K

    V(1)

    2.414213562

    终参数值

    14+A+4*K

    XNORM

    0.0

    平面曲线的法向

    15+A+4*K

    YNORM

    0.0

      

    16+A+4*K

    ZNORM

    0.0

      

    那么这样可以看出CATIA采用n=3个点插值出来的B样条曲线默认采用M=5阶的基函数,控制点的个数为3*n。那么n=3个点产生9个控制点。相应的节点向量数量为15。于是对应导出的IGES文件中K=8,M=5,A=14。

    这个与NURBS BOOK中的插值算法有所不同,主要是参数u的初始化方法有所区别。NURBS BOOK中设置初始的u可以采用的主要有三种:

         

        a. 等间距equally space:

        b. 弦长chord length:然后

        c.  向心centripetal method: 然后

         

    再仔细的观察,发现CATIA导出的曲线本质上是采用了第二种弦长法,其方法是在每一个控制点处重度提高到3(重度提高1阶,则连续性降低一阶),并升阶到5阶B样条。结合整体5阶的基函数,其实本质上相当于等效是采用3阶基函数B样条曲线(2阶连续)。将基函数从3阶升到5阶,从而曲线从2阶连续提高到4阶连续。然后各个控制点重度从1增加到3,使控制点处阶数降低2,曲线还是2阶连续。但是为什么CATIA需要这种方式来保存CAD数据,还有待思考。

           

    3. 采用OCC实现相同参数的曲线并保存为IGES。

    OCC可以采用GeomAPI提供的插值API:GeomAPI_Interpolate。也可以用BSplCLib提供的B样条底层算法来实现。建议使用API,会简单许多。 OCC中的GeomAPI_Interpolate插值出来的NURBS曲线为3阶,也就是2阶连续曲线,本质上和CATIA是相同的,只是CATIA升阶了。 GeomAPI插值的流程如下,每一步都不能跳过。

          a. 确定插值点,确定切矢约束

          b. GeomAPI_Interpolate()

          c. 用Load()添加约束

          d. 用Perform()进行插值

          e. 用IsDone()检查计算是否完成

          f. 用Curve()获得样条曲线对象

    另外GeomAPI_Interpolate函数的参数中有两个要注意的地方:

    一是插值点数组TColgp_HArray1OfPnt是一个可以自定义下标范围的类型,而在GeomAPI_Interpolate中要求这个参数的下标从1开始,而不是从0开始。(这个问题找的我吐血,看完插值源代码才明白)

    二是Load()函数要求用两种方式给出切矢约束:每个点的切矢及其标致或者两端点的切矢。如果不需要切矢约束,可以采用前者,随意设置每一个点的切矢,之后设置所有点的标志为false。注意不能跨过Load()函数直接进行Perform()。

    这样直接生成的B样条曲线为3阶(2阶连续),控制点5个。生成的IGES文件参数数据段如下:

         

    126,4,3,1,0,1,0,0.E+000,0.E+000,0.E+000,0.E+000,1.,2.414213562,  0000001P0000001
    2.414213562,2.414213562,2.414213562,1.,1.,1.,1.,1.,1.,0.E+000,   0000001P0000002
    0.E+000,0.528595479,-9.763107294E-002,-9.763107294E-002,         0000001P0000003
    -0.276142375,-9.763107294E-002,-9.763107294E-002,-0.276142375,   0000001P0000004
    0.471404521,0.471404521,0.E+000,1.,1.,0.E+000,2.414213562,       0000001P0000005
    -0.E+000,-0.707106781,0.707106781;                               0000001P0000006
    S      1G      4D      2P      6                                        T0000001

         

    颜色标记与之前的相同,红色标记为B样条曲线的类型标记126,K=4,M=3。绿色为节点向量,紫色为权重,蓝色为控制点的坐标。

    此处发现了一个有趣的地方,这三个点插值获得曲线应该是平面曲线,但是CATIA没有将其标记为平面曲线(见IGES格式参数数据段索引编号为3的数据标记),并且最后一个控制的坐标没有精确为0.0,而是-6.898041511E-016

    为了进一步检验二者是否一致,将OCC生成的IGES导入CATIA,用CATIA的精确测量检查二者最大距离,最大距离结果当然是精确为0。

         

    这样一来,就可以保证在曲线上,用OCC获取的曲线和CATIA获取的曲线精确一致了。但是等等,觉得还是不够?需要导出的阶数也完全一样?好吧,那么只需要进行升阶操作即可,以后再研究。

    代码如下:

     

    Handle(Geom_Curve) curve_test1()
    {
        Handle(TColgp_HArray1OfPnt) pts = new TColgp_HArray1OfPnt(1,3);
        pts->SetValue(1,gp_Pnt(1.0,0.0,0.0));
        pts->SetValue(2,gp_Pnt(0.0,0.0,0.0));
        pts->SetValue(3,gp_Pnt(0.0,1.0,1.0));
        //define points to be interpolated
        GeomAPI_Interpolate interp(pts,Standard_False,1e-6);
        gp_Vec v(0.0,0.0,0.0);
        TColgp_Array1OfVec vtan(v,1,3);
        Handle(TColStd_HArray1OfBoolean) flags = new TColStd_HArray1OfBoolean(1,3,false);
        // define tangents and flags for every pole, any data is ok, not used.
        interp.Load(vtan,flags,Standard_False);
        interp.Perform();
        if ( interp.IsDone() )
        {
        // return curve with default degree
        // if you want to increase degree to 5, use this
        // (interp.Curve())->IncreaseDegree(5);
        return interp.Curve();
        }
        else                    
            return NULL;
    }
         
    void iges_write_test()
    {
        IGESControl_Controller::Init();
        IGESControl_Writer ICW ("MM", 0);
        //creates a writer object for writing in Face mode with millimeters
        //Handle(Geom_Surface) surf = surface_test();
        Handle(Geom_Curve) curve = curve_test1();
        ICW.AddGeom (curve);
        //adds shape sh to IGES model
        ICW.ComputeModel();
        Standard_Boolean OK = ICW.Write ("MyCurveFile.igs");
        //writes a model to the file MyFile.igs                
    }

     

     

     

    这样导出来以后获得的IGES文件内容就和CATIA导出的一模一样了

         

    126,8,5,1,0,1,0,0.E+000,0.E+000,0.E+000,0.E+000,0.E+000,0.E+000, 0000001P0000001
    1.,1.,1.,2.414213562,2.414213562,2.414213562,2.414213562,        0000001P0000002
    2.414213562,2.414213562,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.E+000,   0000001P0000003
    0.E+000,0.717157288,-5.857864376E-002,-5.857864376E-002,         0000001P0000004
    0.475735931,-8.786796564E-002,-8.786796564E-002,0.275735931,     0000001P0000005
    -8.786796564E-002,-8.786796564E-002,-0.107106781,                0000001P0000006
    -1.715728753E-002,-1.715728753E-002,-0.248528137,0.224264069,    0000001P0000007
    0.224264069,-0.248528137,0.424264069,0.424264069,-0.165685425,   0000001P0000008
    0.682842712,0.682842712,0.E+000,1.,1.,0.E+000,2.414213562,       0000001P0000009
    -0.E+000,-0.707106781,0.707106781;                               0000001P0000010
    S      1G      4D      2P     10                                        T0000001

         

    和CATIA导出的IGES文件数据一样,绿色为节点向量,紫色为权重,蓝色为控制点的坐标,三个一组,节点向量1.0对应的重度是3。K=8,M=5,A=14。

    转载于:https://www.cnblogs.com/apango/p/3440238.html

    展开全文
  •  3.7 不可变的原始值和可变的对象引用47  3.8 类型转换48  3.9 变量声明55  3.10 变量作用域56  第4章 表达式和运算符60  4.1 原始表达式60  4.2 对象和数组的初始化表达式61  4.3 函数定义表达式62  4.4 ...
  • tars-cli:TARSCLI-源码

    2021-02-03 16:47:48
    为了简化项目的初始化和使用TARS工作,建立了TARS-CLI。 所有TARS基本文档都在原始TARS存储库。 TARS-CLI只是主构建器界面,它使您能够: 初始化项目。 通过重新加载浏览器并打开通往Internet隧道来启动...
  • 1分钟内能处理手工需几小时才能完成几万行ERP或KingDee原始数据。极力推荐工具之一。 【取唯一值】 能瞬间取任意存储格区域内容为不含重复值唯一值清单,加载到工具中并提供随时随地调用,具有重复加载与...
  • 在这个demo中我们要做就是点击按钮Click后将原始...列名一栏,如果只是添加一列可以直接填入列名,如果是多个列可以用英文逗号将列名隔开或者采用数组格式。 3.最后我们可以在前台初始化时和点击按钮添加列后都...

    在这个demo中我们要做的就是点击按钮Click后将原始对象数组中的姓名列和性别列的添加到新的对象数组中。
    在这里插入图片描述
    1.首先给按钮添加一个点击事件,然后动作的对象选择新的对象数组,执行的动作选择从另一对象数组添加列。
    在这里插入图片描述
    2.对象数组一栏选择原始对象数组;列名一栏,如果只是添加一列可以直接填入列名,如果是多个列可以用英文逗号将列名隔开或者采用数组格式。
    在这里插入图片描述
    3.最后我们可以在前台初始化时和点击按钮添加列后都打印一下新的对象数组的值看一下结果。前台初始化时新的对象数组是空的,点击按钮后原始对象数组的姓名列和性别列则已经添加到新的对象数组中了。
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 测试环境中Chrome中文浏览器就显示英文界面 // const defaultLan = settings.layout.lang || translate.getBrowserLang();</p><p>该提问来源于开源项目:ng-alain/ng-alain</p></div>
  • AES将原始数据分成多个4×4字节矩阵来处理,通过预先定义密钥对每个字节矩阵中每个字节进行异或、替换、移位以及线性变换操作来达到加密目的。密钥长度可以是128,192或256比特。  下面是一个利用Python M2...
  • 由于项目需要,翻译了一部分可以用于我现在项目opencv函数,记录于此,原始英文文档来自于http://blog.csdn.net/mtt_sky/article/details/42607839。 getCudaEnableDeviceCount:返回已安装CUDA设备数量; ...
  • 今天试用InstallAnywhere 2010 Enterprise版本,试做一个多国语言安装包,支持中文简体和英文,安装文件很简单,就几个小文件,按正常操作,应该是十分钟就可以搞定事情,但事情远非如此。下面是语言配置界面: ...
  • 首先将原始定义的初始种群划分为两个相同子种群,采用基于适应度支配思想分别将每个子种群划分为两个子集,Pareto子集和N_Pareto子集;然后将两个子群中适应度较优两个Pareto子集合为新种群。Griewank和...
  • 因 此在赋值后应该及时销毁或者初始化 L2,以免发生不可预见错误。 比较 使用 Contains 方法。 ArrayList Array1=new ArrayList(); Array1.Add("as"); bool b1=Array1.Contains("as"); MessageBox.Show(b1....
  • RNN介绍

    千次阅读 2018-08-20 00:54:25
     RNN的英文全称是Recurrent Neural Networks,即循环神经网络,它是一种对序列数据进行建模的深度模型。序列的数据不太好用原始的神经网络处理。为了解决处理序列建模的问题,RNN引入了隐态h,h可以对序列数据提取...
  • HTTP 常见状态码

    2021-02-27 18:21:53
    以下每个状态码连接,点进去会跳到原始出处,可以查看更详细解释(不过都是英文的)。 1开头表示 :信息性响应 100 Continue 继续 请求的初始部分已经收到,服务器还没有拒绝。服务器打算在完全接收并执行...
  • 具体过程是查找初始网页中链接,提取其中链接网址,利用这个网址产生嵌套网页,该网页上帧是你本地网页,可以放上你广告,该网页下帧就会指向链接网址,之后再将原始网页中这个链接地址改为嵌套网页...
  • 软件介绍: Tag Rename可以重命名MP3音乐,通过MP3音乐内置TAG标签来重新命名你歌曲文件,编辑...打开Tag Rename后,默认的初始界面为英文,从菜单Options中找到Language,然后选择Chinese即可切换到中文版本。
  • 软件介绍: PowerArchiver是一款极限压缩...语言切换步骤:安装后默认的初始界面为英文,如果想使用中文界面,请点击菜单Options-->Change Language-->选择Chinese就是中文版本了。内附注册码,已测试能用。
  • 字符串一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成新字符串。(例如,"ace"是"abcde"一个子序列,而"aec"不是)。 示例 1: s = “abc”, t = “ahbgdc”
  • 字符串一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成新字符串。(例如,"ace"是"abcde"一个子序列,而"aec"不是)。 示例 1: s = "abc", t = "ahbgdc" 思路:1.初始化两...
  • SQLHelper.cs

    热门讨论 2009-03-09 10:22:10
    此方法将返回一个 SqlParameter 对象数组,这些对象已使用缓存(与传递给该方法连接字符串和命令文本相对应)中参数名称、值、方向和数据类型等进行了初始化。 注意: 用作参数集连接字符串通过简单...
  • 谷歌官方的英文BERT-wwm下载地址 FAQ 常见问题答疑 引用 本目录的技术报告 简介 Whole Word Masking (wwm),暂翻译为全词Mask或整词Mask,是谷歌在2019年5月31日发布的一项BERT的升级版本,主要更改了原预...
  • 手机 pdf 阅读器

    2009-02-12 23:00:29
    修正英文单词分词时会多添加一个空行BUG 繁体语言措词上修正 阅读设置中增加一个“文件缓存”选项,默认情况下是开启,在NOKIA手机上会提高UMD等文件表现,但由于测试并不充足,如果程序经常在阅读时出错,...
  • 后面,我对原始版本进行了优化,已完成优化点和可以完成优化点我都列在了下面 。 为什么要把可优化点列出来? 主要是想给哪些希望优化这个 RPC 框架小伙伴一点思路。欢迎大家 fork 本仓库,然后自己进行优化。...

空空如也

空空如也

1 2 3
收藏数 48
精华内容 19
关键字:

初始的原始的英文