Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >生成带有坐标的图像

生成带有坐标的图像
EN

Stack Overflow用户
提问于 2020-01-30 12:18:20
回答 4查看 126关注 0票数 0

我希望你能帮我解决我的问题。

我想构建一个像这样的在线学习类型测试:

http://till.schnupp.net/honey-mumfort/

问题是用德语写的,脚本是用JS写的。我得到了几乎所有的东西,以及这个脚本的作者是如何通过构建问题和可视化问题来解决部分问题的。现在我不明白的是,他是如何使用用户输入来可视化用户输入的。用户输入用于在坐标系中生成4个点。

我如何在PHP或JS中做到这一点?

http://till.schnupp.net/honey-mumfort/result.php?14&4&5&20

14、4、5、20例如是用户输入,然后将其从js传送到resulat.php

例如,现在您可以看到这张图片。

Example Picture from the Site

你可以参考一下php或者js,我可以用它们来解决这个问题吗?

EN

回答 4

Stack Overflow用户

发布于 2020-01-30 12:35:05

“他如何能够使用用户输入,以可视化用户输入”

如果您查看HTML,您将看到:

代码语言:javascript
运行
AI代码解释
复制
<input type="checkbox" name="yes80" value="P" onclick="onoff(80,yes80,no80)">

代码语言:javascript
运行
AI代码解释
复制
<input type="checkbox" name="yes80" value="A" onclick="onoff(80,yes80,no80)">

每个checkbox被赋予一个值A,P,R或T。JavaScript只是简单地循环通过复选框,将所有的A,P的R和T相加,然后将这些值传递给php代码。

票数 1
EN

Stack Overflow用户

发布于 2020-01-30 12:45:40

Dmitriy

非常感谢您的贡献。

@Jeff

我不知道的是这些值是如何用来绘制这个坐标系的。有没有一个php函数可以绘制图片并使用这些值作为点?

@m.dmitriy

有没有可能使雷达看起来像一个坐标系,有两个轴?

我想如果我只定义了4个标签,它应该是这样画的吗?

谢谢

票数 0
EN

Stack Overflow用户

发布于 2020-01-30 15:40:37

您可以尝试使用SVG来做到这一点。(codepen here)

为了简单起见,我会试着根据图画来解释我的想法:

  1. 紫色区域是svg容器本身
  2. 蓝色区域是div容器
  3. 橙色区域是相对于紫色svg容器中心的对称多边形,例如
  4. 黄色多边形是可以通过输入

<>G211更改的元素

fig.1所示,svg系统的起点位于左上角的(0,0)。因为您希望将图形保留在center中,所以坐标将具有width的一半或height的一半

基本上,这个(x,y)坐标是按顺时针顺序排列的

  • top : x/2,input
  • right : input,y/2
  • bottom: x/2,input
  • left : input,y/2

如你所见,顶部和底部是相同的,区别是中心线,在它上面或后面,如图2所示。我们没有xy轴,所以我们使用现有的widthheight轴,因此所有计算都是相对于WH的。与在fig.3中一样,右侧和左侧相对于蓝线,如果输入小于x/2,则点将在左侧。

代码语言:javascript
运行
AI代码解释
复制
let svgElement = document.getElementById("mySvg")
let svgWidth = svgElement.getAttribute("width");
let svgHeight = svgElement.getAttribute("height");

//             x     ,  y  |  x  ,    y      |     x     ,  y  |  x  ,    y
// points: svgWidth/2,input input,svgHeight/2 svgHeight/2,input input,svgHeight/2
document.getElementById("newSvg").addEventListener("click", function(){
  let topValue = document.getElementById("top").value;
  let rightValue = document.getElementById("right").value;
  let bottomValue = document.getElementById("bottom").value;
  let leftValue = document.getElementById("left").value;

  let svgNewPoints = svgWidth/2 +"," + topValue + " " + rightValue +"," + svgHeight/2 + " " + svgHeight/2 + "," + bottomValue + " " + leftValue + "," + svgHeight/2

  console.log(svgNewPoints)

  document.getElementById("myPolygon").setAttribute("points", svgNewPoints);
});
代码语言:javascript
运行
AI代码解释
复制
#conatainer{
  width: 350px;
  height: 350px;
  background-color: #3458eb;
}
#mySvg{
  background-color: #4b3a8c;
}

.warning{
  color: red;
} 

.textAxis{
  color: white
}
代码语言:javascript
运行
AI代码解释
复制
<div id="conatainer"> <!-- blue -->
  <svg id="mySvg" width="300" height="300" version = "1.1">
    <!-- perfect polygon as example -->
    <polygon points = "150,10  290,150 150,290 10,150 " fill="#ff8000" stroke = "black" stroke-width = "2"/> 
    <!-- your yellow editable polygon -->
    <polygon id="myPolygon" points = "150,20 190,150 150,250 70,150 " fill = "#ffb300" stroke = "black" stroke-width = "2"/> 
    <text x="170" y="20" fill: "white" >Y</text>
    <line x1="150" y1="0" x2="150" y2="300" stroke="black" /> <!-- y axis -->
    <text x="290" y="140" fill: "white" >X</text>
    <line x1="0" y1="150" x2="300" y2="150" stroke="black" /> <!-- x axis -->
  </svg>
</div>

<div id="controls" >

  <div class ="myInput">
    <label for="top">Top</label>
    <input id="top" value="20">
    <label class="warning"  for="male"> smaller than height/2</label>
  </div>

  <div class ="myInput">
    <label for="right">Right</label>
    <input id="right" value="190">
    <label class="warning"  for="male"> bigger than width/2</label>
  </div>

  <div class ="myInput">
    <label for="bottom">Bottom</label>
    <input id="bottom" value="250">
    <label class="warning" for="male"> bigger than height/2</label>
  </div>

  <div class ="myInput">
    <label for="left">Left</label>
    <input id="left" value="70">
    <label class="warning"  for="male">smaller than width/2</label>
  </div>

  <button id="newSvg"> Resize </button>
</div>

我试着尽可能简单地解释,如果你有问题,请随时提问。基于这个想法,您可以尝试制作自己的系统。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59985898

复制
相关文章
POI如何往单元格中写公式并计算demo
转载自文章:https://blog.csdn.net/zengdongwen/article/details/103490661
在水一方
2022/12/07
1K0
使用Python获取Excel文件中单元格公式的计算结果
假设有如下Excel文件,其中第二个WorkSheet中数据如下: 其中D列为公式,现在要求输出该列公式计算的数值结果,代码如下: 代码运行结果:
Python小屋屋主
2018/04/16
4.1K0
使用Python获取Excel文件中单元格公式的计算结果
【Excel】用公式提取Excel单元格中的汉字
昨天一个前端的朋友找我帮忙用excel提取代码中的汉字(字符串),可算费了劲儿了,他要提取的内容均在单引号中,但问题是没有统一的规律,同一个单元格可能存在多个要提取的内容,而且汉字中间也夹杂其他字符。
数据科学社区
2018/06/11
8.6K0
如何在合并单元格使用公式计算装车时间
接下来如何获得每个单元格最开始的行号(例如2)和最末尾的行号(例如7)呢,这需要根据合并单元格数量进行分组
但老师
2022/03/22
7940
如何在合并单元格使用公式计算装车时间
如何在合并单元格使用公式计算装车时间
接下来如何获得每个单元格最开始的行号(例如2)和最末尾的行号(例如7)呢,这需要根据合并单元格数量进行分组
但老师
2021/01/22
1.1K0
如何在合并单元格使用公式计算装车时间
Excel公式练习:合并单元格中的条件求和
引言:本文的练习整理自chandoo.org。多一些练习,想想自己会怎么解决这个问题,看看别人又是怎样解决的,这样能够快速提高Excel公式编写水平。
fanjy
2022/11/16
2.5K0
Excel公式练习:合并单元格中的条件求和
Excel公式技巧100:遍历单元格中的数据
有时候,我们需要从单元格数据中提取出满足条件的值。例如,下图1所示的单元格B3中的数据“NO13859724621”,我们想要得到相邻两个数字组成的最大的两位数。
fanjy
2021/07/30
6.5K0
Excel公式技巧27: 在条件格式中使用公式来突出显示单元格
条件格式与公式相配合,往往能够发挥很大的威力,其中之一就是用来突出显示单元格。如下图1所示,在“新建格式规则”对话框中:
fanjy
2020/04/14
3.3K0
Excel公式技巧27: 在条件格式中使用公式来突出显示单元格
Percona & SFX:计算型存储在PostgreSQL中的价值
早前,ScaleFlux委托Percona对其最新的下一代可计算存储设备CSD 2000进行标准评测。一份客观的评测报告需要尽可能地直观并尊重事实,因此我们会着重关注测试中不同寻常的地方。
老叶茶馆
2021/03/30
1.9K0
Percona & SFX:计算型存储在PostgreSQL中的价值
Excel公式技巧98:总计单元格文本中的数字
有些需求看起来很特别,但有时候确实会发生,而这往往是由于数据不规范造成的,例如下图1所示的示例。
fanjy
2021/07/12
1.3K0
Excel公式技巧98:总计单元格文本中的数字
Excel公式技巧75:查清与公式相关的单元格
在使用Excel时,我们肯定会使用公式。这些公式要么会引用其他的单元格,要么会被其他单元格引用。下面我们先看看这两种情况,如下图1所示。
fanjy
2021/01/06
1.7K0
Excel公式技巧95:统计文本单元格的神秘公式
需要弄明白的是,空字符串与空单元格不同。空单元格中没有任何内容,空字符串是不显示任何结果的公式的结果。这通常是通过使用两个双引号来实现的,它们之间没有任何内容:
fanjy
2021/07/12
1.6K0
Excel公式技巧95:统计文本单元格的神秘公式
Excel 公式、图表以及单元格的操作
SUM 函数将值相加,可以将单个值、单元格引用或是区域相加,或者将三者的组合相加。例如: =SUM(A1:A3)将单元格 A1:A3 中的值加在一起,=SUM(A1:A3,B1:B3)将单元格 A1:A3 以及单元格 B1:B3 中的值加在一起。语法:SUM(number1,[number2],…),number1(必需):要相加的第一个数字。该数字可以是 4 之类的数字,A1 之类的单元格引用或 A1:A3 之类的单元格范围。number2(可选):要相加的第二个数字。可以按照这种方式最多指定 255 个数字。下面我们来看怎么通过 Python 使用 SUM 函数。代码如下:
芯动大师
2022/11/15
1.3K0
Excel 公式、图表以及单元格的操作
Excel技巧:锁定包含公式的单元格
有时候,我们想保护工作表中的公式,不让用户能够随便修改,但是又不想限制用户编辑除公式之外的数据。此时,不能够简单的使用“保护工作表”命令,稍微需要添加一点技巧来实现。
fanjy
2022/06/04
3.1K0
Excel技巧:锁定包含公式的单元格
excel公式固定与同一个单元格进行计算
在使用excel进行公式计算的时候,通过将鼠标放在计算好的单元格右下角,十字后下拉,可以对以下多行进行同一个公式生效,但是这样有个问题,比如:
蓓蕾心晴
2022/06/30
1.1K0
整数、浮点数在计算机中的存储
  计算机要处理的信息是多种多样的,如数字、文字、符号、图形、音频、视频等,这些信息在人们的眼里是不同的。但对于计算机来说,它们在内存中都是一样的,都是以二进制的形式来表示。要想学习编程,就必须了解二进制,它是计算机处理数据的基础。
mukekeheart
2019/09/29
1.8K0
整数、浮点数在计算机中的存储
Excel公式练习84:提取单元格中的10位数字
今天的练习是:如下图1所示的数据,每个单元格中包含由换行符分隔的3个数字,现在需要提取其中10位长的数字,如图1中的B列所示。
fanjy
2021/07/12
2.3K0
Excel公式练习84:提取单元格中的10位数字
Excel实用公式6:求每隔n行中的单元格之和
很多时候,我们都可能想要对每隔n行中的单元格求和,其中n是一个整数。如下图1所示,每隔1行求和、每隔2行求和、每隔3行求和,等等。
fanjy
2019/08/20
4.5K0
Excel实用公式6:求每隔n行中的单元格之和
Excel公式技巧90:剔除单元格区域中的空单元格
有时候,在一列数据中有许多空单元格,导致数据不连续,我们需要剔除这些空单元格,让数据区域连起来。
fanjy
2021/07/12
4.6K0
Excel公式技巧90:剔除单元格区域中的空单元格
π的计算公式
由于我们只关心小数部分,而该式子的右边只有第一项会出现整数部分,故需要将第一项去除整数部分:
hotarugali
2022/02/28
2.2K0

相似问题

匹配玩家的算法

28

玩家匹配算法

211

游戏中心游戏是否需要向玩家报告他们赢得的成绩?

10

Java -迭代for -循环来创建游戏玩家并设置他们的名字。

32

战舰游戏-如何让玩家放置他们的船?

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文