2016年12月22日木曜日

学習環境

開発環境

集合論入門 (基礎数学シリーズ)(松村 英之(著)、朝倉書店)の1.(集合算)、1.6(写像)の練習問題5、6、7.を取り組んでみる。

練習問題 5.

(1. 37)

yf( A )f( B ) yf( A )yf( B ) x 1 A[ f( x 1 )=y ] x 2 B[ f( x 2 )=y ] f( x 1 )=f( x 2 )=y x 1 = x 2 x 1 AB yf( AB )

(1. 44)

b f 1 ( f( B ) ) f( b )f( B ) b 0 B[ f( b 0 )=f( b ) ] b 0 =b bB

練習問題 6.

yf( B f 1 ( A ) ) xX[ xB f 1 ( A )f( x )=y ] xX[ xBx f 1 ( A )f( x )=y ] xX[ xBf( x )Af( x )=y ] yf( B )yA yf( B )A

練習問題 7.

コード(Emacs)

HTML5

<div id="graph0"></div>

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.2.6/d3.min.js" integrity="sha256-5idA201uSwHAROtCops7codXJ0vja+6wbBrZdQ6ETQc=" crossorigin="anonymous"></script>
<script src="sample7.js"></script>

JavaScript

let div_graph = document.querySelector('#graph0'),
    svg,
    width = 600,
    height = 600,
    padding = 50;

let xscale = d3.scaleLinear()
    .domain([-2, 2])
    .range([padding, width - padding]);
let yscale = d3.scaleLinear()
    .domain([-10, 10])
    .range([600 - padding, padding]);
let xaxis = d3.axisBottom().scale(xscale);
let yaxis = d3.axisLeft().scale(yscale);

let range = (start, end, step) => {
    let result = [];

    for (let i = start; i < end; i += step) {
        result.push(i);
    }
    return result;
};
let draw = (i) => {
    let points =
        range(-Math.PI / 2 + 0.1, Math.PI / 2 - 0.1, 0.001)
        .map((x) => [x, Math.tan(x)]);
    

    console.log(points);
    svg = d3.select('#graph0')
        .append('svg')
        .attr('width', width)
        .attr('height', height);

    svg.selectAll('circle')
        .data(points)
        .enter()
        .append('circle')
        .attr('cx', (d) => xscale(d[0]))
        .attr('cy', (d) => yscale(d[1]))
        .attr('r', 1)
        .attr('stroke', 'green');

    svg.append('g')
        .attr('transform', `translate(0, ${width / 2})`)
        .call(xaxis);
    svg.append('g')
        .attr('transform', `translate(${height / 2}, 0)`)
        .call(yaxis);
};

draw();

0 コメント:

コメントを投稿