param

连续bezier曲线的实现

怎甘沉沦 提交于 2020-01-06 04:30:37
需求场景 一系列的坐标点,划出一条平滑的曲线 3次Bezier曲线 基本上大部分绘图工具都实现了3次Bezier曲线,4个点确定一条3次Bezier曲线。以html5中的canvas为例 let ctx = canvas.getContex('2d'); ctx.moveTo(20,20); // 曲线起点 Fom ctx.bezierCurveTo(20,100,200,100,200,20); // 分别为控制点 Ctrl1,Ctrl2, 终点 To 连续Bezier曲线 假定给定点的序列List,我们应该以List中的每个点为起点,其下一个点Next为终点绘制Bezier曲线。 所以问题变成,如何确定这两个点之间的两个Bezier控制点。 每一小段路径From-To的Bezier曲线并不是独立的,其实收到了其前后两个点的影响(Prev,Next) 我们在绘制每一段路径的时候,引入其前点Prev,和后点Next共同计算当前Bezier曲线的控制点Ctrl1,Ctrl2 如图所示 绘制从From到To的Bezier曲线,引入Prev,Next作参考点。 先依次连线4个点,记为线段l1,l2,l3,并求出其中点c1,c2,c3 连接中点,在c1c2上找一点f1, 使 l1:l2 = c1f1:f1c2。也就是 c1f1 = c1c2 * l1/(l1+l2)。我叫它线段比例法

计算地图上两点间的距离PHP类

点点圈 提交于 2020-01-06 03:42:46
计算地图上两点间的距离,使用的是谷歌地图 <?php class GeoHelper { /** * @param int $lat1 * @param int $lon1 * @param int $lat2 * @param int $lon2 * @param string $unit * @return */ public static function distance($lat1, $lon1, $lat2, $lon2, $unit = "K") { $theta = $lon1 - $lon2; $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad ($lat2)) * cos(deg2rad($theta)); $dist = acos($dist); $dist = rad2deg($dist); $miles = $dist * 60 * 1.1515; $unit = strtoupper($unit); if ($unit == "K") { return ($miles * 1.609344); } else if ($unit == "N") { return ($miles * 0.8684); } else { //mi

xml文件的方式实现动态代理基于SpringAOP

不羁岁月 提交于 2020-01-05 05:46:22
1.配置spring容器 导入jar包        com.springsource.net.sf.cglib-2.2.0.jar     com.springsource.org.aopalliance-1.0.0.jar     com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar     commons-logging-1.1.3.jar     spring-aop-4.2.2.RELEASE.jar     spring-beans-4.2.2.RELEASE.jar     spring-context-4.2.2.RELEASE.jar     spring-core-4.2.2.RELEASE.jar     spring-expression-4.2.2.RELEASE.jar 配置xml文件 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:p="http://www.springframework.org/schema/p" 5

简单明了区分escape、encodeURI和encodeURIComponent

寵の児 提交于 2020-01-05 05:16:03
二、escape和它们不是同一类 简单来说,escape是对字符串(string)进行编码(而另外两种是对URL),作用是让它们在所有电脑上可读。 编码之后的效果是%XX或者%uXXXX这种形式。 其中 ASCII字母、数字、@*/+ ,这几个字符 不会 被编码,其余的都会。 最关键的是,当你需要对URL编码时,请忘记这个方法,这个方法是针对字符串使用的,不适用于URL。 事实上,这个方法我还没有在实际工作中用到过,所以就不多讲了。 三、最常用的encodeURI和encodeURIComponent 对URL编码是常见的事,所以这两个方法应该是实际中要特别注意的。 它们都是编码URL,唯一区别就是编码的字符范围,其中 encodeURI方法 不会 对下列字符编码 ASCII字母、数字、~!@#$&*()=:/,;?+' encodeURIComponent方法 不会 对下列字符编码 ASCII字母、数字、~!*()' 所以encodeURIComponent比encodeURI编码的范围更大。 实际例子来说,encodeURIComponent会把 http:// 编码成 http%3A%2F%2F 而encodeURI却不会。 四、最重要的,我该什么场合用什么方法 区别上面说的很清楚了,接下来从实际例子来说说把。     1、如果只是编码字符串,不和URL有半毛钱关系

I'm having issues writing Javadoc comments for main method's @param

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-05 04:17:26
问题 I'm very new to Java and taking an online course with little feedback. I think I have the program completed okay, but my prof requires comments to be done and I've had no guidance on them. My biggest area seems to be the @param comments. I've tried putting different things in there but nothing is correct. Can anyone tell me what I'm doing wrong? Give me a link for easy to read info on @param comments. Here's my code: /** * */ package edu.westga.cs6311.rectangles; import java.awt.Rectangle; /*

(原) ORA-01704:文字字符串过长

最后都变了- 提交于 2020-01-05 03:56:45
环境:oracle 10g ODP.NET VS2005 问题重现: 在利用ODP向oracle中插入数据时,如果这样写: insert into clobTable (id, story) values(1,'....'); 其中story为clob类型 如果story的长度大于2000字节,直接插入将出现 ORA-01704:文字字符串过长 的错误。 解决方案: 方案一、利用参数 insert into clobTable (id, story) values(1,:story); OracleParameter param = new OracleParameter("story", OracleDbType.Clob); param.Direction = ParameterDirection.Input; param.Value = str; cmd.Parameters.Add(param); 方案二、利用存储过程 这个就不用说了,写个存储过程,把参数传入即可。 来源: https://www.cnblogs.com/mjgforever/archive/2007/12/27/1016515.html

vue 对axios get pust put delete 封装

帅比萌擦擦* 提交于 2020-01-05 02:41:49
axios.js import axios from 'axios'; import Qs from 'qs'; import {Message} from 'element-ui'; axios.defaults.baseURL = "/api"; // 设置请求超时时间 axios.defaults.timeout = 30000; // 设置post请求头 axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8'; // 请求拦截 axios.interceptors.request.use(config => { // 在发送请求之前做些什么 验证token之类的 return config; }, error => { // 对请求错误做些什么 Message.error({message: '请求超时!'}) return Promise.error(error); }) // 响应拦截 axios.interceptors.response.use(response => { // 对响应数据做点什么 return response; }, error => { // 对响应错误做点什么 return Promise.reject(error); }); //

SweepGradient

流过昼夜 提交于 2020-01-04 09:11:30
扫描渲染: public class SweepGradient extends Shader { private static final int TYPE_COLORS_AND_POSITIONS = 1 ; private static final int TYPE_COLOR_START_AND_COLOR_END = 2 ; /** * SweepGradient的类型: 可以是TYPE_COLORS_AND_POSITIONS, * 也可以是TYPE_COLOR_START_AND_COLOR_END. */ private int mType ; private float mCx ; private float mCy ; private int [ ] mColors ; private float [ ] mPositions ; private int mColor0 ; private int mColor1 ; /** * 围绕中心点绘制扫描渐变的渲染器。 * * @param cx 中心的x坐标 * @param cy 中心的y坐标 * @param colors 颜色分布在中心周围。数组中必须至少有两种颜色。 * @param positions 可能为空。颜色数组中每个相应颜色的相对位置,从0开始,到1.0结束。 * 如果值不是单调的

绘制三角形(sass)

假如想象 提交于 2020-01-03 08:37:24
绘制三角形 /// draw triangle /// @param {type} $type [''] - triangleUp triangleDown triangleLeft triangleRight /// @param {Size} $border-value-1 /// @param {Size} $border-value-2 /// @param {Size} $border-value-3 /// @param {color} $border-color /// @require @mixin draw-triangle($type: '', $border-value-1: 50px , $border-value-2: 50px, $border-color...) { width: 0; height: 0; @if $border-color != '' { @if $type == 'triangleUp' { border-left: $border-value-1 solid transparent; border-right: $border-value-2 solid transparent; border-bottom: solid $border-color; } @if $type == 'triangleDown' { border

【】正则表达式示例

拥有回忆 提交于 2020-01-03 07:17:06
package com.chinamobile.epic.common.regex; import com.google.common.base.Strings; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.util.CollectionUtils; import java.util.List; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; /** */ public class TargetParamRegexMatches { private static final Logger logger = LoggerFactory.getLogger(TargetParamRegexMatches.class); /** * 从 sourceString 中匹配出 params 中的值 * * @param pattern 正则表达式 * @param sourceString